Detailed tutorials on Linux boot process, systemd services, disks, LVM, swap, NFS, Samba, SSH authentication, rsync, cron, logs, and essential networking concepts with real-world examples.
1) Boot Process (BIOS → GRUB → Kernel → systemd)
Linux boot flow:
- BIOS/UEFI initializes hardware
- GRUB bootloader loads kernel
- Kernel loads init/systemd
- systemd starts services
Check current bootloader
Check default boot target
Set boot target to multi-user
systemctl set-default multi-user.target
View boot logs
2) systemd Services Management
Start, stop, restart services
systemctl start httpd
systemctl stop httpd
systemctl restart httpd
Enable service at boot
Disable service
Check service status
View failed services
3) Disk Management: fdisk, gdisk, mkfs
List disks
Create partition using fdisk (MBR)
Inside fdisk:
- n → new partition
- w → write changes
Create partition using gdisk (GPT)
Create filesystem
mkfs.ext4 /dev/sdb1
mkfs.xfs /dev/sdb1
Mount partition
mkdir /mnt/data
mount /dev/sdb1 /mnt/data
Make permanent mount entry
Edit:
Example entry:
/dev/sdb1 /mnt/data ext4 defaults 0 0
4) LVM: PV, VG, LV
Create Physical Volume (PV)
Create Volume Group (VG)
Create Logical Volume (LV)
lvcreate -L 5G -n lvdata vgdata
Create filesystem
mkfs.ext4 /dev/vgdata/lvdata
Mount LV
mount /dev/vgdata/lvdata /data
Extend LV
lvextend -L +2G /dev/vgdata/lvdata
resize2fs /dev/vgdata/lvdata
Extend LV using 100% free space
lvextend -r -l +100%FREE /dev/vgdata/lvdata
5) Swap Management
Check swap
Create swap file
dd if=/dev/zero of=/swapfile bs=1G count=2
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
Make swap permanent
Add to /etc/fstab:
/swapfile swap swap defaults 0 0
6) NFS and Samba
NFS Server
Install and configure
dnf install nfs-utils
mkdir /srv/nfsdata
chmod 777 /srv/nfsdata
Edit exports file
Add:
/srv/nfsdata 192.168.1.0/24(rw,no_root_squash)
Enable service:
systemctl enable --now nfs-server
exportfs -rav
NFS Client
mount -t nfs server:/srv/nfsdata /mnt
Samba Server (SMB)
Install
Configure share
Edit:
Add:
[shared]
path = /srv/samba
browsable = yes
writable = yes
Set Samba user:
Restart service:
systemctl restart smb
systemctl enable smb
7) SSH and Key-Based Authentication
Generate SSH key (Client)
Copy key to server
Manual method
cat ~/.ssh/id_rsa.pub | ssh user@server "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
Disable password login (optional)
Edit:
Set:
PasswordAuthentication no
Restart SSH:
8) rsync and scp
rsync (sync files between servers)
rsync -av /source/ user@server:/destination/
rsync delete option
rsync -av --delete /local/dir/ user@server:/remote/dir/
scp (secure copy)
scp file.txt user@server:/tmp/
scp user@server:/tmp/file.txt .
9) Cron Jobs
Edit cron
Example: Take backup every day at 2 AM
0 2 * * * /usr/local/bin/backup.sh
List cron jobs
System-wide cron directories
/etc/cron.daily
/etc/cron.weekly
10) Logs: /var/log and journalctl
Important log files
/var/log/messages
/var/log/secure
/var/log/cron
/var/log/boot.log
View logs using journalctl
Show logs for last boot
Show logs for a specific service
Follow logs live
11) Networking Basics (IP, routes, firewall-cmd)
Check IP
Add temporary IP
ip addr add 192.168.1.10/24 dev eth0
Check routing table
Add route
ip route add 10.0.0.0/24 via 192.168.1.1
Check active network connections
Firewall commands (firewalld)
Start firewalld
systemctl start firewalld
Allow port 80
firewall-cmd --add-port=80/tcp --permanent
firewall-cmd --reload
List rules