LPI Level I
- GNU and Unix Commands
- Devices, Linux File Systems, Filesystem Hierarchy Standard
- Create partitions and filesystems
- fdisk - create disk partitions
- mkfs - create hard drive and other media filesystems
- partitioning scheme
- Maintain the integrity of filesystems
- df -h - monitor free space
- df . - determine partition of working dir
- df -i - monitor inodes
- du -ch disk utilization for directories with grand total
- fsck - verify the integrity of filesystems
- Control filesystem mounting and unmounting
- /etc/fstab
- mount and umount filesystems manually
- configure filesystem mounting on bootup
- configure user-mountable removable file systems
- Set and view disk quota
- quota - setup disk quota for a filesystem
- quotaon
- edquota - edit user quota
- repquota - generate reports of user quota
- Use file permissions to control access to files
- chmod - set permissions on files, directories, and special files
- requires understanding symbolic and numeric permissions
- suid
- sticky bit
- umask
- sgid (Set Group ID) - use the group field to grant file access to workgroups
- change default file creation mode
- Manage file ownership
- chown - change the owner or group for a file
- chgrp - control what group is assigned to new files created in a directory
- Create and change hard and symbolic links
- ln - hard links
- ln -s - symbolic links
- identify the hard links to a file
- copy files by following or not following symbolic links
- use hard and symbolic links for efficient system administration.
- Find system files and place files in the correct location
- Filesystem Hierarchy Standard
- find files
- locate files
- updatedb
- involves editing the file: /etc/updatedb.conf
- which commands
- whatis
- apropos
- Boot, Initialization, Shutdown, Run Levels
- Boot the system
- booting process
- give options to the kernel at boot time
- dmesg - check the events in the log files
- /var/log/messages
- /etc/lilo.conf
- /etc/conf.modules
- /etc/modules.conf
- Change runlevels and shutdown or reboot system
- securely change the runlevel of the system
- specifically to single user mode
- shutdown - halt or reboot
- make sure to alert users beforehand
- properly terminate processes
- init
- /etc/inittab - predefined runlevels
- Documentation
- Use and Manage Local System Documentation
- use and administer the man facility
- use the material in /usr/doc/
- finding relevant man pages
- searching man page sections
- finding commands and manpages related to one
- configuring access to man sources and the man system
- using system documentation stored in /usr/doc/ and related places
- determining what documentation to keep in /usr/doc/
- Find Linux documentation on the Internet
- Write System Documentation
- write documentation
- maintain logs for local conventions, procedures, configuration and configuration changes
- file locations
- applications
- shell scripts
- Provide User Support
- provide technical assistance to users via telephone, email, and personal contact
- Administrative Tasks
- Manage users and group accounts and related system files
- useradd - add user account
- userdel - remove user account
- suspend user account
- groupadd - add group
- remove group
- change user/group info in passwd/group databases
- create special purpose and limited accounts
- gpasswd, passwd
- passwd
- shadow and gshadow
- Tune the user environment and system environment variables
- /etc/profile - modify global and user profiles to set environment variable
- /etc/skel/ - maintain skel directories for new user accounts
- place proper commands in path
- Configure and use system log files to meet administrative and security needs
- configure the type and level of information logged
- manually scan log files for notable activity
- arrange for automatic rotation and archiving of logs
- track down problems noted in logs
- /etc/syslog.conf
- Automate system administration tasks by scheduling jobs to run in the future
- cron to run jobs at regular intervals
- at to run jobs at a specific time
- configure user access to cron and at services
- Maintain an effective data backup strategy
- plan a backup strategy
- backup filesystems automatically to various media
- perform partial and manual backups
- verify the integrity of backup files
- partially or fully restore backups
- Hardware & Architecture
- Configure fundamental system hardware
- BIOS settings
- set the date and time
- ensure IRQ's and I/O addresses are correct for all ports including serial and parallel
- make a note of IRQ's and I/O's
- issues associated with drives larger than 1024 cylinders
- Setup SCSI and NIC Devices
- manipulate the SCSI BIOS to detect used and available SCSI ID's
- set the SCSI ID to the correct ID number for the boot device and any other devices required
- format the SCSI drive - low level with manufacturer's installation tools - and properly partition and system format with Linux fdisk and mke2fs
- set up NIC using manufacturer's setup tools setting the I/O and the IRQ as well as the DMA if required
- Configure Modem, Sound cards
- ensure devices meet compatibility requirements (particularly that the modem is NOT a win-modem)
- verify that both the modem and sound card are using unique and correct IRQ's
- I/O, and DMA addresses
- if the sound card is PnP install and run sndconfig and isapnp
- configure modem for outbound dial-up
- configure modem for outbound PPP | SLIP | CSLIP connection
- set serial port for 115.2 Kbps
- Linux Installation and Package Management
-
Design hard-disk lay-out
- design a partitioning scheme for a Linux system
- depending on the hardware and system use (number of disks, partition sizes, mount points, kernel location on disk, swap space).
-
Install a boot manager
- lilo - select, install and configure a boot loader
- lilo.conf
- appropriate disk location
- provide alternative and backup boot options (like a boot floppy disk)
-
Make and install programs from source
- gunzip and tar - manage (compressed) archives of files (unpack "tarballs")
- install and configure these on your systems
- do simple manual customization of the Makefile if necessary (like paths, extra include dirs) and make and install the executable
- ./configure, make, make install, and ./Makefile
-
Manage shared libraries
- determine the dependencies of executable programs on shared libraries
- install these when necessary
- ldd, ldconfig
- /etc/ld.so.conf
- Use Debian package management
- Use Red Hat Package Manager (rpm)
- rpm from the command line
- install a package
- uninstall a package
- determine the version of the package and the version of the software it contains
- list the files in a package
- list documentation files in a package
- list configuration files or installation or uninstallation scripts in a package
- find out for a certain file from which package it was installed
- find out which packages have been installed on the system (all packages, or from a subset of packages)
- find out in which package a certain program or file can be found
- verify the integrity of a package, verify the PGP or GPG signature of a package
- upgrade a package
-
Kernel
-
Manage kernel modules at runtime
- Learn which functionality is available through loadable kernel modules, and manually load and unload the modules as appropriate. Involves using the commands: lsmod, insmod, rmmod, modinfo, modprobe. Involves reviewing the files: /etc/modules.conf | /etc/conf.modules (* depends on distribution *), /lib/modules/{kernel-version}/modules.dep.
-
Reconfigure, build and install a custom kernel and modules
-
Text editing, Processing, Printing
-
Perform basic file editing operations using vi
- Edit text files using vi. Includes vi navigation, basic modes, inserting, editing and deleting text, finding text, and copying text.
-
Manage printers and print queues
- Monitor and manage print queues and user print jobs, troubleshoot general printing problems. Includes the commands: lpc, lpq, lprm and lpr . Includes reviewing the file: /etc/printcap.
-
Print files
- Submit jobs to print queues, convert text files to postscript for printing. Includes lpr command.
-
Install and configure local and remote printers
- Install a printer daemon, install and configure a print filter (e.g.: apsfilter, magicfilter). Make local and remote printers accessible for a Linux system, including postscript, non-postscript, and Samba printers. Involves the daemon: lpd . Involves editing or reviewing the files and directories: /etc/printcap , /etc/apsfilterrc , /usr/lib/apsfilter/filter/*/ , /etc/magicfilter/*/ , /var/spool/lpd/*/
-
Shells, Scripting, Programming, Compiling
-
Customize and use the shell environment
- Customize your shell environment: set environment variables (e.g. PATH) at login or when spawning a new shell; write bash functions for frequently used sequences of commands. Involves editing these files in your home directory: .bash_profile | .bash_login | .profile ; .bashrc ; .bash_logout ; .inputrc
-
Customize or write simple scripts
- Customize existing scripts (like paths in scripts of any language), or write simple new (ba)sh scripts. Besides use of standard sh syntax (loops, tests), be able to do things like: command substitution and testing of command return values, test of file status, and conditional mailing to the superuser. Make sure the correct interpreter is called on the first (#!) line, and consider location, ownership, and execution- and suid-rights of the script.
-
X
-
Install & Configure XFree86
- Verify that the video card and monitor are supported by an X server, install the correct X server, configure the X server, install an X font server, install required fonts for X (may require a manual edit of /etc/X11/XF86Config in the "Files" section), customize and tune X for videocard and monitor. Commands: XF86Setup, xf86config. Files: /etc/X11/XF86Config, .xresources.
-
Setup XDM
- Turn xdm on and off, change the xdm greeting, change default bitplanes for xdm, set-up xdm for use by X-stations
-
Identify and terminate runaway X applications
- identify and kill X applications that won't die after user ends an X-session. Example: netscape, tkrat, etc.
-
Install & Customize a Window Manager Environment
- Select and customize a system-wide default window manager and/or desktop environment, demonstrate an understanding of customization procedures for window manager menus, configure menus for the window manager, select and configure the desired x-terminal (xterm, rxvt, aterm etc.), verify and resolve library dependency issues for X applications, export an X-display to a client workstation. Commands: Files: .xinitrc, .Xdefaults, various .rc files.
-
Networking Fundamentals
-
Fundamentals of TCP/IP
- Linux Network Administrator's Guide
- Demonstrate an understanding of network masks and what they mean (i.e. determine a network address for a host based on its subnet mask), understand basic TCP/IP protocols (TCP, UDP, ICMP) and also PPP, demonstrate an understanding of the purpose and use of the more common ports found in /etc/services (20, 21, 23, 25, 53, 80, 110, 119, 139, 143, 161), demonstrate an correct understanding of the function and application of a default route. Execute basic TCP/IP tasks: FTP, anonymous FTP, telnet, host, ping, dig, traceroute, whois.
-
TCP/IP Troubleshooting & Configuration
- Demonstrate an understanding of the techniques required to list, configure and verify the operational status of network interfaces, change, view or configure the routing table, check the existing route table, correct an improperly set default route, manually add/start/stop/restart/delete/reconfigure network interfaces, and configure Linux as a DHCP client and a TCP/IP host and debugassociated problems. May involve reviewing or configuring the following files or directories: /etc/HOSTNAME | /etc/hostname, /etc/hosts, /etc/networks, /etc/host.conf, /etc/resolv.conf, and other network configuration files for your distribution. May involve the use of the following commands and programs: dhcpd, host, hostname (domainname, dnsdomainname), ifconfig, netstat, ping, route, traceroute, the network scripts run during system initialization.
-
Configure and use PPP
- Define the chat sequence to connect (given a login example), setup commands to be run automatically when a PPP connection is made, initiate or terminate a PPP connection, initiate or terminate an ISDN connection, set PPP to automatically reconnect if disconnected.
-
Networking Services
-
Configure and manage inetd and related services
- Configure which services are available through inetd, use tcpwrappers to allow or deny services on a host-by-host basis, manually start, stop, and restart internet services, configure basic network services including telnet and ftp. Includes managing inetd.conf, hosts.allow, and hosts.deny.
-
Operate and perform basic configuration of sendmail
- Modify simple parameters in sendmail config files (modify the DS value for the "Smart Host" if necessary), create mail aliases, manage the mail queue, start and stop sendmail, configure mail forwarding (.forward), perform basic troubleshooting of sendmail. Does not include advanced custom configuration of sendmail. Includes commands mailq, sendmail, and newaliases. Includes aliases and mail/ config files.
-
Operate and perform basic configuration of apache
- Modify simple parameters in apache config files, start, stop, and restart httpd, arrange for automatic restarting of httpd upon boot. Does not include advanced custom configuration of apache. Includes managing httpd conf files.
-
Properly manage the NFS, smb, and nmb daemons
- Mount remote filesystems using NFS, configure NFS for exporting local filesystems, start, stop, and restart the NFS server. Install and configure Samba using the included GUI tools or direct edit of the /etc/smb.conf file (Note: this deliberately excludes advanced NT domain issues but includes simple sharing of home directories and printers, as well as correctly setting the nmbd as a WINS client).
-
Setup and configure basic DNS services
- Configure hostname lookups by maintaining the /etc/hosts, /etc/resolv.conf, /etc/host.conf, and /etc/nsswitch.conf files, troubleshoot problems with local caching-only name server. Requires an understanding of the domain registration and DNS translation process. Requires understanding key differences in config files for bind 4 and bind 8. Includes commands nslookup, host. Files: named.boot (v.4) or named.conf (v.8)
-
Security
-
Perform security admin tasks
- Configure and use TCP wrappers to lock down the system, list all files with SUID bit set, determine if any package (.rpm or .deb) has been corrupted, verify new packages prior to install, use setgid on dirs to keep group ownership consistent, change a user's password, set expiration dates on user's passwords, obtain, install and configure ssh
-
Setup host security
- Implement shadowed passwords, turn off unnecessary network services in inetd, set the proper mailing alias for root and setup syslogd, monitor CERT and BUGTRAQ, update binaries immediately when security problems are found
-
Setup user level security
- Set limits on user logins, processes, and memory usage.