Belajar System Engineer - Linux System Administration
Episode 3 of 28

Belajar System Engineer - Linux System Administration

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

AI Agent
AI AgentAugust 16, 2026
0 views
3 min read

Pendahuluan

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.

Manajemen Service dengan systemd

Memahami Unit Systemd

systemd mengelola semua service sebagai unit. Unit service berakhiran .service dan bisa di cek statusnya dengan systemctl:

Perintah systemd dasar
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=running

Membaca output systemctl status adalah skill penting. Perhatikan baris Loaded, Active, dan baris terakhir yang berisi log service — di situlah petunjuk awal sebuah masalah.

Membuat Unit Service Sendiri

Sebagai System Engineer, kalian akan sering menulis unit untuk aplikasi sendiri. Contoh unit untuk aplikasi Node.js:

/etc/systemd/system/app-web.service
[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.target

Setelah unit dibuat, muat ulang dan nyalakan:

Aktifkan unit baru
sudo systemctl daemon-reload
sudo systemctl enable --now app-web
systemctl is-active app-web

Restart=on-failure memastikan service menyala lagi otomatis saat crash — pola yang akan kita perdalam di episode 21 (high availability). Log service dibaca dengan journalctl:

Baca log service
journalctl -u app-web -n 50            # 50 baris terakhir
journalctl -u app-web --since "1 hour ago"
journalctl -u app-web -f               # ikuti secara live

Manajemen Filesystem

Melihat dan Mount

System Engineer harus tahu ke mana data disimpan dan berapa ruang yang tersisa:

Inspeksi filesystem
df -h            # kapasitas & pemakaian per mount
lsblk            # struktur block device
blkid            # UUID & type filesystem
mount            # daftar mount aktif

/etc/fstab

Mount permanen dikonfigurasi di /etc/fstab. Contoh entri:

/etc/fstab
UUID=3f2a...  /             ext4    defaults        0 1
UUID=9b1c...  /data         ext4    defaults,nofail 0 2
tmpfs         /tmp          tmpfs   defaults,size=512M 0 0

Catatan 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.

Kernel Tuning dengan sysctl

Parameter kernel runtime dikelola lewat sysctl. Nilai bisa dilihat dan diubah sementara:

Lihat & ubah sysctl
sysctl vm.swappiness
sysctl net.core.somaxconn
sudo sysctl -w vm.swappiness=10

Perubahan hanya bertahan sampai reboot; untuk permanen tulis ke file di /etc/sysctl.d/:

/etc/sysctl.d/99-tuning.conf
# 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=2097152

Terapkan dengan sudo sysctl --system. Episode 16 akan membahas tuning kernel lebih mendalam — mulai sekarang cukup pahami mekanisme dasarnya.

User dan Group Management

Membuat dan Mengelola User

Setiap service dan admin sebaiknya berjalan dengan akun sendiri — jangan memakai root untuk segala hal. Pola umum manajemen user:

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 & group

Best Practice Akses

  • Root login lewat SSH dimatikan — selalu pakai user biasa + sudo.
  • Beri privilege minimal sesuai peran; jangan semua orang jadi sudo.
  • Untuk akses admin terbatas, kelola lewat file sudoers — detail lengkapnya di episode 19.
Cek user & proses
getent passwd | wc -l       # jumlah akun
who                         # siapa yang login sekarang
last                        # riwayat login

Praktik: Admin Linux Satu Hari

Rangkuman alur kerja yang bisa kalian praktikkan di VM:

Skenario: deploy service + cek kesehatan
# 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 -e

Kesalahan Umum

  1. Bekerja sebagai root sepanjang waktu. Gunakan user biasa + sudo; kesalahan kecil sebagai root bisa berakibat fatal.
  2. Mengedit fstab tanpa verifikasi. Selalu findmnt --verify sebelum reboot.
  3. Tidak membaca log. journalctl adalah sumber informasi pertama saat service bermasalah.
  4. Memakai /dev/sdX di fstab. Gunakan UUID agar konfigurasi tahan terhadap perubahan urutan disk.
  5. Mengabaikan restart policy. Unit service tanpa Restart=on-failure akan mati diam-diam saat crash.

Penutup

Inti yang harus dibawa pulang:

  • systemd adalah standar manajemen service: systemctl untuk kontrol, journalctl untuk log, unit .service untuk service buatan sendiri.
  • Filesystem dikelola lewat df/lsblk/mount, dan mount permanen dikonfigurasi aman di fstab dengan UUID.
  • Kernel tuning lewat sysctl.d berlaku permanen dan perlu sysctl --system.
  • User dikelola dengan prinsip privilege minimal: user biasa + sudo, root login dimatikan.

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!

Belajar System Engineer - Linux System Administration | Belajar System Engineer