1. Hardware Configuration
Linux administrators must know how to identify and configure hardware components. This includes understanding how the system interacts with both coldplug (detected at boot) and hotplug (connected while running) devices.
Coldplug Devices: Devices detected at boot time, managed via kernel modules.
Hotplug Devices: Devices connected after booting, dynamically managed primarily via udev.
Important Filesystems & Directories:
/sys
(sysfs): Virtual filesystem providing a structured view of devices and drivers from the kernel's perspective./proc
: Virtual filesystem providing an interface to kernel data structures and process information./dev
: Contains device special files, many of which are dynamically created and managed by udev.
2. Booting the System
Understanding the Linux boot process is crucial for troubleshooting system startup issues. The process involves several key stages from powering on the hardware to a fully usable system.
Stages of the Linux Boot Process:
- BIOS/UEFI: Initializes hardware (POST - Power-On Self-Test) and loads the bootloader from a configured boot device. UEFI is the modern standard, replacing traditional BIOS.
- Bootloader (e.g., GRUB2): Loads the Linux kernel and the initial RAM disk (initramfs/initrd) into memory. It then passes control to the kernel. GRUB2 is the most common bootloader.
- Kernel Initialization: The kernel initializes hardware using drivers from initramfs, mounts the root filesystem (as specified in bootloader config), and then executes the init process (PID 1). Learn more: Linux Kernel.
- Init Process (systemd): The init process (now typically systemd) takes over and starts system services, mounts filesystems listed in `/etc/fstab`, and brings the system to the target state (e.g., graphical login).
Commands for Boot Issues:
dmesg
: Displays kernel ring buffer messages.journalctl -b
: View systemd journal logs for the current boot.journalctl -k
: View kernel messages from the journal.grub2-mkconfig -o /boot/grub2/grub.cfg
: Regenerates GRUB2 configuration.fsck
: Checks and repairs filesystems.
Key Files and Directories for Boot:
/boot
: Contains the kernel (vmlinuz-*
), initramfs (initramfs-*.img
orinitrd.img-*
), and GRUB configuration (e.g.,/boot/grub2/grub.cfg
)./etc/fstab
: Defines filesystems to be mounted at boot./etc/default/grub
: Main configuration file for GRUB2 options before generatinggrub.cfg
./var/log/boot.log
: (May vary by distribution) Logs messages from early boot process.
3. Systemd Targets, Runlevels, Shutdown, and Reboot
Modern Linux systems primarily use systemd targets, which are analogous to traditional SysVinit runlevels, to define system states. Managing these states and performing graceful shutdowns or reboots are essential administrative tasks.
Common Systemd Targets (and their SysVinit Runlevel Equivalents):
poweroff.target
(Runlevel 0): Halt and power off the system.rescue.target
(Runlevel 1): Single-user mode for system maintenance. Network is usually down.multi-user.target
(Runlevel 3): Multi-user mode with networking, but typically no graphical interface. Default for servers.graphical.target
(Runlevel 5): Multi-user mode with networking and a graphical user interface. Default for desktops.reboot.target
(Runlevel 6): Reboot the system.
Commands for Managing System State:
systemctl get-default
: Shows the default target.systemctl set-default [target_name.target]
: Sets the default target.systemctl isolate [target_name.target]
: Switches to the specified target.systemctl poweroff
orshutdown -P now
orhalt -p
: Powers off the system.systemctl reboot
orshutdown -r now
: Reboots the system.systemctl halt
orshutdown -H now
: Halts the system without powering off (virtual machines might still power off).shutdown -h +10 "System will shut down in 10 minutes for maintenance."
: Schedules a shutdown and notifies users viawall
.wall "Message to all logged-in users"
: Sends a message to all terminals.
Domain 1 Summary & Next Steps
Mastering System Management (Domain 1) is fundamental for any Linux administrator. This includes proficiently handling hardware configurations, understanding the intricacies of the boot process, managing system states with systemd targets, and performing system shutdowns and reboots correctly. These skills ensure system stability and reliability.