Training and Certification
What do I need to know to pass the first Linux+ Exam LX0-103?
August 26, 2015
Bita Beigishah
The CompTIA Linux+ powered by LPI certification is earned by successfully passing two Linux+ exams:
- LX0-103
- LX0-104
Each exam has 60 multiple-choice questions and lasts 90 minutes longer. You need a passing score of 500. So now down to the real details: What do I need to know to pass the first exam LX0-103?
Disclaimer: We do not recommend you using this tool as your only study material.
Download the Linux Commands Cheat Sheet
We recommend this only as a starting point and highly suggest a formal training program to ensure you are properly prepared for this exam. Practice from the command-line and learn the common commands present useful in the major distributions. The more you practice, the more you’ll remember.
Here are the LX0-103 Exam Objectives:
- System Architecture – 14%
- Linux Installation and Package Management – 18%
- GNU and Unix Commands – 43%
- Devices, Linux Filesystems, Filesystem Hierachy Standard – 25%
Total understanding of all these objectives should earn you a perfect score on the exam.
System Architecture
This domain of the exam tests for knowledge in the following topics. Below each topic are resources related to developing your understanding of them.
Topic 1: Configuring hardware
In this topic, you will really need to develop your understanding of the various hardware types and how to identify and configure them. Hardware is broken down into two types; coldplug and hotplug.
Coldplug basically refers to hardware that can only be connected or disconnected when the machine is powered off, examples include expansion cards that are plugged into the motherboard.
Hotplug devices are those such as USB flash devices that can be connected and disconnected when the machine is on.
Some terms or files that will be utilized throughout this portion of the exam include:
- /sys = shows the breakdown of devices by function
- lspci = provides a listing of pci addresses and a description of the cards that are plugged in (coldplugs)
- lsusb = provides a listing of connected hotplug devices
- lsmod = shows all modules currently loaded
- modprobe = can leverage this to search modules or you can add “- r” after modprobe to remove modules
Topic 2: Booting the system
You need to demonstrate an ability to use common commands and tools to boot the system. There are 5 main steps in the boot process:
- Power on Start (POST)
- Loading the Master Boot Record (MBR)
- Boot Loader – FYI you can choose from many different option types for your boot loader
- Loading the Kernel – FYI you can have many different kernels available to load from your machine and you will need to specify which one you want to run here.
- init start
Some terms or files that will be utilized throughout this portion of the exam include:
- BIOS = this stands for Basic Input Output System and it is basically what controls your computer
- kernel = this is your Linux OS. Just like you have the Windows OS or MAC OSX you have a number of Linux OS options – Here’s an example of how you can easily upload the Arch Linux OS.
- bootloader = this specifies the location of the Linux kernel. GRUB2 is one of the most popular ones but as with most things Linux you have a variety of options to choose from for your system
- init = this is the first process that will start after your OS is loaded and it will look to the runlevels to determine which programs it should execute.
Topic 3: Changing runlevels and boot targets & shutting down or rebooting the system.
There will be times when you need to adjust the default settings for runlevels/boot targets. Here are some commands and terms you need to know to get through this section of the exam:
- init is used to refer to runlevel terms (moves in a sequential process from runlevel 0-6)
- systemd is used to refer to target terms (moves in a customized runlevel process)
- /etc/inittab = use this to see the default runlevel id and you can change the default by editing this. To change the starting runlevel for just a single use, at boot simply edit the kernel line to include the single digit runlevel you want to use.
- runlevel command will tell you the last and current runlevel you are in.
- telinit [runlevel single digit] = you can use this in order to change the current runlevel. It is not recommended that you use this for runlevels 0 or 6 (shutdown or reboot)
- shutdown – h [time] = this will cause the system to shutdown at your specified time. Time can be entered in three different forms, “now” “00:00” or “+[minutes]” – for example a shutdown in 10 minutes from 4:30pm could be written as:
- shutdown – h +10
- shutdown – h 15:40
- to reboot after a shutdown include, after the halt line, shutdown -r [time]
- motd = message of the day and this should be utilized in order to alert the community of impending downtime.
Linux Installation and Package Management
This domain of the exam tests for knowledge in the following topics. Below each topic are resources related to developing your understanding of them.
Topic 1: Hard disk layouts
This topic concentrates on your understanding of how to properly separate partitions and disks through the swap space and filesystem allocation, the Logical Volume Manager (LVM), boot partition conformity to hardware requirements and more. Here are the terms you need to understand and apply within this section:
- filesystem = this is just a way of organizing data electronically on your hard disk or another type of media.
- / (root) filesystem = this filesystem is located on the same partition as the root directory and it is the filesystem that others mount to as the system boots.
- /var filesystem = this contains the data that is changes as the system runs normally
- /home filesystem = refers to the user’s specific home directory that only he/she and the sys admin have access to
- /boot filesystem = stores the files necessary for the boot loader to use in the boot process
- swap space = this is leveraged once RAM is full by moving inactive pages into swap space located on hard drives. However, swap space should never be viewed as a replacement to RAM
- partitions = these refer to how you logically format the hard disk space, and as such, they can be edited and manipulated as needed. These are good to leverage as sandbox environments.
Topic 2: Boot Manager Installation
The Boot Manager Installation topic examines your skills at providing different boot location and backup options, as well as, installing, configuring and interacting with a boot loader. Most of the techniques tested in the LX0-103 are in reference to GRUB Legacy and GRUB 2. However, there are many boot loaders you can choose from for your unique Linux system.
The video below describes using GRUB 2 as your boot manager:
Some terms or files that will be utilized throughout this portion of the exam include:
- grub-install = a program used to install GRUB under an operating system that is UNIX-like
- grub-mkconfig = a program that will generate a configuration file for GRUB.
Topic 3: Shared Libraries
The purpose of this topic is to develop your understanding of shared libraries. To use a shared library you can either link to the executable statically or dynamically.
- statically linked executable = a complete program that contains all the functions it needs to run without depending on another library or prerequisites in order to run.
- dynamically linked executable = are smaller incomplete programs that depend on external functions in order to run.
Some terms or files that will be utilized throughout this portion of the exam include:
- ldd = a command that will tell you if a program is statically or dynamically linked, and if it is dynamically linked it will tell you the dependent libraries
- ldconfig = program used to maintain the cache of shared libraries.
- /etc/ld.so.conf = the file the shared library cache is usually stored in. The system also uses this file to map the shared library’s name to its corresponding file.
Topic 4: Debian Package Management
The Debian package management requires the use of a number of tools to manage the Debian installation, upgrade, and removal processes. You can leverage these tools and commands to find specific package information. Check out Debian’s own page dedicated to all the Debian package management tools you can leverage. Debian package tools can be used on Debian-based systems such as Debian, Mint and Ubuntu.
Topic 5: RPM and YUM Package Management
Similar to Debian package management, RPM package management is used on Red Hat, CentOS, Fedora and SUSE. YUM makes things easier as you can use it to search for software by name or description in online repositories.
Some terms or files that will be utilized throughout this portion of the exam include:
- rpm = Red Hat Package Management
- YUM = Yellowdog Update Modified
- rpm2cpio = a tool to extract files from RPM files.
- /etc/yum.conf = this identifies the package that the YUM config file belongs to.
GNU and Unix Commands
This domain of the exam tests for knowledge in the following topics. Below each topic are resources related to developing your understanding of them.
Topic 1: Working on the command line
When tested on this subject area, students should have the ability to perform basic command line tasks, work within the shell environment, edit and use command history and invoke commands. This section relies heavily on knowledge of commands, download our Linux command sheet guide below for a full list.
Some terms or files that will be utilized throughout this portion of the exam include:
- bash = the shell and it’s used in the GNU operating systems; it acts as the command language interpreter.
- echo = a built-in command that writes its arguments to standard output
- pwd = a command that reports the absolute path to the directory
- uname = a command that reports back basic information regarding the computer’s hardware and software
Topic 2: Use filters to process text streams
Through this exam topic, you will need to be able to send text files, output streams and modify outputs.
Some commands that you will need to know for this portion of the exam include:
- cat = this command is short for concatenate and it displays the contents of a file on stdout
- cut = extracts field from text files
- expand = swap tabs for spaces
- fmt = formats text to fit within specified margins
- head = will display only the first 10 lines of a stream or file
- od = allows you to dump the file in order to find and interpret any special characters
- join = joins files based on matching fields
- nl = adds numbers to each line, very convenient when printing
- paste = pastes lines from side by side files
- pr = formats the files for printing
- sed = very powerful stream editor
- sort = merge previously sorted files, check if a file was sorted, and sorts input using collating sequence
- split = breaks files into smaller pieces
- tail = the opposite of head and it shows the last 10 lines of a stream or file
- tr = translates characters from one set to another
- unexpand = opposite of expand swaps spaces for tabs
- uniq = removes consecutive identical lines
- wc = displays a file’s number of lines, word and bytes
Topic 3: Basic file management
This section examines your ability to manipulate files and directories. It tests competency at copying, moving and removing individual or multiple files and directories. It tests knowledge of various commands for locating files.
Related commands are:
- cp = copy of one or more file/directory
- find = searches for files/directories by various specifications
- mkdir = handles multiple creation requests
- mv = move or rename one or more file/directory
- ls = lists files in a directory
- rm = remove one or more file
- rmdir = remove one or more directory
- touch = updates modification time of files
- tar, cpio and dd = all of these commands can be sued to backup groups of files and partitions in order to prep them for archiving or transmission
- file = classifies files by 3 types of tests
- gzip = compresses files using Lempel-Ziv algorithm
- gunzip = decompresses a gzipped file
- bzip2 = compresses files using Burrow-Wheeler block sorting
- file globbing = specify multiple files using wildcard pattern
Topic 4: Streams, pipes and redirects
You need to exhibit knowledge of stdin, stdout and stderr and controlling command output. View this clip for more details on using streams, pipes and redirects.
Topic 5: Creating, monitoring and killing processes
Demonstrate your understanding of running jobs in the foreground/background, running programs after logout, and monitoring, selecting, sorting and sending signals to processes.
Here is the list of files, terms and other utilities you will need to know:
- & = add this to the end of a command and it will cause it to run in the background
- bg = brings a job to the background
- fg = brings a job to the foreground
- jobs = finds out what jobs are running
- kill = sends a signal to a specified job or process
- nohup = starts a command and will ignore hangup signals, append stdout and stderr to a file
- ps = displays parts of process status information
- top = displays continuously updated process list
- free = amount of used and free memory in the system
- uptime = provides one line that displays current time, how long the system has run, number of users logged in and system load averages
Topic 6: Modifying priorities for process execution
This area of the exam is all about understanding the default priorities of jobs and how you can go about modifying those priorities. These three commands will come in handy:
- nice = used to verify the default niceness value of a shell or system. This can also be used to start a process with a different priority
- ps = display niceness values
- renice = used to change a priority after it has already started.
Topic 7: Use regular expressions to search text files
This section revolves around leveraging regular expressions for greater search capabilities. Some terms you will need to know include:
- grep = allows for regular expressions to be used in searches as well as through command output
- egrep = allows inclusion of additional meta-characters in search queries
- sed = a stream editor and it uses regular expressions in order to locate and replace text in either text streams or files
Topic 8: Use vi to perform basic file editing
Vi is the default visual editor that comes with a UNIX operating system. It has two modes, command (does something to the file) and insert (inserts text into the file). Your skills in navigating, using the modes, and changing text with vi will all be tested.
Some terms or files that will be utilized throughout this portion of the exam include:
- vi = visual editor that is the default with every UNIX OS
- / + regular expression = searches forward in file
- ? + regular expression = searches backward in file
- h = moves 1 character left, current line
- j = move down, next line
- k = move up, previous line
- l = move 1 character right, current line
- i = insert mode before character, current position
- o = insert text new line, below current line
- a = insert mode after character, current position
- c = change current character, insert mode for replacement character
- d = delete all line characters after current position
- p = insert last deleted text after current character
- dd = delete one or many lines (repetition deletes multiple)
- yy = copy current line
- ZZ = write a modified file
- :w! = write file, overwrite existing or unwritable files
- :q! = stop editing, abandon all changes to file
- :e! = edit file’s disk copy, will reload and abandon changes
Devices, Linux Filesystems and Filesystem Hierarchy Standard
This domain of the exam tests for knowledge in the following topics. Below each topic are resources related to developing your understanding of them.
Topic 1: Creating partitions and filesystems
You will need to be able to manage the MBR partitions, use mkfs commands, show understanding of Btrfs and ReiserFS, and gdisk and parted with GPT.
Some terms, commands or files that will be utilized throughout this portion of the exam include:
- fdisk = to create, modify or delete partitions on block devices
- gdisk = creates Linux partition on drive
- parted = creates/destroys and resizes/formats many partition types
- mkfs = format partitions as a particular filesystem type
- mkswap = makes swap space
Topic 2: Integrity of filesystems
This topic develops an understanding verifying integrity, repairing simple problems and monitoring free space.
Some terms, commands or files that will be utilized throughout this portion of the exam include:
- du = provides information regarding filenames
- df = provides information regarding whole filesystems
- fsck = used to check and fix filesystems
- mke2fs = displays the superblock locations of current filesystems
- debugfs = an interactive filesystem debugger
Topic 3: Controlling mounting and unmounting of filesystems
An understanding of how to manually mount and unmount a system, configure system mounting at time of bootup and configuring mounting of removable systems are all necessary to doing well on this portion of LX0-103 exam.
Some terms, commands or files that will be utilized throughout this portion of the exam include:
- unmount = filesystems are usually unmounted automatically at the time of reboot/shut down, any cached data is then flushed to the disk
- mount = this makes the device accessible
Topic 4: Disk quota management
This portion of the exam will test you knowledge on everything quotas, from assigning a quota to a user or group to checking on the status of those quotas and generating reports.
Some terms, commands or files that will be utilized throughout this portion of the exam include:
- quota = a control on how much disk space is used by either a group or individual user
- edquota = a command to set a quota for an individual user
- repquota = a command to generate quota reports
- quotaon = a command that turns on quota checking for vfsold and vfsv0
Topic 5: File ownership and permissions management
Topic 5 will examine your knowledge of creating and updating file and directory permissions. In addition, it will examine various modes that are used to maintain security, such modes include sgid, suid, and the sticky bit.
Some terms, commands or files that will be utilized throughout this portion of the exam include:
- chomd + x = command to execute permissions
- chmod + r = command to read permissions
- chmod + w = command to write permissions (note: x, r, and w can be used together in one command to read, write and execute at once)
Topic 6: Hard and symbolic links creation and change
Show off your knowledge on how to create links (use this guide for help), identifying different types of links, using links for administrative support and the pros and cons of copying versus linking files.
Some terms, commands or files that will be utilized throughout this portion of the exam include:
- ln = a command used to add more hard links to a file
- ls = a command that will assign a different color to various types of file system objects when printing
Topic 7: Locating and moving system files
This topic will test your insight into which commands should be utilized for locating and identifying the details of various files and directories.
Some terms, commands or files that will be utilized throughout this portion of the exam include:
- find = a command that can locate files based on either permissions or user/group name
- locate = looks for database files that are typically updated daily; this command will search through every part of a path name for matches.
- updatedb = command used to create or update a database
- whereis = a command that provides further information regarding a program’s location
- which = a command that searches your path and identifies a command to be executed
- type = a command that shows the evaluation process for a specific command string
- /etc/updatedb.conf = the configuration file for the updatedb command that runs each day as a cron job