LPIC-2 201-450 Deep Dive: System Startup, Kernel, Storage, and Networking
The LPIC-2 201-450 exam is the first of two exams required for the LPIC-2 certification. It covers system startup and kernel management, storage and filesystem administration, advanced networking, and system maintenance with virtualization.
This guide covers each objective with the commands, configuration files, and concepts tested on the exam.
Topic 200: Capacity Planning (weight 4)
200.1 Measure and Troubleshoot Resource Usage
# CPU monitoring
mpstat -P ALL 2 # Per-CPU usage every 2 seconds
sar -u 2 10 # CPU utilization history
vmstat 2 10 # System processes, memory, paging, CPU
iostat -c 2 5 # CPU statistics
# Memory monitoring
free -h # Memory usage
vmstat -s # Memory event counters
smem -t -k # Memory usage with shared memory
slabtop # Kernel slab allocator
# Disk I/O monitoring
iostat -x 2 # Extended disk statistics
iotop # Per-process I/O
pidstat -d 2 # I/O stats per process
# Network monitoring
sar -n DEV 2 5 # Network interface throughput
nethogs # Per-process network bandwidth
iftop # Bandwidth per connection
# System load
uptime # Load average (1, 5, 15 min)
cat /proc/loadavg
sar -q # Queue length and load history
# Resource limits per process
ulimit -a # All limits
ulimit -n 4096 # File descriptor limit
cat /proc/PID/limits # Limits for specific process
# Control groups (cgroups)
ls /sys/fs/cgroup/
cat /sys/fs/cgroup/cpu/cpu.cfs_quota_us
systemd-cgtop
200.2 Predict Future Resource Needs
# Trending with sar
sar -o /tmp/sar.dat 2 10 # Capture data
sar -f /tmp/sar.dat # Read from file
sar -r -f /tmp/sar.dat # Memory trend
sar -b -f /tmp/sar.dat # Disk I/O trend
# Collectd and monitoring
systemctl status collectd
cat /etc/collectd/collectd.conf
# Capacity planning tools
# munin — historical graphing
# nagios/icinga — alerting
# prometheus + grafana — modern metric collection
Topic 201: Linux Kernel (weight 10)
201.1 Kernel Components
# Kernel version
uname -r # Kernel release
uname -a # All kernel info
uname -m # Architecture (x86_64, aarch64)
# Kernel modules
lsmod # List loaded modules
modprobe -l # List available modules
modinfo module_name # Module info (path, version, depends)
modprobe module_name # Load with dependencies
modprobe -r module_name # Remove
insmod /path/to/module.ko # Load single module
rmmod module_name # Remove module
depmod # Generate module dependencies
depmod -a # For all kernels
# Module configuration
cat /etc/modprobe.d/*.conf
# options module_name parameter=value
# blacklist module_name
# install module_name /bin/true # Prevent loading
# /etc/modules — modules to load at boot (Debian)
# /etc/modules-load.d/*.conf — modules to load (systemd)
201.2 Compiling a Linux Kernel
# Get kernel source
# From kernel.org
wget https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.x.tar.xz
tar -xf linux-6.x.tar.xz
cd linux-6.x
# Configuration
make config # Interactive text config
make menuconfig # Menu-based ncurses config
make defconfig # Default config for current arch
make oldconfig # Update old config for new kernel
# Common options
# General setup → Local version (append string to kernel name)
# Processor type and features
# Device drivers
# File systems
# Build
make -j$(nproc) # Build kernel and modules
make -j$(nproc) bzImage # Compressed kernel image
make modules # Build modules separately
# Install
make modules_install # Install modules to /lib/modules/
make install # Install kernel, generate initramfs, update GRUB
# Kernel files in /boot
ls /boot/
# vmlinuz-VERSION # Compressed kernel
# initrd.img-VERSION # Initial ramdisk
# System.map-VERSION # Symbol table
# config-VERSION # Build configuration
# Clean
make clean # Remove object files
make mrproper # Remove config + object files
201.3 Kernel Runtime Management and Troubleshooting
# Kernel parameters
sysctl -a # All parameters
sysctl net.ipv4.ip_forward # Read parameter
sysctl -w net.ipv4.ip_forward=1 # Set parameter
echo 1 > /proc/sys/net/ipv4/ip_forward # Direct write
# Persistent sysctl
cat /etc/sysctl.conf
cat /etc/sysctl.d/*.conf
# udev
udevadm info -a -p /sys/class/net/eth0 # Device attributes
udevadm monitor # Watch device events
udevadm control --reload-rules # Reload udev rules
cat /etc/udev/rules.d/*.rules
# Example udev rule
# SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="00:11:22:33:44:55", NAME="eth0"
# Kernel ring buffer
dmesg
dmesg -w # Follow (like tail -f)
dmesg -l err # Only error level
dmesg -T # Human-readable timestamps
cat /var/log/kern.log # Persistent kernel log
# Kernel crash dump (kdump)
cat /etc/kdump.conf
systemctl status kdump
kdumpctl restart
Topic 202: System Startup (weight 6)
202.1 Customize System Startup and Boot Process
# GRUB 2 configuration
cat /etc/default/grub
# GRUB_TIMEOUT=5
# GRUB_DEFAULT=0
# GRUB_CMDLINE_LINUX="quiet splash"
# GRUB_CMDLINE_LINUX_DEFAULT="quiet"
# GRUB_DISABLE_RECOVERY=true
# Regenerate GRUB config
grub-mkconfig -o /boot/grub/grub.cfg # Debian/Ubuntu
grub2-mkconfig -o /boot/grub2/grub.cfg # RHEL
# GRUB scripts
ls /etc/grub.d/
# 00_header → base settings
# 10_linux → kernel entries
# 30_os-prober → other OS
# 40_custom → custom entries
# Kernel boot parameters
# Reference: Documentation/admin-guide/kernel-parameters.txt
# quiet — reduce boot messages
# splash — show splash screen
# nomodeset — disable KMS (for GPU issues)
# acpi=off — disable ACPI
# single — boot to single-user mode
# init=/bin/bash — bypass init entirely
# rootdelay=10 — wait 10s for root device
# mem=4G — limit memory
# maxcpus=1 — use single CPU
# Systemd boot analysis
systemd-analyze # Boot time
systemd-analyze blame # Per-unit boot time
systemd-analyze critical-chain # Critical boot chain
systemd-analyze plot > boot.svg # Visualization
systemd-analyze time # Kernel + initrd + userspace time
# GRUB rescue mode
# At grub> prompt:
grub> ls # List drives
grub> set root=(hd0,1) # Set root partition
grub> linux /vmlinuz root=/dev/sda1
grub> initrd /initrd.img
grub> boot
# Reinstall GRUB from rescue
grub-install /dev/sda
grub-install --recheck /dev/sda
202.2 System Recovery
# Single-user mode
# Boot with: single or 1 or S or s on kernel command line
# Emergency mode (systemd)
# Boot with: systemd.unit=emergency.target
# Root filesystem mounted read-only, minimal environment
# Rescue mode (systemd)
# Boot with: systemd.unit=rescue.target
# Root fs mounted, some services running
# Recover root password
# 1. Boot with init=/bin/bash
# 2. mount -o remount,rw /
# 3. passwd root
# 4. exec /sbin/init
# Chroot from live CD/USB
mount /dev/sda1 /mnt
mount --bind /dev /mnt/dev
mount --bind /proc /mnt/proc
mount --bind /sys /mnt/sys
chroot /mnt /bin/bash
# Repair GRUB from chroot
grub-install /dev/sda
update-grub
# Fix broken packages in chroot
apt-get install --reinstall packagename # Debian
rpm -Va # RHEL — verify all
202.3 Boot Process and Init Alternatives
# SysV init
ls -l /etc/init.d/ # Init scripts
ls -l /etc/rc?.d/ # Runlevel symlinks
# rc.d naming
# S##name — Start (executed in numerical order)
# K##name — Kill (executed in numerical order)
# chkconfig (RHEL)
chkconfig --list
chkconfig httpd on
chkconfig httpd off
# update-rc.d (Debian)
update-rc.d nginx defaults
update-rc.d nginx disable
update-rc.d -f nginx remove
# Systemd vs SysV comparison
# systemctl start → service start
# systemctl enable → chkconfig on
# systemctl status → service status
# Upstart (legacy, Ubuntu 14.10 and earlier)
initctl list
initctl start service
Topic 203: Filesystem and Devices (weight 10)
203.1 Operating the Linux Filesystem
# Filesystem types
# ext2 — no journaling
# ext3 — ext2 with journaling
# ext4 — default for many distros, extents, delayed allocation
# xfs — high-performance, good for large files
# btrfs — copy-on-write, snapshots, compression
# zfs — advanced volume management + filesystem
# vfat — FAT32 (USB sticks)
# exfat — large file support for removable media
# ntfs — Windows filesystem
# Inode structure
stat file.txt
# File metadata: permissions, owner, timestamps, size, block count, inode number
# Data stored in blocks on disk
# Inode contains pointers to blocks (direct, indirect, double indirect)
# Superblock — filesystem metadata (block size, inode count, free blocks)
# Backup superblocks — for recovery
# Filesystem features
tune2fs -l /dev/sda1 # List ext2/3/4 superblock info
tune2fs -O ^has_journal /dev/sda1 # Remove journal
tune2fs -o journal_data_writeback /dev/sda1 # Mount options written to superblock
xfs_info /dev/sda2 # XFS filesystem info
btrfs filesystem show # Btrfs info
# Filesystem creation
mkfs.ext4 -b 4096 /dev/sda1 # Block size
mkfs.xfs -f /dev/sda2
mkfs.btrfs /dev/sda3
mkswap /dev/sda4 # Swap
# Filesystem check
fsck /dev/sda1
fsck.ext4 -f /dev/sda1 # Force check even if clean
xfs_repair /dev/sda2 # XFS check (filesystem must be unmounted)
btrfs check /dev/sda3 # Btrfs check
# Debugfs — interact with ext2/3/4 internals
debugfs /dev/sda1
debugfs> ls -l
debugfs> stats
debugfs> logdump
203.2 Filesystem Maintenance and Repair
# Automatic fsck on boot
# /etc/fstab last column (pass):
# 0 — never check
# 1 — check first (root filesystem)
# 2 — check after root
# Force fsck at next boot
touch /forcefsck
shutdown -r now
# Or with tune2fs
tune2fs -c 1 /dev/sda1 # Set max mount count before check
tune2fs -C 100 /dev/sda1 # Set current mount count
# File attributes (chattr/lsattr)
lsattr file.txt
chattr +i file.txt # Immutable (cannot modify, even by root)
chattr +a file.txt # Append only
chattr +c file.txt # Compressed
chattr +s file.txt # Secure deletion (zero overwrite)
chattr +u file.txt # Undeletable
# Deleted file recovery
# Use debugfs
debugfs -w /dev/sda1
debugfs> lsdel # List deleted inodes
debugfs> undel <inode> dest # Restore
# Or use extundelete (third-party)
extundelete /dev/sda1 --restore-file /path/to/file
# XFS repair
xfs_repair -v /dev/sda2 # Verbose
xfs_repair -n /dev/sda2 # Dry run (no-write)
xfs_metadump /dev/sda2 /tmp/meta.dump # Copy metadata for analysis
203.3 Create and Manage Filesystem Configuration
# UUID and label
blkid /dev/sda1
blkid -o list # Tabular output
lsblk -f # Filesystem info including UUIDs
# Set label
e2label /dev/sda1 MY_DATA # ext2/3/4
xfs_admin -L MY_DATA /dev/sda2 # XFS
btrfs filesystem label /mnt MY_DATA # Btrfs
# /etc/fstab field reference
# <device> <mountpoint> <type> <options> <dump> <pass>
# UUID=xxx /boot ext4 defaults 0 2
# LABEL=MY_DATA /data xfs defaults 0 0
# Mount options
# defaults — rw, suid, dev, exec, auto, nouser, async
# noexec — prevent binary execution
# noatime — don't update access times (performance)
# nodiratime — don't update dir access times
# relatime — update atime relative to mtime
# noauto — don't mount at boot (need manual mount)
# Bind mount
mount --bind /home/old /home/new
mount --bind /path /other # Same data, different path
# Remount
mount -o remount,rw /dev/sda1
mount -o remount,noexec /dev/sda1
# Loop device (mount ISO)
mount -o loop /path/to/image.iso /mnt/iso
losetup -a # List loop devices
losetup -f # Find first unused
losetup /dev/loop0 /path/to/image.iso
203.4 Manage Logical Volumes
# LVM architecture: PV → VG → LV
# Physical Volume (/dev/sda1) → Volume Group (vg0) → Logical Volume (lv_home)
# Physical volume commands
pvcreate /dev/sda1
pvcreate /dev/sdb1 /dev/sdc1
pvdisplay /dev/sda1
pvscan
pvremove /dev/sda1
# Volume group commands
vgcreate vg0 /dev/sda1 /dev/sdb1
vgextend vg0 /dev/sdc1
vgreduce vg0 /dev/sda1 # Remove PV from VG
vgdisplay vg0
vgscan
vgremove vg0
# Logical volume commands
lvcreate -L 50G -n lv_home vg0
lvcreate -l 100%FREE -n lv_data vg0
lvextend -L +10G /dev/vg0/lv_home
lvextend -r -L +10G /dev/vg0/lv_home # Extend and resize fs
lvreduce -L 10G /dev/vg0/lv_home # Reduce (filesystem first!)
lvdisplay
lvscan
lvremove /dev/vg0/lv_home
# Extend filesystem after LVM extend
resize2fs /dev/vg0/lv_home # ext4
xfs_growfs /mountpoint # XFS (mount point, not device!)
# Move data between PVs
pvmove /dev/sda1 # Move all extents to other PVs
pvmove /dev/sda1 /dev/sdc1 # Move to specific PV
# LVM snapshots
lvcreate -L 5G -s -n lv_home_snap /dev/vg0/lv_home
# Mount snapshot read-only for backup
mount -o ro /dev/vg0/lv_home_snap /mnt/snap
# Remove snapshot
lvremove /dev/vg0/lv_home_snap
203.5 Mount Filesystems Automatically
Already covered in 203.3. Additional topics:
# autofs — automount on access
cat /etc/auto.master
# /misc /etc/auto.misc
# /net /etc/auto.net
cat /etc/auto.misc
# cd -fstype=iso9660,ro,nosuid,nodev :/dev/cdrom
# usb -fstype=auto,sync,nodev,nosuid :/dev/sdb1
# Wildcard mounts
cat /etc/auto.net
# key -nfs,rw,soft,intr server:/export/&
# Direct map
cat /etc/auto.direct
# /mnt/data -nfs,rw server:/export/data
203.6 Advanced Storage Device Administration
# RAID concepts
# RAID 0 — striping (performance, no redundancy)
# RAID 1 — mirroring (redundancy, write penalty)
# RAID 5 — striping with parity (3+ disks)
# RAID 6 — striping with dual parity (4+ disks)
# RAID 10 — mirror + stripe (performance + redundancy)
# Software RAID (mdadm)
mdadm --create /dev/md0 --level=5 --raid-devices=3 /dev/sda1 /dev/sdb1 /dev/sdc1
mdadm --detail /dev/md0
mdadm --manage /dev/md0 --add /dev/sdd1
mdadm --manage /dev/md0 --fail /dev/sda1
mdadm --manage /dev/md0 --remove /dev/sda1
mdadm --stop /dev/md0
# RAID monitoring
cat /proc/mdstat
mdadm --monitor --mail=admin@example.com /dev/md0
# iSCSI initiator
iscsiadm -m discovery -t sendtargets -p 192.168.1.100
iscsiadm -m node -T iqn.2026-01.com.example:target -l # Login
iscsiadm -m session -P 3 # Session info
iscsiadm -m node -T iqn.2026-01.com.example:target -u # Logout
# iSCSI target (targetcli)
targetcli
/> /backstores/block create name=mydisk dev=/dev/sda
/> /iscsi create iqn.2026-01.com.example:target
/> /iscsi/iqn.../tpg1/luns create /backstores/block/mydisk
/> /iscsi/iqn.../tpg1/acls create iqn.2026-01.com.client:initiator
# Multipath (DM-Multipath)
cat /etc/multipath.conf
multipath -ll # List multipath devices
systemctl status multipathd
Topic 204: Advanced Storage Administration (weight 8)
204.1 Filesystem Quotas
# Enable quotas in /etc/fstab
# /dev/vg0/lv_home /home ext4 defaults,usrquota,grpquota 0 1
# Remount
mount -o remount /home
# Initialize quota files
quotacheck -cugm /home # Create aquota.user and aquota.group
quotacheck -avug # Check all
# Set quotas
edquota -u alice # Interactive editor
edquota -g developers # Group quota
edquota -p alice bob # Copy quota from alice to bob
setquota alice 100M 200M 0 0 /home # Set via CLI
# Reporthttps://gist.github.com/disabled/quota/quota
repquota -a # All quotas
quota -v alice # User's quota
quotastats # Quota statistics
# Grace period
setquota -t 86400 86400 /home # 1 day grace for both block and inode
204.2 Backup and Restore
# tar
tar -cvf backup.tar /home # Create
tar -czvf backup.tar.gz /home # Compress with gzip
tar -cjvf backup.tar.bz2 /home # Compress with bzip2
tar -xvf backup.tar # Extract
tar -xzvf backup.tar.gz # Extract gzip
tar -tvf backup.tar # List contents
tar -C /target -xvf backup.tar # Extract to different directory
tar --exclude='*.log' -czvf backup.tar.gz /var/log
# cpio
find /home -type f | cpio -o > backup.cpio
cpio -id < backup.cpio # Extract
cpio -t < backup.cpio # List
# dd (disk cloning)
dd if=/dev/sda of=/dev/sdb bs=4M # Clone disk
dd if=/dev/sda of=disk.img bs=4M # Backup to file
dd if=disk.img of=/dev/sda bs=4M # Restore from file
dd if=/dev/sda status=progress bs=4M # Show progress
dd if=/dev/zero of=/dev/sda bs=4M # Wipe disk
dd if=/dev/urandom of=/dev/sda bs=4M # Cryptographic wipe
# rsync
rsync -av /source /dest # Local sync
rsync -avz user@host:/remote /local # Remote sync (pull)
rsync -avz /local user@host:/remote # Remote sync (push)
rsync -av --delete /source /dest # Delete extraneous files
rsync -av --exclude='*.tmp' /source /dest # Exclude patterns
rsync -n -av /source /dest # Dry run
rsync -avz -e 'ssh -p 2222' /src host:/dst # Custom SSH port
204.3 Manage iSCSI and SAN
Already covered in 203.6. Additional:
# SAN zoning (Fibre Channel)
# Done at the switch level, not on the host
# WWPN (World Wide Port Name) — unique per HBA port
cat /sys/class/fc_host/host*/port_name
# LUN masking — which HBA can access which LUN
# Configured on the storage array
# Multipath configuration
cat /etc/multipath.conf
# defaults {
# user_friendly_names yes
# find_multipaths yes
# }
multipath -ll # Show multipath topology with paths
multipath -F # Flush all multipath maps
Topic 205: Networking Configuration (weight 10)
205.1 Basic Networking Configuration
# Network interface naming
# eth0 — traditional
# enp0s3 — predictable (bus-based)
# ens33 — firmware/BIOS based
# wlp2s0 — wireless PCI
# ip command suite (modern)
ip addr # Interface addresses
ip addr add 192.168.1.100/24 dev eth0
ip addr del 192.168.1.100/24 dev eth0
ip link set eth0 up
ip link set eth0 down
ip link set eth0 mtu 9000
ip route show # Routing table
ip route add default via 192.168.1.1
ip route add 10.0.0.0/8 via 192.168.1.254
ip route del default
ip neighbor show # ARP table
ip -s link # Interface statistics
ip netns # Network namespaces
# VLAN
ip link add link eth0 name eth0.100 type vlan id 100
ip addr add 192.168.100.1/24 dev eth0.100
ip link set eth0.100 up
# Bonding
cat /etc/modprobe.d/bonding.conf
# alias bond0 bonding
# options bonding mode=1 miimon=100
# Or with iproute2
ip link add bond0 type bond mode active-backup miimon 100
ip link set eth0 master bond0
ip link set eth1 master bond0
ip addr add 192.168.1.100/24 dev bond0
ip link set bond0 up
# Bonding modes
# 0 — round-robin (load balancing, fault tolerance)
# 1 — active-backup (fault tolerance only)
# 4 — 802.3ad LACP (link aggregation, switch required)
205.2 Advanced Network Configuration and Troubleshooting
# Bridge
ip link add br0 type bridge
ip link set eth0 master br0
ip link set eth1 master br0
ip addr add 192.168.1.100/24 dev br0
ip link set br0 up
# Bridge utilities
brctl show # Show bridges
bridge link # Show bridge ports
bridge fdb show # Forwarding database
# Packet analysis
tcpdump -i eth0 port 80
tcpdump -i eth0 -w capture.pcap # Write to file
tcpdump -i eth0 -X # Hex and ASCII output
tcpdump -n -v # Numeric, verbose
# Wireshark (tshark CLI)
tshark -i eth0
tshark -r capture.pcap -Y "http.request"
# Network performance
iperf3 -s # Server mode
iperf3 -c server # Client mode
iperf3 -c server -P 4 # Parallel streams
iperf3 -c server -R # Reverse direction
# Interface bonding verification
cat /proc/net/bonding/bond0
205.3 Internet Protocol v4 and v6
# IPv6 address types
# ::1 — loopback
# fe80::/10 — link-local (auto-configured)
# 2000::/3 — global unicast
# ff00::/8 — multicast
# fc00::/7 — unique local (private)
# IPv6 configuration
ip -6 addr show
ip -6 route show
ip -6 addr add 2001:db8::1/64 dev eth0
ip -6 route add default via 2001:db8::ff
# IPv6 autoconfiguration
# SLAAC (Stateless Address Autoconfiguration) — uses router advertisements
# DHCPv6 — stateful address assignment
echo 1 > /proc/sys/net/ipv6/conf/all/forwarding
sysctl net.ipv6.conf.all.forwarding=1
# IPv6 transition mechanisms
# NAT64 — IPv6→IPv4 translation
# 6to4 — automatic IPv6 tunnel over IPv4 (2002::/16)
# Teredo — NAT traversal for IPv6
# Dual-stack — run both IPv4 and IPv6
# IPv6 neighbor discovery
ip -6 neighbor show
ping6 2001:db8::1
traceroute6 2001:db8::1
205.4 Alternative Networking Concepts
# Multihoming — multiple upstream connections
# BGP (Border Gateway Protocol) — for ISP-level routing
# Load balancing — distribute traffic across multiple paths
# Policy routing
echo 100 custom >> /etc/iproute2/rt_tables
ip rule add from 192.168.1.0/24 table custom
ip route add default via 10.0.0.1 table custom
# Traffic control (tc)
tc qdisc show dev eth0 # Show queuing disciplines
tc qdisc add dev eth0 root handle 1: htb default 30
tc class add dev eth0 parent 1: classid 1:1 htb rate 100mbit
tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip src 1.2.3.4 flowid 1:1
# Network namespaces
ip netns add red
ip netns add blue
ip link add veth-red type veth peer name veth-blue
ip link set veth-red netns red
ip link set veth-blue netns blue
ip netns exec red ip addr add 10.0.0.1/24 dev veth-red
ip netns exec red ip link set veth-red up
ip netns exec red ping 10.0.0.2
Topic 206: System Maintenance (weight 5)
206.1 Make and Install Programs from Source
# Standard build chain
./configure
make
make install
# Common configure options
./configure --prefix=/opt/software
./configure --with-feature --without-other
./configure --help | less
# make targets
make all # Build everything
make install # Install to --prefix
make clean # Remove build artifacts
make distclean # Remove configure artifacts
make uninstall # Remove installation (if supported)
make -j$(nproc) # Parallel build
# Build tools
gcc -o program program.c
gcc -Wall -Wextra -o program program.c # Warnings
g++ -o program program.cpp
make -f Makefile # Use specific makefile
# Libraries
# Static: .a files, linked at compile time
# Shared: .so files, linked at runtime
gcc -o program program.c -lm -lpthread # Link math and pthread
gcc -L/path/to/libs -o program program.c
export LD_LIBRARY_PATH=/path/to/libs:$LD_LIBRARY_PATH
ldconfig -p | grep library
206.2 Backup Operations
Already covered in 204.2.
# Incremental backup with tar
tar -czvf full-backup.tar.gz /home # Full backup (Sunday)
tar -czvf inc-backup-day1.tar.gz -g /tmp/snapshot /home # Incremental (Monday)
tar -czvf inc-backup-day2.tar.gz -g /tmp/snapshot /home # Incremental (Tuesday)
# Restore
tar -xzvf full-backup.tar.gz
tar -xzvf inc-backup-day2.tar.gz -g /dev/null
# Amanda backup system
cat /etc/amanda/amanda.conf
amcheck config
amdump config
amrestore /path/to/dump hostname /path
206.3 Notify Users on System-Related Issues
Already covered in LPIC-1 (wall, shutdown -k, /etc/motd).
# Send message to terminal of specific user
write alice
echo "System going down" | write alice
# Send to all users
wall "System maintenance at 2 AM"
shutdown -k +10 "Maintenance in 10 minutes"
# Message of the day
cat /etc/motd
# Login banners
cat /etc/issue # Pre-login banner (getty)
cat /etc/issue.net # Pre-login banner (telnet, SSH)
Exam Tips
- Practice LVM operations — create, extend, reduce, snapshot. Most missed topic on the exam.
- Know kernel compilation steps — configuration, build, module install, kernel install.
- Master RAID and LVM together — they are often combined in production scenarios.
- Understand advanced networking — bonding, bridging, VLAN, and IPv6 configuration.
- Practice in a VM environment — set up multiple disks, create LVM volumes, simulate disk failures.
Test Your Knowledge with Practice Exams
Ready to put this knowledge to the test? Our LPI practice portal includes 200+ realistic questions covering LPIC-1, LPIC-2, LPIC-3, and DevOps Tools Engineer certifications. Study mode, timed exams, domain breakdowns, and weak-area analysis included.
Related Articles
- LPIC-2 202-450 Deep Dive — Directory services, web hosting, file sharing, and security
- LPIC-2 Certification Guide — Overview of the full LPIC-2 certification path
- LPIC-1 101-500 Deep Dive — System architecture and package management fundamentals
- LPIC-1 102-500 Deep Dive — Shell scripting, networking, and security basics
- LPIC-1 & LPIC-2 Command Cheat Sheet — Quick reference for essential commands
- 50 Free LPIC-2 Practice Questions — Test your knowledge across all LPIC-2 topics
- Browse All LPI Resources — Full library of study guides, deep dives, and practice questions