Difference between revisions of "LPIC-1"

From LPI Wiki
Jump to: navigation, search
(Undo revision 2975 by GMatthewRice (talk))
(Redirected page to LPIC-1 Objectives V5.0)
 
(4 intermediate revisions by 2 users not shown)
Line 1: Line 1:
__FORCETOC__
+
#REDIRECT [[LPIC-1_Objectives_V5.0]]
==Introduction==
+
 
+
This is a required exam for LPIC-1 or LPI certification Level 1. It covers basic skills for the Linux professional that are common across all distributions of Linux.
+
 
+
This page covers the currently released objective for the LPIC-1 certification.
+
 
+
<br />
+
 
+
==Version Information==
+
 
+
These objectives are version 3.5.0.
+
 
+
This is also a [[LPIC1AndLPIC2SummaryVersion2To3|summary and detailed information]] on the changes from version 2.x to 3.0 of the objectives.
+
 
+
The draft [[LPIC-1 Objectives V4|version 4.0 objectives]] can be found [[LPIC-1 Objectives V4|here]].
+
 
+
<br />
+
 
+
==Exams==
+
 
+
In order to be certified [[LPIC-1 Objectives V3|LPIC-1]], the candidate must pass both the [[LPIC-1 Objectives V3#Objectives: Exam 101|101]] and [[LPIC-1 Objectives V3#Objectives: Exam 102|102]] exams.
+
 
+
* [[LPIC-1 Objectives V3#Objectives: Exam 101|101]]
+
* [[LPIC-1 Objectives V3#Objectives: Exam 102|102]]
+
 
+
==Addenda==
+
 
+
===''Clarification Addendum (Oct 1st, 2012)''===
+
 
+
* repost of previous clarification.
+
* added TZ env variable to 107.3 partial file list.
+
* added .bash_history to 103.1 key terms list.
+
 
+
===''Version Upgrade Addendum (Jul 2st, 2012)''===
+
 
+
* updated to version 3.5.0.
+
* added explicit coverage at the basic configuration level of GRUB 2 to 102.2 key terms list.
+
* added explicit coverage of the ext4 filesystem to 104.1 key terms list.
+
* included basic feature knowledge of systemd and Upstart in 101.3 key terms list.
+
* included basic feature knowledge of IPv6 in 109.1 key terms list.
+
* included basic feature knowledge of LVM in 102.1 key terms list.
+
* removed coverage of LILO from 102.2.
+
 
+
===''Clarification Addendum (Oct 1st, 2011)''===
+
 
+
* added explicit mention of GPG key revocation to 110.3 key terms list.
+
 
+
===''Clarification Addendum (Apr 1st, 2009)''===
+
 
+
* dropped X Font Server coverage to awareness level from 106.1 key terms list.
+
 
+
===''Clarification Addendum (Jan 1st, 2009)''===
+
 
+
* added TZ env variable to 107.3 partial file list.
+
* added .bash_history to 103.1 key terms list.
+
 
+
<br />
+
 
+
==Translations of Objectives==
+
 
+
The following translations of the objectives are available on this wiki:
+
 
+
* [[LPIC-1 Objectives V3(Catalan)|Catalan]] (currently 101 only).
+
* [[LPIC-1 Objectives|English]].
+
* [[LPIC-1 Objectives V3(FR)|French]].
+
* [http://www.lpice.eu/de/lpi-zertifizierungsinhalte.html German].
+
* [[LPIC-1 Objectives V3(Greek)|Greek]].
+
* [[LPIC-1 Objectives V3(PT-PT)|Portuguese(Portugal)]].
+
* [[LPIC-1 Objectives V3(RU)|Russian]].
+
* [[LPIC-1 Objectives V3(ES)|Spanish]].
+
* [[LPIC-1 Objectives V3(SW)|Swahili]].
+
* [[LPIC-1 Objectives V3(SV)|Swedish]].
+
* [[LPIC-1 Objectives V3(TR)|Turkish]].
+
 
+
<br />
+
 
+
==Objectives: Exam 101==
+
 
+
===''Topic 101: System Architecture''===
+
 
+
====<span style="color:navy">101.1 Determine and configure hardware settings</span>====
+
 
+
{|
+
| style="background:#dadada" |
+
 
+
'''Weight'''
+
 
+
| style="background:#eaeaea" | 2
+
|-
+
| style="background:#dadada; padding-right:1em" |
+
 
+
'''Description'''
+
 
+
| style="background:#eaeaea" |
+
 
+
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
+
 
+
<br />
+
 
+
====<span style="color:navy">101.2 Boot the system</span>====
+
 
+
{|
+
| style="background:#dadada" |
+
 
+
'''Weight'''
+
 
+
| style="background:#eaeaea" | 3
+
|-
+
| style="background:#dadada; padding-right:1em" |
+
 
+
'''Description'''
+
 
+
 
+
| style="background:#eaeaea" |
+
 
+
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
+
 
+
<br />
+
 
+
====<span style="color:navy">101.3 Change runlevels and shutdown or reboot system </span>====
+
 
+
{|
+
| style="background:#dadada" |
+
 
+
'''Weight'''
+
 
+
| style="background:#eaeaea" | 3
+
|-
+
| style="background:#dadada; padding-right:1em" |
+
 
+
'''Description'''
+
 
+
| style="background:#eaeaea" |
+
 
+
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
+
 
+
<br />
+
 
+
===''Topic 102: Linux Installation and Package Management''===
+
 
+
====<span style="color:navy">102.1 Design hard disk layout</span>====
+
 
+
{|
+
| style="background:#dadada" |
+
 
+
'''Weight'''
+
 
+
| style="background:#eaeaea" | 2
+
|-
+
| style="background:#dadada; padding-right:1em" |
+
 
+
'''Description'''
+
 
+
| style="background:#eaeaea" |
+
 
+
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.
+
 
+
<br />
+
 
+
====<span style="color:navy">102.2 Install a boot manager</span>====
+
 
+
{|
+
| style="background:#dadada" |
+
 
+
'''Weight'''
+
 
+
| style="background:#eaeaea" | 2
+
|-
+
| style="background:#dadada; padding-right:1em" |
+
 
+
'''Description'''
+
 
+
| style="background:#eaeaea" |
+
 
+
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.
+
 
+
<br />
+
 
+
====<span style="color:navy">102.3 Manage shared libraries</span>====
+
 
+
{|
+
| style="background:#dadada" |
+
 
+
'''Weight'''
+
 
+
| style="background:#eaeaea" | 1
+
|-
+
| style="background:#dadada; padding-right:1em" |
+
 
+
'''Description'''
+
 
+
| style="background:#eaeaea" |
+
 
+
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
+
 
+
<br />
+
 
+
====<span style="color:navy">102.4 Use Debian package management</span>====
+
 
+
{|
+
| style="background:#dadada" |
+
 
+
'''Weight'''
+
 
+
| style="background:#eaeaea" | 3
+
|-
+
| style="background:#dadada; padding-right:1em" |
+
 
+
'''Description'''
+
 
+
| style="background:#eaeaea" |
+
 
+
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
+
 
+
<br />
+
====<span style="color:navy">102.5 Use RPM and YUM package management</span>====
+
 
+
{|
+
| style="background:#dadada" |
+
 
+
'''Weight'''
+
 
+
| style="background:#eaeaea" | 3
+
|-
+
| style="background:#dadada; padding-right:1em" |
+
 
+
'''Description'''
+
 
+
| style="background:#eaeaea" |
+
 
+
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
+
 
+
<br />
+
 
+
===''Topic 103: GNU and Unix Commands''===
+
 
+
====<span style="color:navy">103.1 Work on the command line</span>====
+
 
+
{|
+
| style="background:#dadada" |
+
 
+
'''Weight'''
+
 
+
| style="background:#eaeaea" | 4
+
|-
+
| style="background:#dadada; padding-right:1em" |
+
 
+
'''Description'''
+
 
+
| style="background:#eaeaea" |
+
 
+
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
+
 
+
<br />
+
 
+
====<span style="color:navy">103.2 Process text streams using filters</span>====
+
 
+
{|
+
| style="background:#dadada" |
+
 
+
'''Weight'''
+
 
+
| style="background:#eaeaea" | 3
+
|-
+
| style="background:#dadada; padding-right:1em" |
+
 
+
'''Description'''
+
 
+
| style="background:#eaeaea" |
+
 
+
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
+
 
+
<br />
+
 
+
====<span style="color:navy">103.3 Perform basic file management</span>====
+
 
+
{|
+
| style="background:#dadada" |
+
 
+
'''Weight'''
+
 
+
| style="background:#eaeaea" | 4
+
|-
+
| style="background:#dadada; padding-right:1em" |
+
 
+
'''Description'''
+
 
+
| style="background:#eaeaea" |
+
 
+
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
+
 
+
<br />
+
 
+
====<span style="color:navy">103.4 Use streams, pipes and redirects</span>====
+
 
+
{|
+
| style="background:#dadada" |
+
 
+
'''Weight'''
+
 
+
| style="background:#eaeaea" | 4
+
|-
+
| style="background:#dadada; padding-right:1em" |
+
 
+
'''Description'''
+
 
+
| style="background:#eaeaea" |
+
 
+
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
+
 
+
<br />
+
====<span style="color:navy">103.5 Create, monitor and kill processes</span>====
+
 
+
{|
+
| style="background:#dadada" |
+
 
+
'''Weight'''
+
 
+
| style="background:#eaeaea" | 4
+
|-
+
| style="background:#dadada; padding-right:1em" |
+
 
+
'''Description'''
+
 
+
| style="background:#eaeaea" |
+
 
+
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
+
 
+
<br />
+
 
+
====<span style="color:navy">103.6 Modify process execution priorities</span>====
+
 
+
{|
+
| style="background:#dadada" |
+
 
+
'''Weight'''
+
 
+
| style="background:#eaeaea" | 2
+
|-
+
| style="background:#dadada; padding-right:1em" |
+
 
+
'''Description'''
+
 
+
| style="background:#eaeaea" |
+
 
+
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
+
 
+
<br />
+
 
+
====<span style="color:navy">103.7 Search text files using regular expressions</span>====
+
 
+
{|
+
| style="background:#dadada" |
+
 
+
'''Weight'''
+
 
+
| style="background:#eaeaea" | 2
+
|-
+
| style="background:#dadada; padding-right:1em" |
+
 
+
'''Description'''
+
 
+
| style="background:#eaeaea" |
+
 
+
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)
+
 
+
<br />
+
 
+
====<span style="color:navy">103.8 Perform basic file editing operations using vi</span>====
+
 
+
{|
+
| style="background:#dadada" |
+
 
+
'''Weight'''
+
 
+
| style="background:#eaeaea" | 3
+
|-
+
| style="background:#dadada; padding-right:1em" |
+
 
+
'''Description'''
+
 
+
| style="background:#eaeaea" |
+
 
+
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!
+
 
+
<br />
+
 
+
===''Topic 104: Devices, Linux Filesystems, Filesystem Hierarchy Standard''===
+
 
+
====<span style="color:navy">104.1 Create partitions and filesystems</span>====
+
 
+
{|
+
| style="background:#dadada" |
+
 
+
'''Weight'''
+
 
+
| style="background:#eaeaea" | 2
+
|-
+
| style="background:#dadada; padding-right:1em" |
+
 
+
'''Description'''
+
 
+
| style="background:#eaeaea" |
+
 
+
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
+
 
+
<br />
+
 
+
====<span style="color:navy">104.2 Maintain the integrity of filesystems</span>====
+
 
+
{|
+
| style="background:#dadada" |
+
 
+
'''Weight'''
+
 
+
| style="background:#eaeaea" | 2
+
|-
+
| style="background:#dadada; padding-right:1em" |
+
 
+
'''Description'''
+
 
+
| style="background:#eaeaea" |
+
 
+
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)
+
 
+
<br />
+
====<span style="color:navy">104.3 Control mounting and unmounting of filesystems</span>====
+
 
+
{|
+
| style="background:#dadada" |
+
 
+
'''Weight'''
+
 
+
| style="background:#eaeaea" | 3
+
|-
+
| style="background:#dadada; padding-right:1em" |
+
 
+
'''Description'''
+
 
+
| style="background:#eaeaea" |
+
 
+
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
+
 
+
<br />
+
 
+
====<span style="color:navy">104.4 Manage disk quotas</span>====
+
 
+
{|
+
| style="background:#dadada" |
+
 
+
'''Weight'''
+
 
+
| style="background:#eaeaea" | 1
+
|-
+
| style="background:#dadada; padding-right:1em" |
+
 
+
'''Description'''
+
 
+
| style="background:#eaeaea" |
+
 
+
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
+
 
+
<br />
+
 
+
====<span style="color:navy">104.5 Manage file permissions and ownership</span>====
+
 
+
{|
+
| style="background:#dadada" |
+
 
+
'''Weight'''
+
 
+
| style="background:#eaeaea" | 3
+
|-
+
| style="background:#dadada; padding-right:1em" |
+
 
+
'''Description'''
+
 
+
| style="background:#eaeaea" |
+
 
+
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
+
 
+
<br />
+
====<span style="color:navy">104.6 Create and change hard and symbolic links</span>====
+
 
+
{|
+
| style="background:#dadada" |
+
 
+
'''Weight'''
+
 
+
| style="background:#eaeaea" | 2
+
|-
+
| style="background:#dadada; padding-right:1em" |
+
 
+
'''Description'''
+
 
+
| style="background:#eaeaea" |
+
 
+
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
+
 
+
<br />
+
 
+
====<span style="color:navy">104.7 Find system files and place files in the correct location</span>====
+
 
+
{|
+
| style="background:#dadada" |
+
 
+
'''Weight'''
+
 
+
| style="background:#eaeaea" | 2
+
|-
+
| style="background:#dadada; padding-right:1em" |
+
 
+
'''Description'''
+
 
+
| style="background:#eaeaea" |
+
 
+
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
+
 
+
<br />
+
 
+
==Objectives: Exam 102==
+
 
+
===''Topic 105: Shells, Scripting and Data Management''===
+
 
+
====<span style="color:navy">105.1 Customize and use the shell environment</span>====
+
 
+
{|
+
| style="background:#dadada" |
+
 
+
'''Weight'''
+
 
+
| style="background:#eaeaea" | 4
+
|-
+
| style="background:#dadada; padding-right:1em" |
+
 
+
'''Description'''
+
 
+
| style="background:#eaeaea" |
+
 
+
Candidates should be able to customize shell environments to meet users' needs. Candidates should be able to modify global and user profiles.
+
 
+
|}
+
 
+
'''Key Knowledge Areas:'''
+
 
+
* Set environment variables (e.g. PATH) at login or when spawning a new shell.
+
* Write BASH functions for frequently used sequences of commands.
+
* Maintain skeleton directories for new user accounts.
+
* Set command search path with the proper directory.
+
 
+
'''The following is a partial list of the used files, terms and utilities:'''
+
 
+
* /etc/profile
+
* env
+
* export
+
* set
+
* unset
+
* ~/.bash_profile
+
* ~/.bash_login
+
* ~/.profile
+
* ~/.bashrc
+
* ~/.bash_logout
+
* function
+
* alias
+
* lists
+
 
+
<br />
+
 
+
====<span style="color:navy">105.2 Customize or write simple scripts</span>====
+
 
+
{|
+
| style="background:#dadada" |
+
 
+
'''Weight'''
+
 
+
| style="background:#eaeaea" | 4
+
|-
+
| style="background:#dadada; padding-right:1em" |
+
 
+
'''Description'''
+
 
+
| style="background:#eaeaea" |
+
 
+
Candidates should be able to customize existing scripts, or write simple new BASH scripts.
+
 
+
|}
+
 
+
'''Key Knowledge Areas:'''
+
 
+
* Use standard sh syntax (loops, tests).
+
* Use command substitution.
+
* Test return values for success or failure or other information provided by a command.
+
* Perform conditional mailing to the superuser.
+
* Correctly select the script interpreter through the shebang (#!) line.
+
* Manage the location, ownership, execution and suid-rights of scripts.
+
 
+
'''The following is a partial list of the used files, terms and utilities:'''
+
 
+
* for
+
* while
+
* test
+
* if
+
* read
+
* seq
+
 
+
<br />
+
 
+
====<span style="color:navy">105.3 SQL data management</span>====
+
 
+
{|
+
| style="background:#dadada" |
+
 
+
'''Weight'''
+
 
+
| style="background:#eaeaea" | 2
+
|-
+
| style="background:#dadada; padding-right:1em" |
+
 
+
'''Description'''
+
 
+
| style="background:#eaeaea" |
+
 
+
Candidates should be able to query databases and manipulate data using basic SQL commands. This objective includes performing queries involving joining of 2 tables and/or subselects.
+
 
+
|}
+
 
+
'''Key Knowledge Areas:'''
+
 
+
* Use of basic SQL commands.
+
* Perform basic data manipulation.
+
 
+
'''The following is a partial list of the used files, terms and utilities:'''
+
 
+
* insert
+
* update
+
* select
+
* delete
+
* from
+
* where
+
* group by
+
* order by
+
* join
+
 
+
<br />
+
 
+
===''Topic 106: User Interfaces and Desktops''===
+
 
+
====<span style="color:navy">106.1 Install and configure X11</span>====
+
 
+
{|
+
| style="background:#dadada" |
+
 
+
'''Weight'''
+
 
+
| style="background:#eaeaea" | 2
+
|-
+
| style="background:#dadada; padding-right:1em" |
+
 
+
'''Description'''
+
 
+
| style="background:#eaeaea" |
+
 
+
Candidates should be able to install and configure X11.
+
 
+
|}
+
 
+
'''Key Knowledge Areas:'''
+
 
+
* Verify that the video card and monitor are supported by an X server.
+
* Awareness of the X font server.
+
* Basic understanding and knowledge of the X Window configuration file.
+
 
+
'''The following is a partial list of the used files, terms and utilities:'''
+
 
+
* /etc/X11/xorg.conf
+
* xhost
+
* DISPLAY
+
* xwininfo
+
* xdpyinfo
+
* X
+
 
+
<br />
+
 
+
====<span style="color:navy">106.2 Setup a display manager</span>====
+
 
+
{|
+
| style="background:#dadada" |
+
 
+
'''Weight'''
+
 
+
| style="background:#eaeaea" | 2
+
|-
+
| style="background:#dadada; padding-right:1em" |
+
 
+
'''Description'''
+
 
+
| style="background:#eaeaea" |
+
 
+
Candidates should be able to setup and customize a display manager. This objective covers the display managers XDM (X Display Manger), GDM (Gnome Display Manager) and KDM (KDE Display Manager).
+
 
+
|}
+
 
+
'''Key Knowledge Areas:'''
+
 
+
* Turn the display manager on or off.
+
* Change the display manager greeting.
+
* Change default color depth for the display manager.
+
* Configure display managers for use by X-stations.
+
 
+
'''The following is a partial list of the used files, terms and utilities:'''
+
 
+
* /etc/inittab
+
* xdm configuration files
+
* kdm configuration files
+
* gdm configuration files
+
 
+
<br />
+
 
+
====<span style="color:navy">106.3 Accessibility</span>====
+
 
+
{|
+
| style="background:#dadada" |
+
 
+
'''Weight'''
+
 
+
| style="background:#eaeaea" | 1
+
|-
+
| style="background:#dadada; padding-right:1em" |
+
 
+
'''Description'''
+
 
+
| style="background:#eaeaea" |
+
 
+
Demonstrate knowledge and awareness of accessibility technologies.
+
 
+
|}
+
 
+
'''Key Knowledge Areas:'''
+
 
+
* Keyboard Accessibility Settings (AccessX).
+
* Visual Settings and Themes.
+
* Assistive Technology (ATs).
+
 
+
'''The following is a partial list of the used files, terms and utilities:'''
+
 
+
* Sticky/Repeat Keys.
+
* Slow/Bounce/Toggle Keys.
+
* Mouse Keys.
+
* High Contrast/Large Print Desktop Themes.
+
* Screen Reader.
+
* Braille Display.
+
* Screen Magnifier.
+
* On-Screen Keyboard.
+
* Gestures (used at login, for example gdm).
+
* Orca.
+
* GOK.
+
* emacspeak.
+
 
+
<br />
+
 
+
===''Topic 107: Administrative Tasks''===
+
 
+
====<span style="color:navy">107.1 Manage user and group accounts and related system files</span>====
+
 
+
{|
+
| style="background:#dadada" |
+
 
+
'''Weight'''
+
 
+
| style="background:#eaeaea" | 5
+
|-
+
| style="background:#dadada; padding-right:1em" |
+
 
+
'''Description'''
+
 
+
| style="background:#eaeaea" |
+
 
+
Candidates should be able to add, remove, suspend and change user accounts.
+
 
+
|}
+
 
+
'''Key Knowledge Areas:'''
+
 
+
* Add, modify and remove users and groups.
+
* Manage user/group info in password/group databases.
+
* Create and manage special purpose and limited accounts.
+
 
+
'''The following is a partial list of the used files, terms and utilities:'''
+
 
+
* /etc/passwd
+
* /etc/shadow
+
* /etc/group
+
* /etc/skel
+
* chage
+
* groupadd
+
* groupdel
+
* groupmod
+
* passwd
+
* useradd
+
* userdel
+
* usermod
+
 
+
<br />
+
 
+
====<span style="color:navy">107.2 Automate system administration tasks by scheduling jobs</span>====
+
 
+
{|
+
| style="background:#dadada" |
+
 
+
'''Weight'''
+
 
+
| style="background:#eaeaea" | 4
+
|-
+
| style="background:#dadada; padding-right:1em" |
+
 
+
'''Description'''
+
 
+
| style="background:#eaeaea" |
+
 
+
Candidates should be able to use cron or anacron to run jobs at regular intervals and to use at to run jobs at a specific time.
+
 
+
|}
+
 
+
'''Key Knowledge Areas:'''
+
 
+
* Manage cron and at jobs.
+
* Configure user access to cron and at services.
+
 
+
'''The following is a partial list of the used files, terms and utilities:'''
+
 
+
* /etc/cron.{d,daily,hourly,monthly,weekly}
+
* /etc/at.deny
+
* /etc/at.allow
+
* /etc/crontab
+
* /etc/cron.allow
+
* /etc/cron.deny
+
* /var/spool/cron/*
+
* crontab
+
* at
+
* atq
+
* atrm
+
 
+
<br />
+
 
+
====<span style="color:navy">107.3 Localisation and internationalisation</span>====
+
 
+
{|
+
| style="background:#dadada" |
+
 
+
'''Weight'''
+
 
+
 
+
| style="background:#eaeaea" | 3
+
|-
+
| style="background:#dadada; padding-right:1em" |
+
 
+
'''Description'''
+
 
+
| style="background:#eaeaea" |
+
 
+
Candidates should be able to localize a system in a different language than English. As well, an understanding of why LANG=C is useful when scripting.
+
 
+
|}
+
 
+
'''Key Knowledge Areas:'''
+
 
+
* Locale settings.
+
* Timezone settings.
+
+
'''The following is a partial list of the used files, terms and utilities:'''
+
 
+
* /etc/timezone
+
* /etc/localtime
+
* /usr/share/zoneinfo
+
* Environment variables:
+
** LC_*
+
** LC_ALL
+
** LANG
+
** TZ
+
* /usr/bin/locale
+
* tzselect
+
* tzconfig
+
* date
+
* iconv
+
* UTF-8
+
* ISO-8859
+
* ASCII
+
* Unicode
+
 
+
<br />
+
 
+
===''Topic 108: Essential System Services''===
+
 
+
====<span style="color:navy">108.1 Maintain system time</span>====
+
 
+
{|
+
| style="background:#dadada" |
+
 
+
'''Weight'''
+
 
+
| style="background:#eaeaea" | 3
+
|-
+
| style="background:#dadada; padding-right:1em" |
+
 
+
'''Description'''
+
 
+
| style="background:#eaeaea" |
+
 
+
Candidates should be able to properly maintain the system time and synchronize the clock via NTP.
+
 
+
|}
+
 
+
'''Key Knowledge Areas:'''
+
 
+
* Set the system date and time.
+
* Set the hardware clock to the correct time in UTC.
+
* Configure the correct timezone.
+
* Basic NTP configuration.
+
* Knowledge of using the pool.ntp.org service.
+
 
+
'''The following is a partial list of the used files, terms and utilities:'''
+
 
+
* /usr/share/zoneinfo
+
* /etc/timezone
+
* /etc/localtime
+
* /etc/ntp.conf
+
* date
+
* hwclock
+
* ntpd
+
* ntpdate
+
* pool.ntp.org
+
 
+
<br />
+
 
+
====<span style="color:navy">108.2 System logging</span>====
+
 
+
{|
+
| style="background:#dadada" |
+
 
+
'''Weight'''
+
 
+
| style="background:#eaeaea" | 2
+
|-
+
| style="background:#dadada; padding-right:1em" |
+
 
+
'''Description'''
+
 
+
| style="background:#eaeaea" |
+
 
+
Candidates should be able to configure the syslog daemon. This objective also includes configuring the logging daemon to send log output to a central log server or accept log output as a central log server.
+
 
+
|}
+
 
+
'''Key Knowledge Areas:'''
+
 
+
* syslog configuration files.
+
* syslog.
+
* standard facilities, priorities and actions.
+
 
+
'''The following is a partial list of the used files, terms and utilities:'''
+
 
+
* syslog.conf
+
* syslogd
+
* klogd
+
* logger
+
 
+
<br />
+
====<span style="color:navy">108.3 Mail Transfer Agent (MTA) basics</span>====
+
 
+
{|
+
| style="background:#dadada" |
+
 
+
'''Weight'''
+
 
+
| style="background:#eaeaea" | 3
+
|-
+
| style="background:#dadada; padding-right:1em" |
+
 
+
'''Description'''
+
 
+
| style="background:#eaeaea" |
+
 
+
Candidates should be aware of the commonly available MTA programs and be able to perform basic forward and alias configuration on a client host. Other configuration files are not covered.
+
 
+
|}
+
 
+
'''Key Knowledge Areas:'''
+
 
+
* Create e-mail aliases.
+
* Configure e-mail forwarding.
+
* Knowledge of commonly available MTA programs (postfix, sendmail, qmail, exim) (no configuration)
+
 
+
'''The following is a partial list of the used files, terms and utilities:'''
+
 
+
* ~/.forward
+
* sendmail emulation layer commands
+
* newaliases
+
* mail
+
* mailq
+
* postfix
+
* sendmail
+
* exim
+
* qmail
+
 
+
<br />
+
 
+
====<span style="color:navy">108.4 Manage printers and printing</span>====
+
 
+
{|
+
| style="background:#dadada" |
+
 
+
'''Weight'''
+
 
+
| style="background:#eaeaea" | 2
+
|-
+
| style="background:#dadada; padding-right:1em" |
+
 
+
'''Description'''
+
 
+
| style="background:#eaeaea" |
+
 
+
Candidates should be able to manage print queues and user print jobs using CUPS and the LPD compatibility interface.
+
 
+
|}
+
 
+
'''Key Knowledge Areas:'''
+
 
+
* Basic CUPS configuration (for local and remote printers).
+
* Manage user print queues.
+
* Troubleshoot general printing problems.
+
* Add and remove jobs from configured printer queues.
+
 
+
'''The following is a partial list of the used files, terms and utilities:'''
+
 
+
* CUPS configuration files, tools and utilities
+
* /etc/cups
+
* lpd legacy interface (lpr, lprm, lpq)
+
 
+
<br />
+
 
+
===''Topic 109: Networking Fundamentals''===
+
 
+
====<span style="color:navy">109.1 Fundamentals of internet protocols</span>====
+
 
+
{|
+
| style="background:#dadada" |
+
 
+
'''Weight'''
+
 
+
| style="background:#eaeaea" | 4
+
|-
+
| style="background:#dadada; padding-right:1em" |
+
 
+
'''Description'''
+
 
+
| style="background:#eaeaea" |
+
 
+
Candidates should demonstrate a proper understanding of TCP/IP network fundamentals.
+
 
+
|}
+
 
+
'''Key Knowledge Areas:'''
+
 
+
* Demonstrate an understanding network masks.
+
* Knowledge of the differences between private and public "dotted quad" IP-Addresses.
+
* Setting a default route.
+
* Knowledge about common TCP and UDP ports (20, 21, 22, 23, 25, 53, 80, 110, 119, 139, 143, 161, 443, 465, 993, 995).
+
* Knowledge about the differences and major features of UDP, TCP and ICMP.
+
* Knowledge of the major differences between IPv4 and IPv6.
+
* Knowledge of the basic features of IPv6.
+
 
+
'''The following is a partial list of the used files, terms and utilities:'''
+
 
+
* /etc/services
+
* ftp
+
* telnet
+
* host
+
* ping
+
* dig
+
* traceroute
+
* tracepath
+
 
+
<br />
+
 
+
====<span style="color:navy">109.2 Basic network configuration</span>====
+
 
+
{|
+
| style="background:#dadada" |
+
 
+
'''Weight'''
+
 
+
| style="background:#eaeaea" | 4
+
|-
+
| style="background:#dadada; padding-right:1em" |
+
 
+
'''Description'''
+
 
+
| style="background:#eaeaea" |
+
 
+
Candidates should be able to view, change and verify configuration settings on client hosts.
+
 
+
|}
+
 
+
'''Key Knowledge Areas:'''
+
 
+
* Manually and automatically configure network interfaces.
+
* Basic TCP/IP host configuration.
+
 
+
'''The following is a partial list of the used files, terms and utilities:'''
+
 
+
* /etc/hostname
+
* /etc/hosts
+
* /etc/resolv.conf
+
* /etc/nsswitch.conf
+
* ifconfig
+
* ifup
+
* ifdown
+
* route
+
* ping
+
 
+
<br />
+
 
+
====<span style="color:navy">109.3 Basic network troubleshooting</span>====
+
 
+
{|
+
| style="background:#dadada" |
+
 
+
'''Weight'''
+
 
+
| style="background:#eaeaea" | 4
+
|-
+
| style="background:#dadada; padding-right:1em" |
+
 
+
'''Description'''
+
 
+
| style="background:#eaeaea" |
+
 
+
Candidates should be able to troubleshoot networking issues on client hosts.
+
 
+
|}
+
 
+
'''Key Knowledge Areas:'''
+
 
+
* Manually and automatically configure network interfaces and routing tables to include adding, starting, stopping, restarting, deleting or reconfiguring network interfaces.
+
* Change, view, or configure the routing table and correct an improperly set default route manually.
+
* Debug problems associated with the network configuration.
+
 
+
'''The following is a partial list of the used files, terms and utilities:'''
+
 
+
* ifconfig
+
* ifup
+
* ifdown
+
* route
+
* host
+
* hostname
+
* dig
+
* netstat
+
* ping
+
* traceroute
+
 
+
<br />
+
 
+
====<span style="color:navy">109.4 Configure client side DNS</span>====
+
 
+
{|
+
| style="background:#dadada" |
+
 
+
'''Weight'''
+
 
+
| style="background:#eaeaea" | 2
+
|-
+
| style="background:#dadada; padding-right:1em" |
+
 
+
'''Description'''
+
 
+
| style="background:#eaeaea" |
+
 
+
Candidates should be able to configure DNS on a client host.
+
 
+
|}
+
 
+
'''Key Knowledge Areas:'''
+
 
+
* Demonstrate the use of DNS on the local system.
+
* Modify the order in which name resolution is done.
+
 
+
'''The following is a partial list of the used files, terms and utilities:'''
+
 
+
* /etc/hosts
+
* /etc/resolv.conf
+
* /etc/nsswitch.conf
+
 
+
<br />
+
 
+
===''Topic 110: Security''===
+
 
+
====<span style="color:navy">110.1 Perform security administration tasks</span>====
+
 
+
{|
+
| style="background:#dadada" |
+
 
+
'''Weight'''
+
 
+
| style="background:#eaeaea" | 3
+
|-
+
| style="background:#dadada; padding-right:1em" |
+
 
+
'''Description'''
+
 
+
| style="background:#eaeaea" |
+
 
+
Candidates should know how to review system configuration to ensure host security in accordance with local security policies.
+
 
+
|}
+
 
+
'''Key Knowledge Areas:'''
+
 
+
* Audit a system to find files with the suid/sgid bit set.
+
* Set or change user passwords and password aging information.
+
* Being able to use nmap and netstat to discover open ports on a system.
+
* Set up limits on user logins, processes and memory usage.
+
* Basic sudo configuration and usage.
+
 
+
'''The following is a partial list of the used files, terms and utilities:'''
+
 
+
* find
+
* passwd
+
* lsof
+
* nmap
+
* chage
+
* netstat
+
* sudo
+
* /etc/sudoers
+
* su
+
* usermod
+
* ulimit
+
 
+
<br />
+
 
+
====<span style="color:navy">110.2 Setup host security</span>====
+
 
+
{|
+
| style="background:#dadada" |
+
 
+
'''Weight'''
+
 
+
| style="background:#eaeaea" | 3
+
|-
+
| style="background:#dadada; padding-right:1em" |
+
 
+
'''Description'''
+
 
+
| style="background:#eaeaea" |
+
 
+
Candidates should know how to set up a basic level of host security.
+
 
+
|}
+
 
+
'''Key Knowledge Areas:'''
+
 
+
* Awareness of shadow passwords and how they work.
+
* Turn off network services not in use.
+
* Understand the role of TCP wrappers.
+
 
+
'''The following is a partial list of the used files, terms and utilities:'''
+
 
+
* /etc/nologin
+
* /etc/passwd
+
* /etc/shadow
+
* /etc/xinetd.d/*
+
* /etc/xinetd.conf
+
* /etc/inetd.d/*
+
* /etc/inetd.conf
+
* /etc/inittab
+
* /etc/init.d/*
+
* /etc/hosts.allow
+
* /etc/hosts.deny
+
 
+
<br />
+
 
+
====<span style="color:navy">110.3 Securing data with encryption</span>====
+
 
+
{|
+
| style="background:#dadada" |
+
 
+
'''Weight'''
+
 
+
| style="background:#eaeaea" | 3
+
|-
+
| style="background:#dadada; padding-right:1em" |
+
 
+
'''Description'''
+
 
+
| style="background:#eaeaea" |
+
 
+
The candidate should be able to use public key techniques to secure data and communication.
+
+
|}
+
 
+
'''Key Knowledge Areas:'''
+
 
+
* Perform basic OpenSSH 2 client configuration and usage.
+
* Understand the role of OpenSSH 2 server host keys.
+
* Perform basic GnuPG configuration, usage and revocation.
+
* Understand SSH port tunnels (including X11 tunnels).
+
 
+
'''The following is a partial list of the used files, terms and utilities:'''
+
 
+
* ssh
+
* ssh-keygen
+
* ssh-agent
+
* ssh-add
+
* ~/.ssh/id_rsa and id_rsa.pub
+
* ~/.ssh/id_dsa and id_dsa.pub
+
* /etc/ssh/ssh_host_rsa_key and ssh_host_rsa_key.pub
+
* /etc/ssh/ssh_host_dsa_key and ssh_host_dsa_key.pub
+
* ~/.ssh/authorized_keys
+
* /etc/ssh_known_hosts
+
* gpg
+
* ~/.gnupg/*
+
 
+
 
+
==Future Change Considerations==
+
 
+
Future changes to the objective will/may include:
+
 
+
* update syslog to include (or be replaced by) rsyslog and/or syslog-ng
+
* add knowledge of GNU Screen (seems more usefull than nohup). Tmux is another option
+
* include monitoring commands: who, w, last, lastb, lastlog
+
* update 107.2 to include anacron
+
* include another monitoring command : watch
+
* LightDM as alternative to xdm (and others)
+
* logrotate et al
+

Latest revision as of 10:32, 27 May 2019