Menguasai administrasi Linux harian seorang System Engineer: manajemen service dengan systemd, pengelolaan filesystem dan mount, tuning kernel lewat sysctl, serta user & group management yang benar

Di episode 2 kita membahas lifecycle sistem secara konseptual. Sekarang waktunya praktik keras: episode 3 ini adalah fondasi administrasi Linux yang akan kalian pakai setiap hari sebagai System Engineer. Bayangkan episode ini sebagai alat-alat dasar di kotak perkakas — service management, filesystem, kernel tuning, dan user management adalah empat area yang selalu ada di setiap server yang kalian kelola.
Mengapa episode ini penting? Karena sebagian besar server di dunia — dari VPS murah sampai data center enterprise — berjalan di Linux. Menguasai administrasinya berarti kalian bisa mengelola mayoritas infrastruktur yang ada. Kita fokus pada systemd, standar modern untuk manajemen service di hampir semua distro besar.
systemd mengelola semua service sebagai unit. Unit service berakhiran .service dan bisa di cek statusnya dengan systemctl:
systemctl status nginx # status service
systemctl enable --now nginx # aktifkan saat boot + mulai sekarang
systemctl disable --stop nginx # matikan auto-start + stop
systemctl list-units --type=service --state=runningMembaca output systemctl status adalah skill penting. Perhatikan baris Loaded, Active, dan baris terakhir yang berisi log service — di situlah petunjuk awal sebuah masalah.
Sebagai System Engineer, kalian akan sering menulis unit untuk aplikasi sendiri. Contoh unit untuk aplikasi Node.js:
[Unit]
Description=App Web Production
After=network.target postgresql.service
Wants=postgresql.service
[Service]
User=www-data
WorkingDirectory=/srv/app-web
ExecStart=/usr/bin/node /srv/app-web/server.js
Restart=on-failure
RestartSec=5
Environment=NODE_ENV=production
LimitNOFILE=65535
[Install]
WantedBy=multi-user.targetSetelah unit dibuat, muat ulang dan nyalakan:
sudo systemctl daemon-reload
sudo systemctl enable --now app-web
systemctl is-active app-webRestart=on-failure memastikan service menyala lagi otomatis saat crash — pola yang akan kita perdalam di episode 21 (high availability). Log service dibaca dengan journalctl:
journalctl -u app-web -n 50 # 50 baris terakhir
journalctl -u app-web --since "1 hour ago"
journalctl -u app-web -f # ikuti secara liveSystem Engineer harus tahu ke mana data disimpan dan berapa ruang yang tersisa:
df -h # kapasitas & pemakaian per mount
lsblk # struktur block device
blkid # UUID & type filesystem
mount # daftar mount aktifMount permanen dikonfigurasi di /etc/fstab. Contoh entri:
UUID=3f2a... / ext4 defaults 0 1
UUID=9b1c... /data ext4 defaults,nofail 0 2
tmpfs /tmp tmpfs defaults,size=512M 0 0Catatan penting: gunakan UUID (bukan /dev/sdb1) karena nama device bisa berubah antar boot, dan gunakan opsi nofail untuk disk tambahan agar server tetap boot saat disk tidak terpasang. Sebelum reboot, validasi fstab dengan findmnt --verify agar kesalahan ketik tidak membuat sistem gagal boot.
Warning
Kesalahan paling umum pemula adalah menambah entri fstab yang salah lalu me-reboot — hasilnya server tidak bisa boot. Selalu jalankan findmnt --verify setelah mengedit fstab, dan biasakan sync + reboot hanya saat benar-benar yakin.
Parameter kernel runtime dikelola lewat sysctl. Nilai bisa dilihat dan diubah sementara:
sysctl vm.swappiness
sysctl net.core.somaxconn
sudo sysctl -w vm.swappiness=10Perubahan hanya bertahan sampai reboot; untuk permanen tulis ke file di /etc/sysctl.d/:
# Kurangi kecenderungan swap (server dengan RAM cukup)
vm.swappiness=10
# Tingkatkan backlog koneksi untuk aplikasi yang sibuk
net.core.somaxconn=4096
# File descriptor maksimum per proses
fs.file-max=2097152Terapkan dengan sudo sysctl --system. Episode 16 akan membahas tuning kernel lebih mendalam — mulai sekarang cukup pahami mekanisme dasarnya.
Setiap service dan admin sebaiknya berjalan dengan akun sendiri — jangan memakai root untuk segala hal. Pola umum manajemen user:
sudo useradd -m -s /bin/bash alice
sudo usermod -aG sudo alice # tambah ke group sudo
sudo passwd alice
sudo groupadd app-devs
sudo usermod -aG app-devs bob
id alice # cek UID/GID & groupsudo.sudo.getent passwd | wc -l # jumlah akun
who # siapa yang login sekarang
last # riwayat loginRangkuman alur kerja yang bisa kalian praktikkan di VM:
# 1. Buat user khusus service
sudo useradd -r -s /usr/sbin/nologin webapp
# 2. Install dan jalankan nginx
sudo apt install -y nginx
sudo systemctl enable --now nginx
# 3. Cek kesehatan sistem
systemctl status nginx --no-pager
df -h && free -h && uptime
# 4. Cek log jika ada masalah
journalctl -u nginx -esudo; kesalahan kecil sebagai root bisa berakibat fatal.findmnt --verify sebelum reboot.journalctl adalah sumber informasi pertama saat service bermasalah./dev/sdX di fstab. Gunakan UUID agar konfigurasi tahan terhadap perubahan urutan disk.Restart=on-failure akan mati diam-diam saat crash.Inti yang harus dibawa pulang:
systemctl untuk kontrol, journalctl untuk log, unit .service untuk service buatan sendiri.df/lsblk/mount, dan mount permanen dikonfigurasi aman di fstab dengan UUID.sysctl.d berlaku permanen dan perlu sysctl --system.Di episode 4 selanjutnya kita akan menyeberang ke dunia Windows System Administration — Active Directory, Group Policy, dan PowerShell — agar kalian siap mengelola server di lingkungan enterprise yang hybrid. Sampai jumpa di episode 4!