====== LPIC-1 / Linux+ Cheat Sheet ====== ===== LX0-101 ===== ==== 101 System Architecture 14% ==== === 101.1 Determine and Configure hardware settings (LCN-3 CTL-3) === * 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 * Terms: /sys, /proc, /dev, modprobe, lsmod, lspci, lsusb === 101.2 Boot the System (LCN-4 CTL-5) === * 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 file * Terms: /var/log/messages, dmesg, BIOS, bootloader, kernel, init === 101.3 Change runlevels and shutdown or reboot system (LCN-4 CTL-5) === * 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 events * Properly terminate processes * Knowledge of basic features of systemd and Upstart * Terms: /etc/inittab, shutdown, init, /etc/init.d, telinit ==== 102 Installation and Package Management 18% ==== === 102.1 Design hard disk layout (LCN-5 CTL-3) === * 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 * Terms: / (root) filesystem, /var filesystem, /home filesystem, swap space, mount points, partitions === 102.2 Install a boot manager (LCN-5 CTL-5) === * 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 * Terms: /boot/grub/menu.lst, grub.cfg and other variations, grub-install, MBR, superblock === 102.3 Manage shared libraries (LCN-5 CTL-2) === * Identify shared libraries * Identify the typical locations of system libraries * Load shared libraries * Terms: ldd, ldconfig, /etc/ld.so.conf, LD_LIBRARY_PATH === 102.4 Use Debian package management (LCN-5 CTL-2) === * 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) * Terms: /etc/apt/sources.list, dpkg, dpkg-reconfigure, apt-get, apt-cache, aptitude === 102.5 Use RPM and YUM package management (LCN-5 CTL-2) === * 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 * Terms: rpm, rpm2cpio, /etc/yum.conf, /etc/yum.repos.d/, yum, yumdownloader ==== 103 GNU / Unix Commands 43% ==== === 103.1 Work on the command line (LCN-6 CTL-1) === * 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 * Terms: ., bash, echo, env, exec, export, pwd, set, unset, man, uname, history === 103.2 Process text streams using filters (LCN-6 CTL-1) === * Send text files and output streams through text utility filters to modify the output * Using standard UNIX commands found in the GNU textutils package * Terms: cat, cut, expand, fmt, head, od, join, nl, paste, pr, sed, sort, split, tail, tr, unexpand, uniq, wc === 103.3 Perform basic file management (LCN-6 CTL-4) === * 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 * Terms: cp, find, mkdir, mv, ls, rm, rmdir, touch, tar, cpio, dd, file, gzip, gunzip, bzip2, file globbing === 103.4 Use streams, pipes and redirects (LCN-6 CTL-1) === * 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 * Terms: tee, xargs === 103.5 Create, monitor and kill processes (LCN-6 CTL-2) === * 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 * Terms: &, bg, fg, jobs, kill, nohup, ps, top, free, uptime, killall === 103.6 Modify process execution priorities (LCN-6 CTL-2) === * 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 * Terms: nice, ps, renice, top === 103.7 Search text files using regular expressions (LCN-6 CTL-1) === * 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 (LCN-6 CTL-5) === * Navigate a document using vi * Use basic vi modes * Insert, edit, delete, copy and find text * Terms: vi, /, ?, h, j, k, l, i, o, a, c, d, p, y, dd, yy, ZZ, :w!, :q!, :e! ==== 104 Devices, Filesystems, Filesystem Hierarchy 25% ==== === 104.1 Create partitions and filesystems (LCN-7 CTL-3) === * Use various mkfs commands to set up partitions and create various filesystems such as: ext2, ext3, xfs, reiserfs v3, vfat * Terms: fdisk, mkfs, mkswap === 104.2 Maintain the integrity of filesystems (LCN-7 CTL-3) === * Verify the integrity of filesystems * Monitor free space and inodes * Repair simple filesystem problems * Terms: 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 (LCN-7 CTL-3) === * Manually mount and unmount filesystems * Configure filesystem mounting on bootup * Configure user mountable removeable filesystems * Terms: /etc/fstab, /media, mount, umount === 104.4 Manage disk quotas (LCN-7 CTL-4) === * Set up a disk quota for a filesystem * Edit, check and generate user quota reports * Terms: quota, edquota, repquota, quotation === 104.5 Manage file permissions and ownership (LCN-7 CTL-4) === * 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 * Terms: chmod, umask, chown, chgrp === 104.6 Create and change hard and symbolic links (LCN-7 CTL-4) === * Create links * Identify hard and/or soft links * Copying versus linking files * Use links to support system administration tasks * Terms: ln === 104.7 Find system files and place files in the correct location (LCN-7 CTL-4) === * Understand the correct locations of files under the FHS * Find files and commands on a Linux system * Know the location and propose of important file and directories as defined in the FHS * Terms: find, locate, updatedb, whereis, which, type, /etc/updatedb.conf ===== LX0-102 ===== ==== 105 Shells, Scripting and Data Management 17% ==== === 105.1 Customize and use the shell environment (LCN-13 CTL-9) === * 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 * Terms: /etc/profile, env, export, set, unset, ~/.bash_profile, ~/.bash_login, ~/.profile, ~/.bashrc, ~/.bash_logout, function, alias, lists === 105.2 Customize or write simple scripts (LCN-13 CTL-9) === * 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 * Terms: for, while, test, if, read, seq === 105.3 SQL data management (LCN-13 CTL-9) === * Use of basic SQL commands * Perform basic data manipulation * Terms: insert, update, select, delete, from, where, group by, order by, join ==== 106 User Interfaces and Desktops 8% ==== === 106.1 Install and configure X11 (LCN-14 CTL-6) === * 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 * Terms: /etc/X11/xorg.conf, xhost, DISPLAY, xwininfo, xdpyinfo, X === 106.2 Setup a display manager (LCN-14 CTL-6) === * 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 * Terms: /etc/inittab; plus xdm, kdm, and gdm configuration files === 106.3 Accessibility (LCN-14 CTL-6) === * Keyboard Accessibility Settings (AccessX) * Visual Settings and Themes * Assistive Technology (ATs) * Terms: 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 ==== 107 Administrative Tasks 20% ==== === 107.1 Manage user and group accounts and related system files (LCN-15 CTL-7) === * Add, modify and remove users and groups * Manage user/group info in password/group databases * Create and manage special purpose and limited accounts * Terms: /etc/passwd, /etc/shadow, /etc/group, /etc/skel, chage, groupadd, groupdel, groupmod, passwd, useradd, userdel, usermod === 107.2 Automate system administration tasks by scheduling jobs (LCN-15 CTL-9) === * Manage cron and at jobs * Configure user access to cron and at services * Terms: /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 === 107.3 Localization and internationalization (LCN-15 CTL-6) === * Locale settings * Timezone settings * Terms: /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 ==== 108 Essential System Services 17% ==== === 108.1 Maintain system time (LCN-16 CTL-7) === * 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 * Terms: /usr/share/zoneinfo, /etc/timezone, /etc/localtime, /etc/ntp.conf, date, hwclock, ntpd, ntpdate, pool.ntp.org === 108.2 System logging (LCN-16 CTL-7) === * Syslog configuration files * syslog standard facilities, priorities and actions * Terms: syslog.conf, syslogd, klogd, logger === 108.3 Mail Transfer Agent (MTA) basics (LCN-17 CTL-9) === * Create e-mail aliases * Configure e-mail forwarding * Knowledge of commonly available MTA programs (postfix, sendmail, qmail, exim) (no configuration) * Terms: ~/.forward, sendmail emulation layer commands, newaliases, mail, mailq, postfix, sendmail, exim, qmail === 108.4 Manage printers and printing (LCN-18 CTL-6) === * Basic CUPS configuration (for local and remote printers) * Manage user print queues * Troubleshoot general printing problems * Add and remove jobs from configured printer queues * Terms: CUPS configuration files, tools and utilities; /etc/cups; lpd legacy interface (lpr, lprm, lpq) ==== 109 Networking Fundamentals 23% ==== === 109.1 Fundamentals of internet protocols (LCN-19 CTL-8) === * 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 * Terms: /etc/services, ftp, telnet, host, ping, dig, traceroute, tracepath === 109.2 Basic network configuration (LCN-20 CTL-8) === * Manually and automatically configure network interfaces * Basic TCP/IP host configuration * Terms: /etc/hostname, /etc/hosts, /etc/resolv.conf, /etc/nsswitch.conf, ifconfig, ifup, ifdown, route, ping === 109.3 Basic network troubleshooting (LCN-21 CTL-8) === * Manually and automatically configure network interfaces and routing tables * Including 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 * Terms: ifconfig, ifup, ifdown, route, host, hostname, dig, netstat, ping, traceroute === 109.4 Configure client side DNS (LCN-20 CTL-8) === * Demonstrate the use of DNS on the local system * Modify the order in which name resolution is done * Terms: /etc/hosts, /etc/resolv.conf, /etc/nsswitch.conf ==== 110 Security 15% ==== === 110.1 Perform security administration tasks (LCN-22 CTL-10) === * 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 * Terms: find, passwd, lsof, nmap, chage, netstat, sudo, /etc/sudoers, su, usermod, ulimit === 110.2 Setup host security (LCN-23 CTL-10) === * Awareness of shadow passwords and how they work * Turn off network services not in use * Understand the role of TCP wrappers * Terms: /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 === 110.3 Securing data with encryption (LCN-24 CTL-10) === * Perform basic OpenSSH 2 client configuration and usage * Understand the role of OpenSSH 2 server host keys * Perform basic GnuPG configuration and usage * Understand SSH port tunnels (including X11 tunnels) * Terms: 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/*