LPIC-1 101 v3 5
Contents
- 1 Introduction
- 2 Objectives: Exam 101
- 2.1 Topic 101: System Architecture
- 2.2 Topic 102: Linux Installation and Package Management
- 2.3 Topic 103: GNU and Unix Commands
- 2.3.1 103.1 Work on the command line
- 2.3.2 103.2 Process text streams using filters
- 2.3.3 103.3 Perform basic file management
- 2.3.4 103.4 Use streams, pipes and redirects
- 2.3.5 103.5 Create, monitor and kill processes
- 2.3.6 103.6 Modify process execution priorities
- 2.3.7 103.7 Search text files using regular expressions
- 2.3.8 103.8 Perform basic file editing operations using vi
- 2.4 Topic 104: Devices, Linux Filesystems, Filesystem Hierarchy Standard
- 2.4.1 104.1 Create partitions and filesystems
- 2.4.2 104.2 Maintain the integrity of filesystems
- 2.4.3 104.3 Control mounting and unmounting of filesystems
- 2.4.4 104.4 Manage disk quotas
- 2.4.5 104.5 Manage file permissions and ownership
- 2.4.6 104.6 Create and change hard and symbolic links
- 2.4.7 104.7 Find system files and place files in the correct location
Introduction
This exam is part of the LPIC-1 program.
Objectives: Exam 101
Topic 101: System Architecture
101.1 Determine and configure hardware settings
Weight |
2 |
Description |
Candidates should be able to determine and configure fundamental system hardware. |
Key Knowledge Areas:
- Enable and disable integrated peripherals.
- Configure systems with or without external peripherals such as keyboards.
- Differentiate between the various types of mass storage devices.
- Set the correct hardware ID for different devices, especially the boot device.
- Know the differences between coldplug and hotplug devices.
- Determine hardware resources for devices.
- Tools and utilities to list various hardware information (e.g. lsusb, lspci, etc.).
- Tools and utilities to manipulate USB devices.
- Conceptual understanding of sysfs, udev, hald, dbus.
The following is a partial list of the used files, terms and utilities:
- /sys
- /proc
- /dev
- modprobe
- lsmod
- lspci
- lsusb
101.2 Boot the system
Weight |
3 |
Description
|
Candidates should be able to guide the system through the booting process. |
Key Knowledge Areas:
- Provide common commands to the boot loader and options to the kernel at boot time.
- Demonstrate knowledge of the boot sequence from BIOS to boot completion.
- Check boot events in the log files.
The following is a partial list of the used files, terms and utilities:
- /var/log/messages
- dmesg
- BIOS
- bootloader
- kernel
- init
101.3 Change runlevels and shutdown or reboot system
Weight |
3 |
Description |
Candidates should be able to manage the runlevel of the system. This objective includes changing to single user mode, shutdown or rebooting the system. Candidates should be able to alert users before switching run level and properly terminate processes. This objective also includes setting the default run level. It also includes basic feature knowledge of potential replacements to init. |
Key Knowledge Areas:
- Set the default run level.
- Change between run levels including single user mode.
- Shutdown and reboot from the command line.
- Alert users before switching run levels or other major system event.
- Properly terminate processes.
- Knowledge of basic features of systemd and Upstart.
The following is a partial list of the used files, terms and utilities:
- /etc/inittab
- shutdown
- init
- /etc/init.d
- telinit
Topic 102: Linux Installation and Package Management
102.1 Design hard disk layout
Weight |
2 |
Description |
Candidates should be able to design a disk partitioning scheme for a Linux system. |
Key Knowledge Areas:
- Allocate filesystems and swap space to separate partitions or disks.
- Tailor the design to the intended use of the system.
- Ensure the /boot partition conforms to the hardware architecture requirements for booting.
- Knowledge of basic features of LVM.
The following is a partial list of the used files, terms and utilities:
- / (root) filesystem.
- /var filesystem.
- /home filesystem.
- swap space.
- mount points.
- partitions.
102.2 Install a boot manager
Weight |
2 |
Description |
Candidates should be able to select, install and configure a boot manager. |
Key Knowledge Areas:
- Providing alternative boot locations and backup boot options.
- Install and configure a boot loader such as GRUB Legacy.
- Perform basic configuration changes for GRUB 2.
- Interact with the boot loader.
The following is a partial list of the used files, terms and utilities:
- /boot/grub/menu.lst, grub.cfg and other variations.
- grub-install.
- MBR.
- superblock.
Weight |
1 |
Description |
Candidates should be able to determine the shared libraries that executable programs depend on and install them when necessary. |
Key Knowledge Areas:
- Identify shared libraries.
- Identify the typical locations of system libraries.
- Load shared libraries.
The following is a partial list of the used files, terms and utilities:
- ldd
- ldconfig
- /etc/ld.so.conf
- LD_LIBRARY_PATH
102.4 Use Debian package management
Weight |
3 |
Description |
Candidates should be able to perform package management using the Debian package tools. |
Key Knowledge Areas:
- Install, upgrade and uninstall Debian binary packages.
- Find packages containing specific files or libraries which may or may not be installed.
- Obtain package information like version, content, dependencies, package integrity and installation status (whether or not the package is installed).
The following is a partial list of the used files, terms and utilities:
- /etc/apt/sources.list
- dpkg
- dpkg-reconfigure
- apt-get
- apt-cache
- aptitude
102.5 Use RPM and YUM package management
Weight |
3 |
Description |
Candidates should be able to perform package management using RPM and YUM tools. |
Key Knowledge Areas:
- Install, re-install, upgrade and remove packages using RPM and YUM.
- Obtain information on RPM packages such as version, status, dependencies, integrity and signatures.
- Determine what files a package provides, as well as find which package a specific file comes from.
The following is a partial list of the used files, terms and utilities:
- rpm
- rpm2cpio
- /etc/yum.conf
- /etc/yum.repos.d/
- yum
- yumdownloader
Topic 103: GNU and Unix Commands
103.1 Work on the command line
Weight |
4 |
Description |
Candidates should be able to interact with shells and commands using the command line. The objective assumes the bash shell. |
Key Knowledge Areas:
- Use single shell commands and one line command sequences to perform basic tasks on the command line.
- Use and modify the shell environment including defining, referencing and exporting environment variables.
- Use and edit command history.
- Invoke commands inside and outside the defined path.
The following is a partial list of the used files, terms and utilities:
- .
- bash
- echo
- env
- exec
- export
- pwd
- set
- unset
- man
- uname
- history
- .bash_history
103.2 Process text streams using filters
Weight |
3 |
Description |
Candidates should should be able to apply filters to text streams. |
Key Knowledge Areas:
- Send text files and output streams through text utility filters to modify the output using standard UNIX commands found in the GNU textutils package.
The following is a partial list of the used files, terms and utilities:
- cat
- cut
- expand
- fmt
- head
- od
- join
- nl
- paste
- pr
- sed
- sort
- split
- tail
- tr
- unexpand
- uniq
- wc
103.3 Perform basic file management
Weight |
4 |
Description |
Candidates should be able to use the basic Linux commands to manage files and directories. |
Key Knowledge Areas:
- Copy, move and remove files and directories individually.
- Copy multiple files and directories recursively.
- Remove files and directories recursively.
- Use simple and advanced wildcard specifications in commands.
- Using find to locate and act on files based on type, size, or time.
- Usage of tar, cpio and dd.
The following is a partial list of the used files, terms and utilities:
- cp
- find
- mkdir
- mv
- ls
- rm
- rmdir
- touch
- tar
- cpio
- dd
- file
- gzip
- gunzip
- bzip2
- file globbing
103.4 Use streams, pipes and redirects
Weight |
4 |
Description |
Candidates should be able to redirect streams and connect them in order to efficiently process textual data. Tasks include redirecting standard input, standard output and standard error, piping the output of one command to the input of another command, using the output of one command as arguments to another command and sending output to both stdout and a file. |
Key Knowledge Areas:
- Redirecting standard input, standard output and standard error.
- Pipe the output of one command to the input of another command.
- Use the output of one command as arguments to another command.
- Send output to both stdout and a file.
The following is a partial list of the used files, terms and utilities:
- tee
- xargs
103.5 Create, monitor and kill processes
Weight |
4 |
Description |
Candidates should be able to perform basic process management. |
Key Knowledge Areas:
- Run jobs in the foreground and background.
- Signal a program to continue running after logout.
- Monitor active processes.
- Select and sort processes for display.
- Send signals to processes.
The following is a partial list of the used files, terms and utilities:
- &
- bg
- fg
- jobs
- kill
- nohup
- ps
- top
- free
- uptime
- killall
103.6 Modify process execution priorities
Weight |
2 |
Description |
Candidates should should be able to manage process execution priorities. |
Key Knowledge Areas:
- Know the default priority of a job that is created.
- Run a program with higher or lower priority than the default.
- Change the priority of a running process.
The following is a partial list of the used files, terms and utilities:
- nice
- ps
- renice
- top
103.7 Search text files using regular expressions
Weight |
2 |
Description |
Candidates should be able to manipulate files and text data using regular expressions. This objective includes creating simple regular expressions containing several notational elements. It also includes using regular expression tools to perform searches through a filesystem or file content. |
Key Knowledge Areas:
- Create simple regular expressions containing several notational elements.
- Use regular expression tools to perform searches through a filesystem or file content.
The following is a partial list of the used files, terms and utilities:
- grep
- egrep
- fgrep
- sed
- regex(7)
103.8 Perform basic file editing operations using vi
Weight |
3 |
Description |
Candidates should be able to edit text files using vi. This objective includes vi navigation, basic vi modes, inserting, editing, deleting, copying and finding text. |
Key Knowledge Areas:
- Navigate a document using vi.
- Use basic vi modes.
- Insert, edit, delete, copy and find text.
The following is a partial list of the used files, terms and utilities:
- vi
- /, ?
- h,j,k,l
- i, o, a
- c, d, p, y, dd, yy
- ZZ, :w!, :q!, :e!
Topic 104: Devices, Linux Filesystems, Filesystem Hierarchy Standard
104.1 Create partitions and filesystems
Weight |
2 |
Description |
Candidates should be able to configure disk partitions and then create filesystems on media such as hard disks. This includes the handling of swap partitions. |
Key Knowledge Areas:
- Use various mkfs commands to set up partitions and create various filesystems such as:
- ext2/ext3/ext4
- xfs
- reiserfs v3
- vfat
The following is a partial list of the used files, terms and utilities:
- fdisk
- mkfs
- mkswap
104.2 Maintain the integrity of filesystems
Weight |
2 |
Description |
Candidates should be able to maintain a standard filesystem, as well as the extra data associated with a journaling filesystem. |
Key Knowledge Areas:
- Verify the integrity of filesystems.
- Monitor free space and inodes.
- Repair simple filesystem problems.
The following is a partial list of the used files, terms and utilities:
- du
- df
- fsck
- e2fsck
- mke2fs
- debugfs
- dumpe2fs
- tune2fs
- xfs tools (such as xfs_metadump and xfs_info)
104.3 Control mounting and unmounting of filesystems
Weight |
3 |
Description |
Candidates should be able to configure the mounting of a filesystem. |
Key Knowledge Areas:
- Manually mount and unmount filesystems.
- Configure filesystem mounting on bootup.
- Configure user mountable removable filesystems.
The following is a partial list of the used files, terms and utilities:
- /etc/fstab
- /media
- mount
- umount
104.4 Manage disk quotas
Weight |
1 |
Description |
Candidates should be able to manage disk quotas for users. |
Key Knowledge Areas:
- Set up a disk quota for a filesystem.
- Edit, check and generate user quota reports.
The following is a partial list of the used files, terms and utilities:
- quota
- edquota
- repquota
- quotaon
104.5 Manage file permissions and ownership
Weight |
3 |
Description |
Candidates should be able to control file access through the proper use of permissions and ownerships. |
Key Knowledge Areas:
- Manage access permissions on regular and special files as well as directories.
- Use access modes such as suid, sgid and the sticky bit to maintain security.
- Know how to change the file creation mask.
- Use the group field to grant file access to group members.
The following is a partial list of the used files, terms and utilities:
- chmod
- umask
- chown
- chgrp
104.6 Create and change hard and symbolic links
Weight |
2 |
Description |
Candidates should be able to create and manage hard and symbolic links to a file. |
Key Knowledge Areas:
- Create links.
- Identify hard and/or soft links.
- Copying versus linking files.
- Use links to support system administration tasks.
The following is a partial list of the used files, terms and utilities:
- ln
104.7 Find system files and place files in the correct location
Weight |
2 |
Description |
Candidates should be thoroughly familiar with the Filesystem Hierarchy Standard (FHS), including typical file locations and directory classifications. |
Key Knowledge Areas:
- Understand the correct locations of files under the FHS.
- Find files and commands on a Linux system.
- Know the location and purpose of important file and directories as defined in the FHS.
The following is a partial list of the used files, terms and utilities:
- find
- locate
- updatedb
- whereis
- which
- type
- /etc/updatedb.conf