ABDURROZAK.MY.ID // DEBIAN LINUX SERVER FUNDAMENTAL
FAQ LENGKAP17 VOLUME
Kumpulan FAQ komprehensif dari 17 Volume seri Debian Linux Server Fundamental. Total 255 pertanyaan dengan jawaban detail, command lengkap, dan penjelasan mendalam.
ABDUR ROZAK, S.Kom.Web Developer & Network Educator - abdurrozak.my.id
Debian adalah distribusi Linux yang dikembangkan secara kolaboratif oleh komunitas global melalui Debian Project. Dikenal sangat stabil dan menjadi basis Ubuntu, Linux Mint, Kali Linux, dll.
Branch utama: Stable , Testing , Unstable (Sid) .
CEK VERSISalin
cat /etc/os-release
lsb_release -a
cat /etc/debian_version
# ===== CONTOH OUTPUT =====
12.5
Penjelasan command:
lsb_release — Menampilkan informasi distribusi Linux.cat /etc/os-release — Menampilkan metadata OS (nama, versi, codename).
Q
Apa kelebihan Debian dibanding distro lain?
Stabilitas tinggi untuk productionKeamanan responsifLebih dari 59.000 paket Komunitas besar & aktif Komitmen free software Dokumentasi lengkap
Q
Perbedaan Stable, Testing, dan Unstable?
Stable (Bookworm) – production ready, paling stabilTesting (Trixie) – calon stable berikutnyaUnstable (Sid) – development, paket terbaruUntuk server production selalu gunakan Debian Stable .
Q
Requirement minimum install Debian Server?
CPU: 1 GHz+ (rekomendasi 2 GHz+) RAM: 512 MB (rekomendasi 2 GB+) Storage: 2 GB (rekomendasi 10 GB+) Network interface Tip: Gunakan man <command> atau <command> --help di terminal untuk melihat dokumentasi lengkap setiap perintah.
Graphical Install – mudah untuk pemulaInstall (text) – lebih cepatExpert Install – kontrol penuhAutomated Install (preseed)Live System
Q
Bagaimana cara download ISO Debian?
Download dari website resmi atau mirror Indonesia:
DOWNLOADSalin
# Official
https://www.debian.org/CD/
# Mirror Indonesia
https://kambing.ui.ac.id/debian-cd/
https://kartolo.sby.datautama.net.id/debian-cd/
# Netinst recommended
debian-12.x.x-amd64-netinst.iso
sha256sum debian-*.iso
# ===== CONTOH OUTPUT =====
a1b2c3d4e5f6789012345678901234567890abcdef1234567890abcdef123456 debian-12.5.0-amd64-netinst.iso
Q
Bagaimana membuat bootable USB?
BOOTABLE USBSalin
# Linux/Mac
sudo dd if=debian.iso of=/dev/sdX bs=4M status=progress
lsblk
# Windows: gunakan Rufus (https://rufus.ie)
# ===== CONTOH OUTPUT =====
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS
sda 8:0 0 120G 0 disk
├─sda1 8:1 0 20G 0 part /
├─sda2 8:2 0 98G 0 part /var
└─sda3 8:3 0 2G 0 part [SWAP]
Penjelasan command:
lsblk — Menampilkan semua block device (disk, partisi, USB) dalam bentuk tree.
Q
Apa itu APT package management?
APT (Advanced Package Tool) adalah sistem manajemen paket Debian.
APTSalin
sudo apt update
sudo apt upgrade
sudo apt install package
sudo apt remove package
apt search keyword
apt show package
# ===== CONTOH OUTPUT =====
Get:1 http://deb.debian.org/debian bookworm InRelease [151 kB]
Get:2 http://deb.debian.org/debian-security bookworm-security InRelease [48.0 kB]
Fetched 199 kB in 1s (185 kB/s)
Reading package lists... Done
Building dependency tree... Done
Penjelasan command:
apt update — Mengambil index paket terbaru dari semua repository yang dikonfigurasi. Tidak menginstal apa pun. Selalu jalankan sebelum install/upgrade.apt upgrade — Meng-upgrade semua paket yang memiliki versi lebih baru. Tidak akan menghapus paket lain.apt install — Menginstal paket beserta semua dependency yang dibutuhkan secara otomatis.apt remove — Menghapus paket, tetapi menyisakan file konfigurasi di /etc.
Q
Apa itu Debian repository?
Main – free software sesuai DFSGContrib – free tapi bergantung non-freeNon-free – proprietaryNon-free-firmware Tip: Gunakan man <command> atau <command> --help di terminal untuk melihat dokumentasi lengkap setiap perintah.
Q
Apa itu systemd di Debian?
systemd adalah init system dan service manager modern.
SYSTEMDSalin
systemctl start|stop|restart|status service
systemctl enable|disable service
systemctl list-units --type=service
journalctl -u service -f
# ===== CONTOH OUTPUT =====
Mar 11 09:14:22 server systemd[1]: Starting A high performance web server...
Mar 11 09:14:22 server systemd[1]: Started A high performance web server.
Mar 11 10:22:15 server nginx[1235]: 192.168.1.50 - - [11/Mar/2026:10:22:15] "GET / HTTP/1.1" 200
Penjelasan command:
systemctl start — Menjalankan service saat ini (tidak mempengaruhi boot).systemctl enable — Membuat service otomatis dijalankan setiap kali sistem boot.journalctl — Melihat log yang dikelola systemd-journald. Ganti tail -f /var/log/... dengan ini.journalctl -u — Melihat log khusus satu service. Tambahkan -f untuk mengikuti log secara real-time.
Sistem multi-user. root = superuser. User biasa dibatasi. Group untuk permission bersama.
Tip: Gunakan man <command> atau <command> --help di terminal untuk melihat dokumentasi lengkap setiap perintah.
Q
Apa itu Filesystem Hierarchy Standard (FHS)?
/ root/bin binary penting/etc konfigurasi/home home user/var data berubah (log)/usr program/tmp temporary/root home rootTip: Gunakan man <command> atau <command> --help di terminal untuk melihat dokumentasi lengkap setiap perintah.
Format paket Debian berisi software + metadata + script instalasi.
DPKGSalin
sudo dpkg -i package.deb
sudo dpkg -r name
dpkg -l
dpkg -L name
dpkg -S file
# ===== CONTOH OUTPUT =====
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-==============-============-============-=================================
ii nginx 1.22.1-9 amd64 high performance web server
ii openssh-server 1:9.2p1-2 amd64 secure shell (SSH) server
Penjelasan command:
dpkg -i — Menginstal file .deb lokal. Tidak menyelesaikan dependency secara otomatis.dpkg -r — Menghapus paket (konfigurasi masih tersisa).dpkg -l — Menampilkan daftar semua paket yang terinstal di sistem.dpkg -L — Menampilkan semua file yang dimiliki oleh suatu paket.dpkg -S — Mencari paket mana yang memiliki file tertentu.
Q
Apa itu Linux kernel di Debian?
KERNELSalin
uname -r
uname -a
lsmod
sudo apt install linux-image-amd64
# ===== CONTOH OUTPUT =====
6.1.0-18-amd64
Penjelasan command:
apt install — Menginstal paket beserta semua dependency yang dibutuhkan secara otomatis.
Q
Apa itu security update dan backports?
Security update = patch kerentanan. Backports = software lebih baru di Stable.
SECURITYSalin
sudo apt update && sudo apt upgrade
echo "deb http://deb.debian.org/debian bookworm-backports main" | sudo tee -a /etc/apt/sources.list
sudo apt install -t bookworm-backports package
# ===== CONTOH OUTPUT =====
Get:1 http://deb.debian.org/debian bookworm InRelease [151 kB]
Get:2 http://deb.debian.org/debian-security bookworm-security InRelease [48.0 kB]
Fetched 199 kB in 1s (185 kB/s)
Reading package lists... Done
Building dependency tree... Done
Penjelasan command:
apt update — Mengambil index paket terbaru dari semua repository yang dikonfigurasi. Tidak menginstal apa pun. Selalu jalankan sebelum install/upgrade.apt upgrade — Meng-upgrade semua paket yang memiliki versi lebih baru. Tidak akan menghapus paket lain.apt install — Menginstal paket beserta semua dependency yang dibutuhkan secara otomatis.
Q
Bagaimana cara instalasi Debian Server?
Download ISO netinst Buat bootable USB Boot dari USB Pilih Graphical/Text install Set bahasa, lokasi, keyboard Konfigurasi network Buat user & password Partisi disk Pilih software Install GRUB Reboot
Q
Rekomendasi partisi disk server?
PARTISISalin
/boot 500MB ext4
/ 20GB+ ext4
swap 2xRAM swap
/home sisa ext4
/var 50GB+ ext4 (untuk database)
Q
Apa itu LVM dan cara menggunakannya?
Logical Volume Manager memungkinkan resize volume dengan mudah.
LVMSalin
sudo pvcreate /dev/sdb1
sudo vgcreate vg0 /dev/sdb1
sudo lvcreate -L 20G -n data vg0
sudo lvextend -L +10G /dev/vg0/data
sudo resize2fs /dev/vg0/data
Q
Setup network static saat instalasi?
Pilih manual, isi IP Address, Netmask, Gateway, dan DNS (contoh 8.8.8.8 / 1.1.1.1).
Tip: Gunakan man <command> atau <command> --help di terminal untuk melihat dokumentasi lengkap setiap perintah.
Q
Setup user dan root password?
Set password root yang kuat. Buat user biasa lalu tambahkan ke group sudo setelah instalasi.
Tip: Gunakan man <command> atau <command> --help di terminal untuk melihat dokumentasi lengkap setiap perintah.
Q
Apa itu GRUB bootloader?
GRUBSalin
sudo update-grub
sudo grub-install /dev/sda
cat /boot/grub/grub.cfg
Penjelasan command:
update-grub — Memperbarui konfigurasi bootloader GRUB agar mengenali kernel baru/lama.
Q
Post-installation checklist?
POST-INSTALLSalin
sudo apt update && sudo apt upgrade
sudo apt install sudo curl wget vim nano htop
sudo usermod -aG sudo username
sudo apt install ufw openssh-server
sudo ufw allow ssh && sudo ufw enable
sudo systemctl enable ssh
# ===== CONTOH OUTPUT =====
Get:1 http://deb.debian.org/debian bookworm InRelease [151 kB]
Get:2 http://deb.debian.org/debian-security bookworm-security InRelease [48.0 kB]
Fetched 199 kB in 1s (185 kB/s)
Reading package lists... Done
Building dependency tree... Done
Penjelasan command:
apt update — Mengambil index paket terbaru dari semua repository yang dikonfigurasi. Tidak menginstal apa pun. Selalu jalankan sebelum install/upgrade.apt upgrade — Meng-upgrade semua paket yang memiliki versi lebih baru. Tidak akan menghapus paket lain.apt install — Menginstal paket beserta semua dependency yang dibutuhkan secara otomatis.ufw allow — Mengizinkan traffic masuk pada port/service yang disebutkan.ufw enable — Mengaktifkan firewall. Pastikan port SSH sudah di-allow sebelum menjalankan ini agar tidak terkunci.systemctl enable — Membuat service otomatis dijalankan setiap kali sistem boot.
Q
Cara update setelah instalasi?
UPDATESalin
sudo apt update
sudo apt upgrade
sudo apt full-upgrade
sudo apt autoremove
sudo apt clean
# ===== CONTOH OUTPUT =====
Get:1 http://deb.debian.org/debian bookworm InRelease [151 kB]
Get:2 http://deb.debian.org/debian-security bookworm-security InRelease [48.0 kB]
Fetched 199 kB in 1s (185 kB/s)
Reading package lists... Done
Building dependency tree... Done
Penjelasan command:
apt update — Mengambil index paket terbaru dari semua repository yang dikonfigurasi. Tidak menginstal apa pun. Selalu jalankan sebelum install/upgrade.apt upgrade — Meng-upgrade semua paket yang memiliki versi lebih baru. Tidak akan menghapus paket lain.apt full-upgrade — Seperti upgrade, tapi boleh menambah atau menghapus paket untuk menyelesaikan dependency. Lebih agresif.apt autoremove — Menghapus paket yang tidak lagi dibutuhkan (dependency yatim).apt clean — Menghapus file .deb yang tersimpan di cache (/var/cache/apt/archives).
Q
Setup timezone Asia/Jakarta?
TIMEZONESalin
sudo timedatectl set-timezone Asia/Jakarta
timedatectl
timedatectl list-timezones
# ===== CONTOH OUTPUT =====
Local time: Wed 2026-03-11 14:30:00 WIB
Universal time: Wed 2026-03-11 07:30:00 UTC
RTC time: Wed 2026-03-11 07:30:00
Time zone: Asia/Jakarta (WIB, +0700)
System clock synchronized: yes
NTP service: active
Penjelasan command:
timedatectl — Mengelola timezone dan sinkronisasi waktu sistem.
LOCALESalin
sudo dpkg-reconfigure locales
sudo update-locale LANG=en_US.UTF-8
locale
locale -a
KERNELSalin
sudo apt update && sudo apt upgrade
sudo apt install linux-image-amd64
sudo update-grub
sudo reboot
uname -r
# ===== CONTOH OUTPUT =====
Get:1 http://deb.debian.org/debian bookworm InRelease [151 kB]
Get:2 http://deb.debian.org/debian-security bookworm-security InRelease [48.0 kB]
Fetched 199 kB in 1s (185 kB/s)
Reading package lists... Done
Building dependency tree... Done
Penjelasan command:
apt update — Mengambil index paket terbaru dari semua repository yang dikonfigurasi. Tidak menginstal apa pun. Selalu jalankan sebelum install/upgrade.apt upgrade — Meng-upgrade semua paket yang memiliki versi lebih baru. Tidak akan menghapus paket lain.apt install — Menginstal paket beserta semua dependency yang dibutuhkan secara otomatis.update-grub — Memperbarui konfigurasi bootloader GRUB agar mengenali kernel baru/lama.
Q
Install software dengan APT?
APTSalin
sudo apt install package
sudo apt install pkg1 pkg2
sudo apt remove package
sudo apt purge package
apt search keyword
Penjelasan command:
apt install — Menginstal paket beserta semua dependency yang dibutuhkan secara otomatis.apt remove — Menghapus paket, tetapi menyisakan file konfigurasi di /etc.apt purge — Menghapus paket beserta seluruh file konfigurasinya.
DPKGSalin
sudo dpkg -i package.deb
sudo apt install -f
sudo dpkg -r name
Penjelasan command:
dpkg -i — Menginstal file .deb lokal. Tidak menyelesaikan dependency secara otomatis.apt install — Menginstal paket beserta semua dependency yang dibutuhkan secara otomatis.dpkg -r — Menghapus paket (konfigurasi masih tersisa).
HOSTNAMESalin
sudo hostnamectl set-hostname namaserver
hostnamectl
sudo nano /etc/hosts
# ===== CONTOH OUTPUT =====
Static hostname: server
Icon name: computer-vm
Chassis: vm
Machine ID: a1b2c3d4e5f6...
Boot ID: 1a2b3c4d5e6f...
Operating System: Debian GNU/Linux 12 (bookworm)
Kernel: Linux 6.1.0-18-amd64
Architecture: x86-64
Penjelasan command:
hostnamectl — Mengelola hostname sistem.
IPv6Salin
sudo nano /etc/sysctl.conf
# Tambahkan:
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
sudo sysctl -p
Penjelasan command:
nano — Editor teks sederhana di terminal, cocok untuk pemula.
Q
Command dasar Linux yang wajib dikuasai?
BASICSalin
ls -la
cd /path
pwd
cp -r src dest
mv src dest
rm -rf dir
mkdir -p path
cat / less / head / tail file
Q
Bagaimana menggunakan pipe dan redirect?
PIPE & REDIRECTSalin
cmd1 | cmd2
cmd > file
cmd >> file
cmd 2> error.log
cmd &> all.log
cmd < input.txt
FINDSalin
find / -name "*.conf"
find /home -type f -mtime -7
find / -size +100M
locate filename
updatedb
which command
whereis command
Penjelasan command:
find — Mencari file berdasarkan nama, ukuran, waktu modifikasi, permission, dll.
Q
Bagaimana melihat dan mengelola proses?
PROCESSSalin
ps aux
ps aux --sort=-%mem | head
top / htop
pstree
kill PID
killall name
pkill -f pattern
# ===== CONTOH OUTPUT =====
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1234 2.1 3.4 456789 123456 ? Ssl 09:00 0:45 /usr/sbin/mysqld
www-data 1235 0.8 1.2 98765 45678 ? S 09:14 0:12 nginx: worker process
root 1 0.0 0.3 168000 10240 ? Ss Mar10 0:05 /sbin/init
Penjelasan command:
ps aux — Menampilkan semua proses yang sedang berjalan beserta user, CPU, memory.top / htop — Monitor proses secara interaktif (real-time).
Q
Bagaimana menggunakan grep, awk, sed?
TEXT PROCESSINGSalin
grep -ri "error" /var/log
awk '{print $1}' file
sed -i 's/old/new/g' file
cut -d: -f1 /etc/passwd
sort file | uniq
Penjelasan command:
grep — Mencari teks di dalam file. -i = case-insensitive, -r = recursive, -n = tampilkan nomor baris.
Q
Bagaimana mengatur permission file?
PERMISSIONSalin
chmod 755 file
chmod -R 644 dir
chown user:group file
chown -R user:group dir
ls -l
umask
Penjelasan command:
chmod — Mengubah permission file/directory (read/write/execute untuk owner/group/other).chown — Mengubah kepemilikan (owner dan group) file/directory.
Q
Bagaimana membuat dan extract archive?
ARCHIVESalin
tar -czvf archive.tar.gz /path
tar -xzvf archive.tar.gz
tar -tzvf archive.tar.gz
gzip file / gunzip file.gz
zip -r archive.zip dir
unzip archive.zip
Penjelasan command:
tar -czvf — Membuat archive tar yang dikompresi gzip. c=create, z=gzip, v=verbose, f=file.tar -xzvf — Extract archive tar.gz. x=extract, z=gzip, v=verbose, f=file.
Q
Bagaimana cek disk usage?
DISK USAGESalin
df -h
du -sh /path
du -h / | sort -hr | head -20
lsblk
fdisk -l
# ===== CONTOH OUTPUT =====
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 20G 6.2G 13G 33% /
/dev/sda2 100G 45G 50G 48% /var
tmpfs 1.9G 0 1.9G 0% /dev/shm
Penjelasan command:
df -h — Menampilkan penggunaan disk dalam format human-readable (GB/MB).du -sh — Menampilkan ukuran total suatu directory.
Q
Bagaimana menggunakan history dan alias?
HISTORY & ALIASSalin
history
history | grep apt
!! (ulang command terakhir)
alias ll='ls -la'
alias update='sudo apt update && sudo apt upgrade'
unalias ll
# ===== CONTOH OUTPUT =====
Get:1 http://deb.debian.org/debian bookworm InRelease [151 kB]
Get:2 http://deb.debian.org/debian-security bookworm-security InRelease [48.0 kB]
Fetched 199 kB in 1s (185 kB/s)
Reading package lists... Done
Building dependency tree... Done
Penjelasan command:
grep — Mencari teks di dalam file. -i = case-insensitive, -r = recursive, -n = tampilkan nomor baris.apt update — Mengambil index paket terbaru dari semua repository yang dikonfigurasi. Tidak menginstal apa pun. Selalu jalankan sebelum install/upgrade.apt upgrade — Meng-upgrade semua paket yang memiliki versi lebih baru. Tidak akan menghapus paket lain.
Q
Bagaimana mengelola service dari CLI?
SYSTEMCTLSalin
systemctl status|start|stop|restart service
systemctl enable|disable service
systemctl list-units --failed
journalctl -u service -f
# ===== CONTOH OUTPUT =====
● nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; preset: enabled)
Active: active (running) since Wed 2026-03-11 09:14:22 WIB; 2h 15min ago
Docs: man:nginx(8)
Process: 1234 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Main PID: 1235 (nginx)
Tasks: 3 (limit: 2215)
Memory: 6.2M
CPU: 45ms
CGroup: /system.slice/nginx.service
├─1235 "nginx: master process /usr/sbin/nginx -g daemon on; master_process on;"
└─1236 "nginx: worker process"
Penjelasan command:
systemctl status — Menampilkan status service (active/inactive/failed) + cuplikan log terakhir. Perintah pertama saat troubleshooting.systemctl enable — Membuat service otomatis dijalankan setiap kali sistem boot.journalctl — Melihat log yang dikelola systemd-journald. Ganti tail -f /var/log/... dengan ini.journalctl -u — Melihat log khusus satu service. Tambahkan -f untuk mengikuti log secara real-time.
Q
Bagaimana melihat info hardware?
HARDWARESalin
lscpu
free -h
lsblk
lspci
lsusb
dmidecode -t memory
# ===== CONTOH OUTPUT =====
total used free shared buff/cache available
Mem: 3.8Gi 1.2Gi 412Mi 12Mi 2.2Gi 2.4Gi
Swap: 2.0Gi 0B 2.0Gi
Penjelasan command:
free -h — Menampilkan penggunaan RAM dan swap.
Q
Bagaimana menggunakan tmux/screen?
TMUXSalin
sudo apt install tmux
tmux new -s session
tmux attach -t session
Ctrl+b d → detach
tmux ls
Penjelasan command:
apt install — Menginstal paket beserta semua dependency yang dibutuhkan secara otomatis.
Q
Bagaimana transfer file dengan scp/rsync?
TRANSFERSalin
scp file user@host:/path
scp -r dir user@host:/path
rsync -avz --progress source/ user@host:/dest/
rsync -avz --delete source/ dest/
Penjelasan command:
rsync -avz — Sinkronisasi file/directory. a=archive mode, v=verbose, z=kompresi saat transfer.
Q
Bagaimana melihat log sistem?
LOGSSalin
journalctl -xe
journalctl -f
journalctl -u nginx -f
tail -f /var/log/syslog
tail -f /var/log/auth.log
# ===== CONTOH OUTPUT =====
Mar 11 09:14:22 server systemd[1]: Starting A high performance web server...
Mar 11 09:14:22 server systemd[1]: Started A high performance web server.
Mar 11 10:22:15 server nginx[1235]: 192.168.1.50 - - [11/Mar/2026:10:22:15] "GET / HTTP/1.1" 200
Penjelasan command:
journalctl — Melihat log yang dikelola systemd-journald. Ganti tail -f /var/log/... dengan ini.journalctl -u — Melihat log khusus satu service. Tambahkan -f untuk mengikuti log secara real-time.
Q
Bagaimana membuat bash script sederhana?
SCRIPTSalin
nano script.sh
#!/bin/bash
echo "Hello World"
chmod +x script.sh
./script.sh
Penjelasan command:
chmod — Mengubah permission file/directory (read/write/execute untuk owner/group/other).
Backup melindungi data dari hardware failure, human error, ransomware, dan disaster. Tanpa backup yang baik, data hilang bisa permanen.
Q
Apa strategi backup 3-2-1?
3 salinan data, 2 media berbeda, 1 offsite. Standar industri untuk ketahanan data.
Tip: Gunakan man <command> atau <command> --help di terminal untuk melihat dokumentasi lengkap setiap perintah.
Q
Bagaimana backup dengan tar?
TAR BACKUPSalin
tar -czvf backup-$(date +%Y%m%d).tar.gz /path/penting
tar -xzvf backup.tar.gz -C /restore/path
tar -tzvf backup.tar.gz
Penjelasan command:
tar -czvf — Membuat archive tar yang dikompresi gzip. c=create, z=gzip, v=verbose, f=file.tar -xzvf — Extract archive tar.gz. x=extract, z=gzip, v=verbose, f=file.
Q
Bagaimana backup dengan rsync?
RSYNCSalin
rsync -avz --progress /source/ /backup/
rsync -avz -e ssh /source/ user@remote:/backup/
rsync -avz --delete /source/ /mirror/
Penjelasan command:
rsync -avz — Sinkronisasi file/directory. a=archive mode, v=verbose, z=kompresi saat transfer.
Q
Bagaimana backup database MariaDB/MySQL?
MYSQL DUMPSalin
mysqldump -u root -p --all-databases > all.sql
mysqldump -u root -p dbname > dbname.sql
mysql -u root -p dbname < dbname.sql
Penjelasan command:
mysqldump — Membuat dump (backup) database MySQL/MariaDB ke file SQL.
Q
Bagaimana backup PostgreSQL?
PG DUMPSalin
pg_dump -U postgres dbname > dbname.sql
pg_dumpall -U postgres > all.sql
psql -U postgres dbname < dbname.sql
Penjelasan command:
pg_dump — Membuat dump database PostgreSQL.
Q
Bagaimana membuat backup otomatis dengan cron?
CRON BACKUPSalin
crontab -e
0 2 * * * /usr/local/bin/backup.sh
# Isi backup.sh:
#!/bin/bash
tar -czvf /backup/data-$(date +\%Y\%m\%d).tar.gz /var/www
Penjelasan command:
tar -czvf — Membuat archive tar yang dikompresi gzip. c=create, z=gzip, v=verbose, f=file.
Q
Bagaimana restore dari tar backup?
RESTORESalin
tar -tzvf backup.tar.gz
tar -xzvf backup.tar.gz -C /path/restore
Penjelasan command:
tar -xzvf — Extract archive tar.gz. x=extract, z=gzip, v=verbose, f=file.
Q
Bagaimana backup seluruh sistem?
FULL SYSTEMSalin
rsync -aAXv --exclude={/dev,/proc,/sys,/tmp,/run,/mnt,/media,/lost+found} / /mnt/backup/
Penjelasan command:
rsync — Menyalin/sinkronisasi file secara efisien, mendukung transfer remote via SSH.
LVM SNAPSHOTSalin
sudo lvcreate -L 5G -s -n snap /dev/vg0/data
sudo mount /dev/vg0/snap /mnt/snap
sudo lvremove /dev/vg0/snap
Penjelasan command:
mount — Me-mount filesystem ke direktori tertentu.
Q
Bagaimana verifikasi integritas backup?
VERIFYSalin
tar -tzvf backup.tar.gz > /dev/null && echo OK
sha256sum backup.tar.gz > backup.sha256
sha256sum -c backup.sha256
# ===== CONTOH OUTPUT =====
a1b2c3d4e5f6789012345678901234567890abcdef1234567890abcdef123456 debian-12.5.0-amd64-netinst.iso
Q
Bagaimana backup konfigurasi penting?
CONFIG BACKUPSalin
tar -czvf etc-backup.tar.gz /etc
cp -a /etc/nginx /backup/nginx
dpkg --get-selections > packages.list
Penjelasan command:
tar -czvf — Membuat archive tar yang dikompresi gzip. c=create, z=gzip, v=verbose, f=file.
Q
Bagaimana restore package list?
RESTORE PKGSalin
sudo dpkg --set-selections < packages.list
sudo apt-get dselect-upgrade
Q
Tools backup modern yang direkomendasikan?
BorgBackup – deduplication + encryptionRestic – mudah & encryptedDuplicati – ada GUIrsnapshot – berbasis rsyncTip: Gunakan man <command> atau <command> --help di terminal untuk melihat dokumentasi lengkap setiap perintah.
Q
Bagaimana uji restore secara berkala?
Jadwalkan uji restore minimal sebulan sekali ke environment terpisah. Backup yang tidak pernah diuji sama saja dengan tidak punya backup.
Q
Bagaimana membuat user baru?
ADD USERSalin
sudo adduser username
sudo useradd -m -s /bin/bash username
sudo passwd username
Penjelasan command:
passwd — Mengubah password user.
Q
Bagaimana menghapus user?
DEL USERSalin
sudo deluser username
sudo deluser --remove-home username
sudo userdel -r username
Q
Bagaimana menambah user ke group?
GROUPSalin
sudo usermod -aG groupname username
sudo usermod -aG sudo username
groups username
id username
# ===== CONTOH OUTPUT =====
admin : admin sudo users
Penjelasan command:
usermod — Mengubah atribut user (group, shell, dll).
Q
Bagaimana membuat group baru?
ADD GROUPSalin
sudo addgroup groupname
sudo groupadd groupname
getent group groupname
Q
Bagaimana mengatur sudo tanpa password?
SUDOERSSalin
sudo visudo
# Tambahkan di akhir:
username ALL=(ALL) NOPASSWD: ALL
Penjelasan command:
passwd — Mengubah password user.visudo — Mengedit file sudoers dengan aman (dicek syntax-nya).
Q
Bagaimana melihat daftar user?
LIST USERSalin
cat /etc/passwd
getent passwd
cut -d: -f1 /etc/passwd
Penjelasan command:
passwd — Mengubah password user.
Q
Bagaimana ganti password user?
PASSWDSalin
passwd # diri sendiri
sudo passwd username
sudo passwd -l username # lock
sudo passwd -u username # unlock
Penjelasan command:
passwd — Mengubah password user.
Q
Bagaimana set password aging?
AGINGSalin
sudo chage -l username
sudo chage -M 90 username
sudo chage -W 7 username
Penjelasan command:
chage — Mengatur kebijakan masa berlaku password.
Q
Bagaimana membuat user system (tanpa login)?
SYS USERSalin
sudo useradd -r -s /usr/sbin/nologin svcuser
sudo useradd -r -s /bin/false svcuser
Q
Bagaimana batasi akses SSH per user?
SSH LIMITSalin
sudo nano /etc/ssh/sshd_config
AllowUsers user1 user2
DenyUsers baduser
sudo systemctl restart ssh
Penjelasan command:
systemctl restart — Stop lalu start ulang service. Gunakan setelah mengubah konfigurasi.
Q
Bagaimana melihat siapa yang login?
WHOSalin
who
w
last
lastlog
whoami / id
# ===== CONTOH OUTPUT =====
admin pts/0 2026-03-11 09:00 (192.168.1.50)
admin pts/1 2026-03-11 10:15 (192.168.1.51)
Q
Bagaimana set umask default?
UMASKSalin
umask
umask 027
# Tambahkan ke ~/.bashrc atau /etc/profile
Q
Bagaimana transfer ownership massal?
CHOWNSalin
sudo chown -R user:group /path
sudo find /path -user olduser -exec chown newuser {} +
Penjelasan command:
chown — Mengubah kepemilikan (owner dan group) file/directory.find — Mencari file berdasarkan nama, ukuran, waktu modifikasi, permission, dll.
Q
Bagaimana audit permission file sensitif?
AUDITSalin
find /etc -type f -perm -002
find / -perm -4000
ls -l /etc/shadow /etc/passwd
Penjelasan command:
find — Mencari file berdasarkan nama, ukuran, waktu modifikasi, permission, dll.
Q
Bagaimana disable root login langsung?
ROOTSalin
sudo passwd -l root
# Atau di sshd_config:
PermitRootLogin no
Penjelasan command:
passwd — Mengubah password user.
Q
Bagaimana update dan upgrade paket?
UPDATESalin
sudo apt update
sudo apt upgrade
sudo apt full-upgrade
sudo apt autoremove --purge
sudo apt clean
# ===== CONTOH OUTPUT =====
Get:1 http://deb.debian.org/debian bookworm InRelease [151 kB]
Get:2 http://deb.debian.org/debian-security bookworm-security InRelease [48.0 kB]
Fetched 199 kB in 1s (185 kB/s)
Reading package lists... Done
Building dependency tree... Done
Penjelasan command:
apt update — Mengambil index paket terbaru dari semua repository yang dikonfigurasi. Tidak menginstal apa pun. Selalu jalankan sebelum install/upgrade.apt upgrade — Meng-upgrade semua paket yang memiliki versi lebih baru. Tidak akan menghapus paket lain.apt full-upgrade — Seperti upgrade, tapi boleh menambah atau menghapus paket untuk menyelesaikan dependency. Lebih agresif.apt autoremove — Menghapus paket yang tidak lagi dibutuhkan (dependency yatim).apt clean — Menghapus file .deb yang tersimpan di cache (/var/cache/apt/archives).
Q
Bagaimana mencari dan melihat info paket?
SEARCHSalin
apt search keyword
apt show package
apt-cache policy package
apt-cache depends package
Penjelasan command:
apt search — Mencari paket berdasarkan nama atau deskripsi.apt show — Menampilkan informasi detail paket (versi, dependensi, deskripsi, dll).
Q
Bagaimana install dan remove paket?
INSTALLSalin
sudo apt install package
sudo apt install package=version
sudo apt remove package
sudo apt purge package
Penjelasan command:
apt install — Menginstal paket beserta semua dependency yang dibutuhkan secara otomatis.apt remove — Menghapus paket, tetapi menyisakan file konfigurasi di /etc.apt purge — Menghapus paket beserta seluruh file konfigurasinya.
Q
Bagaimana menambah repository pihak ketiga?
REPOSalin
sudo nano /etc/apt/sources.list.d/custom.list
# Format:
deb http://example.com/debian bookworm main
sudo apt update
# ===== CONTOH OUTPUT =====
Get:1 http://deb.debian.org/debian bookworm InRelease [151 kB]
Get:2 http://deb.debian.org/debian-security bookworm-security InRelease [48.0 kB]
Fetched 199 kB in 1s (185 kB/s)
Reading package lists... Done
Building dependency tree... Done
Penjelasan command:
apt update — Mengambil index paket terbaru dari semua repository yang dikonfigurasi. Tidak menginstal apa pun. Selalu jalankan sebelum install/upgrade.
Q
Bagaimana hold paket agar tidak ter-upgrade?
HOLDSalin
sudo apt-mark hold package
sudo apt-mark unhold package
apt-mark showhold
# ===== CONTOH OUTPUT =====
admin pts/0 2026-03-11 09:00 (192.168.1.50)
admin pts/1 2026-03-11 10:15 (192.168.1.51)
Q
Bagaimana memperbaiki dependency broken?
FIXSalin
sudo apt --fix-broken install
sudo dpkg --configure -a
sudo apt install -f
Penjelasan command:
apt install — Menginstal paket beserta semua dependency yang dibutuhkan secara otomatis.
Q
Bagaimana melihat paket yang terinstall?
LISTSalin
dpkg -l
apt list --installed
apt list --upgradable
# ===== CONTOH OUTPUT =====
Listing... Done
nginx/stable 1.22.1-9+deb12u1 amd64 [upgradable from: 1.22.1-9]
openssl/stable 3.0.11-1~deb12u2 amd64 [upgradable from: 3.0.11-1~deb12u1]
Penjelasan command:
dpkg -l — Menampilkan daftar semua paket yang terinstal di sistem.dpkg -L — Menampilkan semua file yang dimiliki oleh suatu paket.
Q
Bagaimana membersihkan cache APT?
CLEANSalin
sudo apt clean
sudo apt autoclean
du -sh /var/cache/apt
Penjelasan command:
apt clean — Menghapus file .deb yang tersimpan di cache (/var/cache/apt/archives).du -sh — Menampilkan ukuran total suatu directory.
Q
Bagaimana downgrade paket?
DOWNGRADESalin
apt-cache policy package
sudo apt install package=versi-lama
sudo apt-mark hold package
Penjelasan command:
apt install — Menginstal paket beserta semua dependency yang dibutuhkan secara otomatis.
Q
Bagaimana menggunakan aptitude?
APTITUDESalin
sudo apt install aptitude
sudo aptitude update
sudo aptitude safe-upgrade
sudo aptitude install package
Penjelasan command:
apt install — Menginstal paket beserta semua dependency yang dibutuhkan secara otomatis.
Q
Bagaimana cek paket orphan?
ORPHANSalin
sudo apt install deborphan
deborphan
sudo apt autoremove --purge
Penjelasan command:
apt install — Menginstal paket beserta semua dependency yang dibutuhkan secara otomatis.apt autoremove — Menghapus paket yang tidak lagi dibutuhkan (dependency yatim).
Q
Bagaimana pin prioritaskan repository?
PINNINGSalin
sudo nano /etc/apt/preferences.d/pin
Package: *
Pin: release a=stable
Pin-Priority: 700
Penjelasan command:
nano — Editor teks sederhana di terminal, cocok untuk pemula.
Q
Bagaimana download paket tanpa install?
DOWNLOADSalin
apt download package
sudo apt install --download-only package
ls *.deb
Penjelasan command:
apt install — Menginstal paket beserta semua dependency yang dibutuhkan secara otomatis.
Q
Bagaimana reinstall paket?
REINSTALLSalin
sudo apt install --reinstall package
Penjelasan command:
apt install — Menginstal paket beserta semua dependency yang dibutuhkan secara otomatis.
Q
Bagaimana melihat changelog paket?
CHANGELOGSalin
apt changelog package
zcat /usr/share/doc/package/changelog.Debian.gz | less
Q
Bagaimana start/stop/restart service?
CONTROLSalin
sudo systemctl start service
sudo systemctl stop service
sudo systemctl restart service
sudo systemctl reload service
sudo systemctl status service
# ===== CONTOH OUTPUT =====
● nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; preset: enabled)
Active: active (running) since Wed 2026-03-11 09:14:22 WIB; 2h 15min ago
Docs: man:nginx(8)
Process: 1234 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Main PID: 1235 (nginx)
Tasks: 3 (limit: 2215)
Memory: 6.2M
CPU: 45ms
CGroup: /system.slice/nginx.service
├─1235 "nginx: master process /usr/sbin/nginx -g daemon on; master_process on;"
└─1236 "nginx: worker process"
Penjelasan command:
systemctl start — Menjalankan service saat ini (tidak mempengaruhi boot).systemctl stop — Menghentikan service yang sedang berjalan.systemctl restart — Stop lalu start ulang service. Gunakan setelah mengubah konfigurasi.systemctl reload — Memuat ulang konfigurasi tanpa memutus koneksi (jika service mendukung).systemctl status — Menampilkan status service (active/inactive/failed) + cuplikan log terakhir. Perintah pertama saat troubleshooting.
Q
Bagaimana enable service agar start saat boot?
ENABLESalin
sudo systemctl enable service
sudo systemctl disable service
sudo systemctl is-enabled service
systemctl list-unit-files --type=service
Penjelasan command:
systemctl enable — Membuat service otomatis dijalankan setiap kali sistem boot.systemctl disable — Membatalkan auto-start service saat boot.
Q
Bagaimana melihat service yang failed?
FAILEDSalin
systemctl --failed
systemctl list-units --state=failed
journalctl -p err -b
Penjelasan command:
journalctl — Melihat log yang dikelola systemd-journald. Ganti tail -f /var/log/... dengan ini.
Q
Bagaimana membuat custom systemd service?
CUSTOM UNITSalin
sudo nano /etc/systemd/system/myapp.service
[Unit]
Description=My App
[Service]
ExecStart=/usr/bin/myapp
Restart=always
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable --now myapp
Penjelasan command:
systemctl daemon-reload — Memuat ulang unit file systemd setelah Anda mengubah/membuat file .service.systemctl enable — Membuat service otomatis dijalankan setiap kali sistem boot.
Q
Bagaimana melihat log service?
JOURNALSalin
journalctl -u service
journalctl -u service -f
journalctl -u service --since "1 hour ago"
# ===== CONTOH OUTPUT =====
Mar 11 09:14:22 server systemd[1]: Starting A high performance web server...
Mar 11 09:14:22 server systemd[1]: Started A high performance web server.
Mar 11 10:22:15 server nginx[1235]: 192.168.1.50 - - [11/Mar/2026:10:22:15] "GET / HTTP/1.1" 200
Penjelasan command:
journalctl — Melihat log yang dikelola systemd-journald. Ganti tail -f /var/log/... dengan ini.journalctl -u — Melihat log khusus satu service. Tambahkan -f untuk mengikuti log secara real-time.
Target adalah group of units (mirip runlevel). Contoh: multi-user.target, graphical.target, rescue.target.
TARGETSalin
systemctl get-default
systemctl set-default multi-user.target
systemctl list-units --type=target
Q
Bagaimana membuat systemd timer?
TIMERSalin
sudo nano /etc/systemd/system/backup.timer
[Timer]
OnCalendar=daily
Persistent=true
[Install]
WantedBy=timers.target
sudo systemctl enable --now backup.timer
Penjelasan command:
systemctl enable — Membuat service otomatis dijalankan setiap kali sistem boot.
Q
Bagaimana reload daemon setelah ubah unit?
RELOADSalin
sudo systemctl daemon-reload
sudo systemctl restart service
Penjelasan command:
systemctl daemon-reload — Memuat ulang unit file systemd setelah Anda mengubah/membuat file .service.systemctl restart — Stop lalu start ulang service. Gunakan setelah mengubah konfigurasi.
MASKSalin
sudo systemctl mask service
sudo systemctl unmask service
Q
Bagaimana melihat dependency service?
DEPSSalin
systemctl list-dependencies service
systemctl show service -p Requires,Wants
Q
Bagaimana batasi resource service?
RESOURCESalin
[Service]
CPUQuota=50%
MemoryMax=512M
MemoryHigh=400M
Q
Bagaimana edit unit file dengan mudah?
EDITSalin
sudo systemctl edit service
sudo systemctl edit --full service
sudo systemctl cat service
Q
Bagaimana cek waktu boot?
BOOT ANALYZESalin
systemd-analyze
systemd-analyze blame
systemd-analyze critical-chain
Q
Bagaimana kirim signal ke service?
SIGNALSalin
sudo systemctl kill -s SIGTERM service
sudo systemctl kill -s SIGHUP service
Q
Bagaimana reset failed state?
RESETSalin
sudo systemctl reset-failed
sudo systemctl reset-failed service
Q
Bagaimana melihat konfigurasi network?
IPSalin
ip addr show
ip link show
ip route show
nmcli device status
# ===== CONTOH OUTPUT =====
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536
inet 127.0.0.1/8 scope host lo
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500
inet 192.168.1.100/24 brd 192.168.1.255 scope global eth0
valid_lft forever preferred_lft forever
Penjelasan command:
ip addr — Menampilkan alamat IP dan status network interface.ip route — Menampilkan tabel routing kernel.
Q
Bagaimana set static IP?
STATICSalin
sudo nano /etc/network/interfaces
auto eth0
iface eth0 inet static
address 192.168.1.100
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 8.8.8.8
sudo systemctl restart networking
Penjelasan command:
systemctl restart — Stop lalu start ulang service. Gunakan setelah mengubah konfigurasi.
Q
Bagaimana set DNS resolver?
DNSSalin
sudo nano /etc/resolv.conf
nameserver 8.8.8.8
nameserver 1.1.1.1
Penjelasan command:
nano — Editor teks sederhana di terminal, cocok untuk pemula.
Q
Bagaimana cek konektivitas?
TESTSalin
ping -c 4 8.8.8.8
ping -c 4 google.com
traceroute google.com
curl -I https://google.com
# ===== CONTOH OUTPUT =====
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=117 time=12.4 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=117 time=11.8 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=117 time=12.1 ms
64 bytes from 8.8.8.8: icmp_seq=4 ttl=117 time=11.9 ms
--- 8.8.8.8 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3005ms
rtt min/avg/max/mdev = 11.8/12.0/12.4/0.2 ms
Penjelasan command:
ping — Menguji konektivitas jaringan ke host tertentu.traceroute — Menampilkan jalur (hop) yang dilalui paket ke tujuan.curl — Transfer data dari/ke server (sering dipakai untuk test HTTP).
Q
Bagaimana melihat port yang terbuka?
PORTSalin
ss -tulpn
ss -tulpn | grep :80
netstat -tulpn
nmap localhost
# ===== CONTOH OUTPUT =====
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
tcp LISTEN 0 128 0.0.0.0:22 0.0.0.0:* users:(("sshd",pid=789,fd=3))
tcp LISTEN 0 511 0.0.0.0:80 0.0.0.0:* users:(("nginx",pid=1235,fd=6))
tcp LISTEN 0 511 0.0.0.0:443 0.0.0.0:* users:(("nginx",pid=1235,fd=7))
Penjelasan command:
ss -tulpn — Menampilkan socket yang listening (TCP/UDP) beserta proses yang menggunakannya. Pengganti netstat modern.grep — Mencari teks di dalam file. -i = case-insensitive, -r = recursive, -n = tampilkan nomor baris.
Q
Bagaimana setup UFW firewall?
UFWSalin
sudo apt install ufw
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow ssh
sudo ufw allow 80,443/tcp
sudo ufw enable
sudo ufw status verbose
# ===== CONTOH OUTPUT =====
Status: active
To Action From
-- ------ ----
22/tcp ALLOW Anywhere
80/tcp ALLOW Anywhere
443/tcp ALLOW Anywhere
Penjelasan command:
apt install — Menginstal paket beserta semua dependency yang dibutuhkan secara otomatis.ufw allow — Mengizinkan traffic masuk pada port/service yang disebutkan.ufw enable — Mengaktifkan firewall. Pastikan port SSH sudah di-allow sebelum menjalankan ini agar tidak terkunci.ufw status — Menampilkan status firewall dan daftar rules yang aktif.
Q
Bagaimana melihat routing table?
ROUTESalin
ip route
route -n
ip route get 8.8.8.8
# ===== CONTOH OUTPUT =====
default via 192.168.1.1 dev eth0 proto static
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.100
Penjelasan command:
ip route — Menampilkan tabel routing kernel.
Q
Bagaimana menambah route static?
ADD ROUTESalin
sudo ip route add 10.0.0.0/24 via 192.168.1.1
sudo ip route del 10.0.0.0/24
# ===== CONTOH OUTPUT =====
default via 192.168.1.1 dev eth0 proto static
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.100
Penjelasan command:
ip route — Menampilkan tabel routing kernel.
Q
Bagaimana setup network bonding?
Bonding menggabungkan beberapa NIC untuk redundancy atau throughput lebih tinggi. Konfigurasi via /etc/network/interfaces atau NetworkManager.
Q
Bagaimana troubleshoot DNS?
DNS TROUBLESalin
cat /etc/resolv.conf
nslookup google.com
dig google.com
host google.com
Penjelasan command:
dig — Tool query DNS yang powerful.nslookup — Tool query DNS klasik.
Q
Bagaimana capture packet dengan tcpdump?
TCPDUMPSalin
sudo tcpdump -i eth0
sudo tcpdump -i eth0 port 80
sudo tcpdump -i eth0 -w capture.pcap
Penjelasan command:
tcpdump — Menangkap dan menganalisis paket jaringan.
Q
Bagaimana setup hostname resolution lokal?
HOSTSSalin
sudo nano /etc/hosts
192.168.1.100 server.local server
Penjelasan command:
nano — Editor teks sederhana di terminal, cocok untuk pemula.
Q
Bagaimana cek bandwidth dan traffic?
TRAFFICSalin
sudo apt install iftop nethogs nload
iftop -i eth0
nethogs
nload eth0
Penjelasan command:
apt install — Menginstal paket beserta semua dependency yang dibutuhkan secara otomatis.
Q
Bagaimana restart network service?
RESTART NETSalin
sudo systemctl restart networking
sudo systemctl restart NetworkManager
sudo ifdown eth0 && sudo ifup eth0
Penjelasan command:
systemctl restart — Stop lalu start ulang service. Gunakan setelah mengubah konfigurasi.
Q
Bagaimana setup bridge network?
BRIDGESalin
sudo apt install bridge-utils
sudo brctl addbr br0
sudo brctl addif br0 eth0
sudo ip link set br0 up
Penjelasan command:
apt install — Menginstal paket beserta semua dependency yang dibutuhkan secara otomatis.
Q
Bagaimana melihat disk dan partisi?
DISKSalin
lsblk -f
fdisk -l
parted -l
df -hT
blkid
# ===== CONTOH OUTPUT =====
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 20G 6.2G 13G 33% /
/dev/sda2 100G 45G 50G 48% /var
tmpfs 1.9G 0 1.9G 0% /dev/shm
Penjelasan command:
df -h — Menampilkan penggunaan disk dalam format human-readable (GB/MB).
Q
Bagaimana membuat partisi baru?
FDISKSalin
sudo fdisk /dev/sdb
n (new), p (primary), w (write)
sudo partprobe /dev/sdb
Penjelasan command:
fdisk — Tool partisi disk klasik.
Q
Bagaimana format filesystem?
MKFSSalin
sudo mkfs.ext4 /dev/sdb1
sudo mkfs.xfs /dev/sdb1
sudo mkfs.btrfs /dev/sdb1
Penjelasan command:
mkfs.ext4 — Membuat filesystem ext4 pada partisi/device.
Q
Bagaimana mount dan umount?
MOUNTSalin
sudo mount /dev/sdb1 /mnt/data
sudo umount /mnt/data
mount | column -t
findmnt
Penjelasan command:
find — Mencari file berdasarkan nama, ukuran, waktu modifikasi, permission, dll.
Q
Bagaimana set auto-mount di fstab?
FSTABSalin
sudo nano /etc/fstab
/dev/sdb1 /mnt/data ext4 defaults 0 2
sudo mount -a
sudo findmnt --verify
Penjelasan command:
find — Mencari file berdasarkan nama, ukuran, waktu modifikasi, permission, dll.
Q
Bagaimana extend LVM volume?
LV EXTENDSalin
sudo lvextend -L +20G /dev/vg0/data
sudo resize2fs /dev/vg0/data
# Atau XFS:
sudo xfs_growfs /mountpoint
Penjelasan command:
mount — Me-mount filesystem ke direktori tertentu.
Q
Bagaimana cek kesehatan disk (SMART)?
SMARTSalin
sudo apt install smartmontools
sudo smartctl -a /dev/sda
sudo smartctl -t short /dev/sda
# ===== CONTOH OUTPUT =====
=== START OF INFORMATION SECTION ===
Model Family: Samsung based SSDs
Device Model: Samsung SSD 870
Serial Number: S1234ABC
=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
Penjelasan command:
apt install — Menginstal paket beserta semua dependency yang dibutuhkan secara otomatis.smartctl — Membaca data SMART dari hard disk/SSD untuk deteksi dini kerusakan.
Q
Bagaimana membuat swap file?
SWAPSalin
sudo fallocate -l 2G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
Penjelasan command:
chmod — Mengubah permission file/directory (read/write/execute untuk owner/group/other).
Q
Bagaimana monitoring I/O disk?
IOSalin
sudo apt install iotop sysstat
iotop
iostat -xz 1
Penjelasan command:
apt install — Menginstal paket beserta semua dependency yang dibutuhkan secara otomatis.
Q
Bagaimana encrypt disk dengan LUKS?
LUKSSalin
sudo cryptsetup luksFormat /dev/sdb1
sudo cryptsetup open /dev/sdb1 securedata
sudo mkfs.ext4 /dev/mapper/securedata
Penjelasan command:
mkfs.ext4 — Membuat filesystem ext4 pada partisi/device.
Q
Bagaimana cek inode usage?
INODESalin
df -i
find / -xdev -printf '%h\n' | sort | uniq -c | sort -nr | head
Penjelasan command:
find — Mencari file berdasarkan nama, ukuran, waktu modifikasi, permission, dll.
Q
Bagaimana resize partisi non-LVM?
Gunakan gparted (GUI) atau parted + resize2fs. Selalu backup dulu sebelum resize.
Tip: Gunakan man <command> atau <command> --help di terminal untuk melihat dokumentasi lengkap setiap perintah.
Q
Bagaimana setup software RAID (mdadm)?
RAIDSalin
sudo apt install mdadm
sudo mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sdb1 /dev/sdc1
cat /proc/mdstat
Penjelasan command:
apt install — Menginstal paket beserta semua dependency yang dibutuhkan secara otomatis.
Q
Bagaimana membersihkan disk space?
CLEANSalin
sudo apt autoremove --purge
sudo journalctl --vacuum-time=7d
sudo find /var/log -name "*.gz" -delete
du -xh / | sort -hr | head -20
Penjelasan command:
apt autoremove — Menghapus paket yang tidak lagi dibutuhkan (dependency yatim).journalctl — Melihat log yang dikelola systemd-journald. Ganti tail -f /var/log/... dengan ini.find — Mencari file berdasarkan nama, ukuran, waktu modifikasi, permission, dll.
BINDSalin
sudo mount --bind /source /target
# Di fstab:
/source /target none bind 0 0
Penjelasan command:
mount — Me-mount filesystem ke direktori tertentu.
Q
Bagaimana install Apache?
APACHESalin
sudo apt install apache2
sudo systemctl enable --now apache2
sudo systemctl status apache2
# ===== CONTOH OUTPUT =====
● nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; preset: enabled)
Active: active (running) since Wed 2026-03-11 09:14:22 WIB; 2h 15min ago
Docs: man:nginx(8)
Process: 1234 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Main PID: 1235 (nginx)
Tasks: 3 (limit: 2215)
Memory: 6.2M
CPU: 45ms
CGroup: /system.slice/nginx.service
├─1235 "nginx: master process /usr/sbin/nginx -g daemon on; master_process on;"
└─1236 "nginx: worker process"
Penjelasan command:
apt install — Menginstal paket beserta semua dependency yang dibutuhkan secara otomatis.systemctl enable — Membuat service otomatis dijalankan setiap kali sistem boot.systemctl status — Menampilkan status service (active/inactive/failed) + cuplikan log terakhir. Perintah pertama saat troubleshooting.
Q
Bagaimana install Nginx?
NGINXSalin
sudo apt install nginx
sudo systemctl enable --now nginx
sudo systemctl status nginx
# ===== CONTOH OUTPUT =====
● nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; preset: enabled)
Active: active (running) since Wed 2026-03-11 09:14:22 WIB; 2h 15min ago
Docs: man:nginx(8)
Process: 1234 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Main PID: 1235 (nginx)
Tasks: 3 (limit: 2215)
Memory: 6.2M
CPU: 45ms
CGroup: /system.slice/nginx.service
├─1235 "nginx: master process /usr/sbin/nginx -g daemon on; master_process on;"
└─1236 "nginx: worker process"
Penjelasan command:
apt install — Menginstal paket beserta semua dependency yang dibutuhkan secara otomatis.systemctl enable — Membuat service otomatis dijalankan setiap kali sistem boot.systemctl status — Menampilkan status service (active/inactive/failed) + cuplikan log terakhir. Perintah pertama saat troubleshooting.
Q
Bagaimana setup virtual host Apache?
VHOST APACHESalin
sudo nano /etc/apache2/sites-available/example.com.conf
<VirtualHost *:80>
ServerName example.com
DocumentRoot /var/www/example.com
</VirtualHost>
sudo a2ensite example.com.conf
sudo systemctl reload apache2
Penjelasan command:
systemctl reload — Memuat ulang konfigurasi tanpa memutus koneksi (jika service mendukung).
Q
Bagaimana setup virtual host Nginx?
VHOST NGINXSalin
sudo nano /etc/nginx/sites-available/example.com
server {
listen 80;
server_name example.com;
root /var/www/example.com;
}
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
sudo nginx -t && sudo systemctl reload nginx
# ===== CONTOH OUTPUT =====
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Penjelasan command:
systemctl reload — Memuat ulang konfigurasi tanpa memutus koneksi (jika service mendukung).nginx -t — Menguji konfigurasi Nginx. Selalu jalankan sebelum reload/restart.
Q
Bagaimana install LAMP stack?
LAMPSalin
sudo apt install apache2 mariadb-server php libapache2-mod-php php-mysql
sudo mysql_secure_installation
sudo systemctl restart apache2
Penjelasan command:
apt install — Menginstal paket beserta semua dependency yang dibutuhkan secara otomatis.systemctl restart — Stop lalu start ulang service. Gunakan setelah mengubah konfigurasi.
Q
Bagaimana install LEMP stack?
LEMPSalin
sudo apt install nginx mariadb-server php-fpm php-mysql
sudo mysql_secure_installation
sudo systemctl restart nginx php*-fpm
Penjelasan command:
apt install — Menginstal paket beserta semua dependency yang dibutuhkan secara otomatis.systemctl restart — Stop lalu start ulang service. Gunakan setelah mengubah konfigurasi.
Q
Bagaimana install SSL Let's Encrypt?
SSLSalin
sudo apt install certbot python3-certbot-apache
sudo certbot --apache -d example.com
# Nginx:
sudo apt install python3-certbot-nginx
sudo certbot --nginx -d example.com
Penjelasan command:
apt install — Menginstal paket beserta semua dependency yang dibutuhkan secara otomatis.certbot — Client resmi Let's Encrypt untuk mendapatkan dan memperbarui sertifikat SSL gratis.
Q
Bagaimana auto-renew SSL?
RENEWSalin
sudo certbot renew --dry-run
sudo crontab -e
0 3 * * * certbot renew --quiet
Penjelasan command:
certbot — Client resmi Let's Encrypt untuk mendapatkan dan memperbarui sertifikat SSL gratis.
Q
Bagaimana enable modul Apache?
A2ENMODSalin
sudo a2enmod rewrite ssl headers
sudo a2dismod status
sudo systemctl restart apache2
Penjelasan command:
systemctl restart — Stop lalu start ulang service. Gunakan setelah mengubah konfigurasi.
Q
Bagaimana set PHP configuration?
PHPSalin
php -v
php -m
sudo nano /etc/php/*/apache2/php.ini
upload_max_filesize = 64M
post_max_size = 64M
# ===== CONTOH OUTPUT =====
PHP 8.2.7 (cli) (built: Jun 9 2023 12:00:00) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.7, Copyright (c) Zend Technologies
Penjelasan command:
nano — Editor teks sederhana di terminal, cocok untuk pemula.
Q
Bagaimana test konfigurasi web server?
TESTSalin
sudo nginx -t
sudo apache2ctl configtest
sudo apache2ctl -S
# ===== CONTOH OUTPUT =====
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Penjelasan command:
nginx -t — Menguji konfigurasi Nginx. Selalu jalankan sebelum reload/restart.apache2ctl configtest — Menguji konfigurasi Apache.
Q
Bagaimana melihat log web server?
WEB LOGSalin
sudo tail -f /var/log/apache2/error.log
sudo tail -f /var/log/nginx/error.log
sudo tail -f /var/log/nginx/access.log
Q
Bagaimana set permission web root yang aman?
PERM WEBSalin
sudo chown -R www-data:www-data /var/www
sudo find /var/www -type d -exec chmod 755 {} \;
sudo find /var/www -type f -exec chmod 644 {} \;
Penjelasan command:
chown — Mengubah kepemilikan (owner dan group) file/directory.chmod — Mengubah permission file/directory (read/write/execute untuk owner/group/other).find — Mencari file berdasarkan nama, ukuran, waktu modifikasi, permission, dll.
Q
Bagaimana force HTTPS redirect?
Nginx: return 301 https://$host$request_uri;
Apache: RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
Tip: Gunakan man <command> atau <command> --help di terminal untuk melihat dokumentasi lengkap setiap perintah.
Q
Bagaimana enable HTTP/2?
Pastikan SSL aktif. Nginx: listen 443 ssl http2;. Apache: enable modul http2.
Tip: Gunakan man <command> atau <command> --help di terminal untuk melihat dokumentasi lengkap setiap perintah.
Q
Bagaimana install MariaDB?
MARIADBSalin
sudo apt install mariadb-server mariadb-client
sudo systemctl enable --now mariadb
sudo mysql_secure_installation
Penjelasan command:
apt install — Menginstal paket beserta semua dependency yang dibutuhkan secara otomatis.systemctl enable — Membuat service otomatis dijalankan setiap kali sistem boot.
Q
Bagaimana install PostgreSQL?
POSTGRESSalin
sudo apt install postgresql postgresql-contrib
sudo systemctl enable --now postgresql
sudo -u postgres psql
Penjelasan command:
apt install — Menginstal paket beserta semua dependency yang dibutuhkan secara otomatis.systemctl enable — Membuat service otomatis dijalankan setiap kali sistem boot.
Q
Bagaimana membuat database & user MariaDB?
MYSQL USERSalin
sudo mysql
CREATE DATABASE mydb;
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON mydb.* TO 'myuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Q
Bagaimana membuat database & user PostgreSQL?
PG USERSalin
sudo -u postgres psql
CREATE DATABASE mydb;
CREATE USER myuser WITH PASSWORD 'password';
GRANT ALL PRIVILEGES ON DATABASE mydb TO myuser;
\q
Q
Bagaimana backup database?
DB BACKUPSalin
mysqldump -u root -p mydb > mydb.sql
pg_dump -U postgres mydb > mydb.sql
mysqldump -u root -p --all-databases > all.sql
Penjelasan command:
mysqldump — Membuat dump (backup) database MySQL/MariaDB ke file SQL.pg_dump — Membuat dump database PostgreSQL.
Q
Bagaimana restore database?
DB RESTORESalin
mysql -u root -p mydb < mydb.sql
psql -U postgres mydb < mydb.sql
Q
Bagaimana remote access MariaDB?
REMOTESalin
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
# bind-address = 0.0.0.0
CREATE USER 'user'@'%' IDENTIFIED BY 'pass';
GRANT ALL ON *.* TO 'user'@'%';
Penjelasan command:
nano — Editor teks sederhana di terminal, cocok untuk pemula.
Q
Bagaimana cek status database?
STATUSSalin
sudo systemctl status mariadb
mysqladmin -u root -p status
mysql -e "SHOW PROCESSLIST;"
# ===== CONTOH OUTPUT =====
● nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; preset: enabled)
Active: active (running) since Wed 2026-03-11 09:14:22 WIB; 2h 15min ago
Docs: man:nginx(8)
Process: 1234 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Main PID: 1235 (nginx)
Tasks: 3 (limit: 2215)
Memory: 6.2M
CPU: 45ms
CGroup: /system.slice/nginx.service
├─1235 "nginx: master process /usr/sbin/nginx -g daemon on; master_process on;"
└─1236 "nginx: worker process"
Penjelasan command:
systemctl status — Menampilkan status service (active/inactive/failed) + cuplikan log terakhir. Perintah pertama saat troubleshooting.
Q
Bagaimana tuning dasar MariaDB?
Edit my.cnf: innodb_buffer_pool_size, max_connections. Monitor dengan mysqltuner.
Tip: Gunakan man <command> atau <command> --help di terminal untuk melihat dokumentasi lengkap setiap perintah.
Q
Bagaimana install phpMyAdmin?
PHPMYADMINSalin
sudo apt install phpmyadmin
# Pilih apache2, ikuti prompt konfigurasi
Penjelasan command:
apt install — Menginstal paket beserta semua dependency yang dibutuhkan secara otomatis.
Q
Bagaimana reset password root MariaDB?
RESET ROOTSalin
sudo systemctl stop mariadb
sudo mysqld_safe --skip-grant-tables &
mysql -u root
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED BY 'newpass';
Penjelasan command:
systemctl stop — Menghentikan service yang sedang berjalan.
Q
Bagaimana melihat ukuran database?
SIZESalin
SELECT table_schema AS db, ROUND(SUM(data_length+index_length)/1024/1024,2) AS MB
FROM information_schema.tables GROUP BY table_schema;
Q
Bagaimana enable slow query log?
Di my.cnf: slow_query_log = 1, long_query_time = 2, slow_query_log_file = /var/log/mysql/slow.log
Tip: Gunakan man <command> atau <command> --help di terminal untuk melihat dokumentasi lengkap setiap perintah.
Q
Bagaimana koneksi dari aplikasi?
Gunakan host=localhost (socket) atau 127.0.0.1 (TCP). Pastikan user punya privilege yang sesuai.
Tip: Gunakan man <command> atau <command> --help di terminal untuk melihat dokumentasi lengkap setiap perintah.
Q
Bagaimana monitoring database?
Tools: mytop, pg_stat_activity, Prometheus + mysqld_exporter / postgres_exporter, Grafana.
Tip: Gunakan man <command> atau <command> --help di terminal untuk melihat dokumentasi lengkap setiap perintah.
Q
Bagaimana install SSH server?
SSH INSTALLSalin
sudo apt install openssh-server
sudo systemctl enable --now ssh
sudo systemctl status ssh
# ===== CONTOH OUTPUT =====
● nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; preset: enabled)
Active: active (running) since Wed 2026-03-11 09:14:22 WIB; 2h 15min ago
Docs: man:nginx(8)
Process: 1234 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Main PID: 1235 (nginx)
Tasks: 3 (limit: 2215)
Memory: 6.2M
CPU: 45ms
CGroup: /system.slice/nginx.service
├─1235 "nginx: master process /usr/sbin/nginx -g daemon on; master_process on;"
└─1236 "nginx: worker process"
Penjelasan command:
apt install — Menginstal paket beserta semua dependency yang dibutuhkan secara otomatis.systemctl enable — Membuat service otomatis dijalankan setiap kali sistem boot.systemctl status — Menampilkan status service (active/inactive/failed) + cuplikan log terakhir. Perintah pertama saat troubleshooting.
Q
Bagaimana generate SSH key?
KEYGENSalin
ssh-keygen -t ed25519 -C "email@example.com"
ssh-keygen -t rsa -b 4096
ls ~/.ssh/
Penjelasan command:
ssh-keygen — Membuat pasangan kunci SSH (private + public). Gunakan ed25519 untuk keamanan modern.
Q
Bagaimana copy public key ke server?
COPY KEYSalin
ssh-copy-id user@server
cat ~/.ssh/id_ed25519.pub | ssh user@server "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"
# ===== CONTOH OUTPUT =====
uid=1000(admin) gid=1000(admin) groups=1000(admin),27(sudo),100(users)
Penjelasan command:
ssh-copy-id — Menyalin public key ke server remote agar bisa login tanpa password.
Q
Bagaimana hardening SSH?
HARDENINGSalin
sudo nano /etc/ssh/sshd_config
Port 2222
PermitRootLogin no
PasswordAuthentication no
PubkeyAuthentication yes
MaxAuthTries 3
AllowUsers user1
sudo systemctl restart ssh
Penjelasan command:
systemctl restart — Stop lalu start ulang service. Gunakan setelah mengubah konfigurasi.
Q
Bagaimana ganti port SSH?
Ubah Port di sshd_config, restart ssh, dan izinkan port baru di firewall (ufw allow 2222/tcp).
Tip: Gunakan man <command> atau <command> --help di terminal untuk melihat dokumentasi lengkap setiap perintah.
Q
Bagaimana disable password authentication?
Set PasswordAuthentication no di sshd_config setelah memastikan key authentication sudah bekerja.
Tip: Gunakan man <command> atau <command> --help di terminal untuk melihat dokumentasi lengkap setiap perintah.
Q
Bagaimana SSH tunneling?
TUNNELSalin
# Local forward
ssh -L 8080:localhost:80 user@server
# Remote forward
ssh -R 8080:localhost:80 user@server
# Dynamic SOCKS
ssh -D 1080 user@server
Q
Bagaimana menggunakan SSH config?
CONFIGSalin
nano ~/.ssh/config
Host myserver
HostName 192.168.1.100
User admin
Port 2222
IdentityFile ~/.ssh/id_ed25519
Penjelasan command:
nano — Editor teks sederhana di terminal, cocok untuk pemula.
Q
Bagaimana batasi akses dengan Fail2ban?
FAIL2BANSalin
sudo apt install fail2ban
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo systemctl enable --now fail2ban
sudo fail2ban-client status sshd
# ===== CONTOH OUTPUT =====
Status for the jail: sshd
|- Filter
| |- Currently failed: 2
| |- Total failed: 47
| `- File list: /var/log/auth.log
`- Actions
|- Currently banned: 1
|- Total banned: 5
`- Banned IP list: 203.0.113.45
Penjelasan command:
apt install — Menginstal paket beserta semua dependency yang dibutuhkan secara otomatis.systemctl enable — Membuat service otomatis dijalankan setiap kali sistem boot.fail2ban-client — Mengelola Fail2ban (status jail, unban IP, dll).
SSH LOGSalin
sudo journalctl -u ssh
sudo tail -f /var/log/auth.log
sudo grep "Failed password" /var/log/auth.log
# ===== CONTOH OUTPUT =====
Mar 11 09:14:22 server systemd[1]: Starting A high performance web server...
Mar 11 09:14:22 server systemd[1]: Started A high performance web server.
Mar 11 10:22:15 server nginx[1235]: 192.168.1.50 - - [11/Mar/2026:10:22:15] "GET / HTTP/1.1" 200
Penjelasan command:
journalctl — Melihat log yang dikelola systemd-journald. Ganti tail -f /var/log/... dengan ini.journalctl -u — Melihat log khusus satu service. Tambahkan -f untuk mengikuti log secara real-time.grep — Mencari teks di dalam file. -i = case-insensitive, -r = recursive, -n = tampilkan nomor baris.
Q
Bagaimana multiple key dan agent?
AGENTSalin
eval $(ssh-agent)
ssh-add ~/.ssh/id_ed25519
ssh-add -l
SCP SFTPSalin
scp file user@host:/path
sftp user@host
rsync -avz -e ssh source/ user@host:/dest/
Penjelasan command:
rsync -avz — Sinkronisasi file/directory. a=archive mode, v=verbose, z=kompresi saat transfer.
Q
Bagaimana disable root login via SSH?
Set PermitRootLogin no di sshd_config. Gunakan user biasa + sudo.
Tip: Gunakan man <command> atau <command> --help di terminal untuk melihat dokumentasi lengkap setiap perintah.
Q
Bagaimana set idle timeout SSH?
TIMEOUTSalin
ClientAliveInterval 300
ClientAliveCountMax 2
# Di sshd_config
Q
Bagaimana troubleshoot koneksi SSH?
TROUBLESalin
ssh -vvv user@host
sudo systemctl status ssh
sudo ss -tlnp | grep ssh
sudo ufw status
# ===== CONTOH OUTPUT =====
● nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; preset: enabled)
Active: active (running) since Wed 2026-03-11 09:14:22 WIB; 2h 15min ago
Docs: man:nginx(8)
Process: 1234 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Main PID: 1235 (nginx)
Tasks: 3 (limit: 2215)
Memory: 6.2M
CPU: 45ms
CGroup: /system.slice/nginx.service
├─1235 "nginx: master process /usr/sbin/nginx -g daemon on; master_process on;"
└─1236 "nginx: worker process"
Penjelasan command:
systemctl status — Menampilkan status service (active/inactive/failed) + cuplikan log terakhir. Perintah pertama saat troubleshooting.grep — Mencari teks di dalam file. -i = case-insensitive, -r = recursive, -n = tampilkan nomor baris.ufw status — Menampilkan status firewall dan daftar rules yang aktif.
Q
Bagaimana install Postfix?
POSTFIXSalin
sudo apt install postfix
# Pilih Internet Site
sudo systemctl enable --now postfix
Penjelasan command:
apt install — Menginstal paket beserta semua dependency yang dibutuhkan secara otomatis.systemctl enable — Membuat service otomatis dijalankan setiap kali sistem boot.
Q
Bagaimana install Dovecot?
DOVECOTSalin
sudo apt install dovecot-core dovecot-imapd dovecot-pop3d
sudo systemctl enable --now dovecot
Penjelasan command:
apt install — Menginstal paket beserta semua dependency yang dibutuhkan secara otomatis.systemctl enable — Membuat service otomatis dijalankan setiap kali sistem boot.
Q
Bagaimana konfigurasi dasar Postfix?
MAIN.CFSalin
sudo nano /etc/postfix/main.cf
myhostname = mail.example.com
mydestination = $myhostname, localhost
inet_interfaces = all
Penjelasan command:
nano — Editor teks sederhana di terminal, cocok untuk pemula.
Q
Bagaimana test kirim email dari CLI?
SENDMAILSalin
echo "Test body" | mail -s "Test subject" user@example.com
sudo apt install mailutils
Penjelasan command:
apt install — Menginstal paket beserta semua dependency yang dibutuhkan secara otomatis.
Q
Bagaimana melihat antrian mail?
QUEUESalin
mailq
postqueue -p
sudo postsuper -d ALL
Q
Bagaimana setup mailbox user?
Buat system user, pastikan home directory ada, dan Dovecot dikonfigurasi untuk Maildir atau mbox.
Tip: Gunakan man <command> atau <command> --help di terminal untuk melihat dokumentasi lengkap setiap perintah.
Q
Bagaimana enable SASL authentication?
Integrasikan Postfix dengan Dovecot SASL agar user bisa authenticate saat kirim email outbound.
Tip: Gunakan man <command> atau <command> --help di terminal untuk melihat dokumentasi lengkap setiap perintah.
Q
Bagaimana set reverse DNS (PTR)?
Hubungi provider VPS untuk set PTR record IP server ke hostname mail. Sangat penting agar tidak dianggap spam.
Tip: Gunakan man <command> atau <command> --help di terminal untuk melihat dokumentasi lengkap setiap perintah.
Q
Bagaimana cek reputasi IP mail server?
Gunakan mxtoolbox.com, multiRBL, atau senderbase.org untuk cek blacklist.
Tip: Gunakan man <command> atau <command> --help di terminal untuk melihat dokumentasi lengkap setiap perintah.
Q
Bagaimana install OpenDKIM?
DKIMSalin
sudo apt install opendkim opendkim-tools
# Generate key & konfigurasi di /etc/opendkim.conf
Penjelasan command:
apt install — Menginstal paket beserta semua dependency yang dibutuhkan secara otomatis.
Q
Bagaimana setup SPF record?
Tambahkan TXT record di DNS: v=spf1 mx a ip4:YOUR.IP -all
Tip: Gunakan man <command> atau <command> --help di terminal untuk melihat dokumentasi lengkap setiap perintah.
TXT record: v=DMARC1; p=quarantine; rua=mailto:dmarc@example.com
Tip: Gunakan man <command> atau <command> --help di terminal untuk melihat dokumentasi lengkap setiap perintah.
Q
Bagaimana log mail server?
MAIL LOGSalin
sudo tail -f /var/log/mail.log
sudo journalctl -u postfix -f
sudo journalctl -u dovecot -f
# ===== CONTOH OUTPUT =====
Mar 11 09:14:22 server systemd[1]: Starting A high performance web server...
Mar 11 09:14:22 server systemd[1]: Started A high performance web server.
Mar 11 10:22:15 server nginx[1235]: 192.168.1.50 - - [11/Mar/2026:10:22:15] "GET / HTTP/1.1" 200
Penjelasan command:
journalctl — Melihat log yang dikelola systemd-journald. Ganti tail -f /var/log/... dengan ini.journalctl -u — Melihat log khusus satu service. Tambahkan -f untuk mengikuti log secara real-time.
Q
Bagaimana batasi relay Postfix?
Set mynetworks dan smtpd_recipient_restrictions agar tidak menjadi open relay.
Tip: Gunakan man <command> atau <command> --help di terminal untuk melihat dokumentasi lengkap setiap perintah.
Q
Bagaimana test konfigurasi mail?
TESTSalin
sudo postfix check
sudo doveconf -n
telnet localhost 25
Q
Bagaimana install Samba?
SAMBASalin
sudo apt install samba samba-common-bin
sudo systemctl enable --now smbd nmbd
Penjelasan command:
apt install — Menginstal paket beserta semua dependency yang dibutuhkan secara otomatis.systemctl enable — Membuat service otomatis dijalankan setiap kali sistem boot.
Q
Bagaimana konfigurasi share Samba?
SMB.CONFSalin
sudo nano /etc/samba/smb.conf
[share]
path = /srv/samba/share
browseable = yes
read only = no
valid users = username
sudo smbpasswd -a username
sudo systemctl restart smbd
# ===== CONTOH OUTPUT =====
uid=1000(admin) gid=1000(admin) groups=1000(admin),27(sudo),100(users)
Penjelasan command:
systemctl restart — Stop lalu start ulang service. Gunakan setelah mengubah konfigurasi.
Q
Bagaimana install NFS server?
NFSSalin
sudo apt install nfs-kernel-server
sudo nano /etc/exports
/srv/nfs 192.168.1.0/24(rw,sync,no_subtree_check)
sudo exportfs -a
sudo systemctl enable --now nfs-kernel-server
Penjelasan command:
apt install — Menginstal paket beserta semua dependency yang dibutuhkan secara otomatis.systemctl enable — Membuat service otomatis dijalankan setiap kali sistem boot.
Q
Bagaimana mount Samba dari client Linux?
MOUNT CIFSSalin
sudo apt install cifs-utils
sudo mount -t cifs //server/share /mnt -o username=user
Penjelasan command:
apt install — Menginstal paket beserta semua dependency yang dibutuhkan secara otomatis.
Q
Bagaimana mount NFS dari client?
MOUNT NFSSalin
sudo mount -t nfs server:/srv/nfs /mnt/nfs
# fstab:
server:/srv/nfs /mnt/nfs nfs defaults 0 0
Penjelasan command:
mount — Me-mount filesystem ke direktori tertentu.
Q
Bagaimana set permission share yang aman?
Gunakan valid users, jangan guest ok = yes kecuali diperlukan. Set permission directory dengan chown/chmod yang tepat.
Tip: Gunakan man <command> atau <command> --help di terminal untuk melihat dokumentasi lengkap setiap perintah.
Q
Bagaimana melihat status Samba?
SMB STATUSSalin
sudo smbstatus
sudo systemctl status smbd
testparm
# ===== CONTOH OUTPUT =====
● nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; preset: enabled)
Active: active (running) since Wed 2026-03-11 09:14:22 WIB; 2h 15min ago
Docs: man:nginx(8)
Process: 1234 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Main PID: 1235 (nginx)
Tasks: 3 (limit: 2215)
Memory: 6.2M
CPU: 45ms
CGroup: /system.slice/nginx.service
├─1235 "nginx: master process /usr/sbin/nginx -g daemon on; master_process on;"
└─1236 "nginx: worker process"
Penjelasan command:
systemctl status — Menampilkan status service (active/inactive/failed) + cuplikan log terakhir. Perintah pertama saat troubleshooting.
Q
Bagaimana backup konfigurasi Samba/NFS?
BACKUP CFGSalin
sudo cp /etc/samba/smb.conf /backup/
sudo cp /etc/exports /backup/
Q
Bagaimana troubleshooting Samba?
SMB TROUBLESalin
sudo tail -f /var/log/samba/log.smbd
testparm -s
sudo smbclient -L localhost -U%
Penjelasan command:
testparm — Menguji konfigurasi Samba.
Q
Bagaimana set quota pada share?
Gunakan project quota (XFS) atau user quota + tools Samba dengan vfs objects.
Tip: Gunakan man <command> atau <command> --help di terminal untuk melihat dokumentasi lengkap setiap perintah.
Q
Bagaimana akses Samba dari Windows?
Di File Explorer ketik \\IP-SERVER\sharename lalu masukkan credential.
Tip: Gunakan man <command> atau <command> --help di terminal untuk melihat dokumentasi lengkap setiap perintah.
Q
Bagaimana akses NFS dari Windows?
Windows 10/11 Pro mendukung NFS client (enable via Windows Features).
Tip: Gunakan man <command> atau <command> --help di terminal untuk melihat dokumentasi lengkap setiap perintah.
Q
Bagaimana set AppArmor untuk file server?
Debian default AppArmor. Pastikan profile Samba/NFS mengizinkan path yang digunakan.
Tip: Gunakan man <command> atau <command> --help di terminal untuk melihat dokumentasi lengkap setiap perintah.
Q
Bagaimana monitoring koneksi file server?
MONITORSalin
sudo smbstatus -b
ss -tn | grep :445
ss -tn | grep :2049
Penjelasan command:
grep — Mencari teks di dalam file. -i = case-insensitive, -r = recursive, -n = tampilkan nomor baris.
Q
Bagaimana membuat share read-only?
Di smb.conf set read only = yes. Di exports set (ro,sync).
Tip: Gunakan man <command> atau <command> --help di terminal untuk melihat dokumentasi lengkap setiap perintah.
Q
Bagaimana install BIND9?
BIND9Salin
sudo apt install bind9 bind9utils bind9-doc
sudo systemctl enable --now bind9
Penjelasan command:
apt install — Menginstal paket beserta semua dependency yang dibutuhkan secara otomatis.systemctl enable — Membuat service otomatis dijalankan setiap kali sistem boot.
Q
Bagaimana konfigurasi forwarder?
FORWARDERSalin
sudo nano /etc/bind/named.conf.options
forwarders {
8.8.8.8;
1.1.1.1;
};
Penjelasan command:
nano — Editor teks sederhana di terminal, cocok untuk pemula.
Q
Bagaimana membuat zone file?
ZONESalin
sudo nano /etc/bind/named.conf.local
zone "example.com" {
type master;
file "/etc/bind/db.example.com";
};
Penjelasan command:
nano — Editor teks sederhana di terminal, cocok untuk pemula.
Q
Bagaimana isi zone file dasar?
DB FILESalin
$TTL 86400
@ IN SOA ns1.example.com. admin.example.com. (
2024010101 ; serial
3600 ; refresh
1800 ; retry
604800 ; expire
86400 )
@ IN NS ns1.example.com.
@ IN A 192.168.1.10
www IN A 192.168.1.10
Q
Bagaimana setup reverse DNS zone?
Buat zone 1.168.192.in-addr.arpa dan PTR record yang mengarah ke hostname.
Tip: Gunakan man <command> atau <command> --help di terminal untuk melihat dokumentasi lengkap setiap perintah.
RELOADSalin
sudo named-checkconf
sudo named-checkzone example.com /etc/bind/db.example.com
sudo systemctl reload bind9
Penjelasan command:
named-checkconf — Menguji konfigurasi BIND9 (syntax).named-checkzone — Menguji zone file DNS (syntax + logic).systemctl reload — Memuat ulang konfigurasi tanpa memutus koneksi (jika service mendukung).
Q
Bagaimana test DNS resolution?
DIGSalin
dig @localhost example.com
dig @localhost www.example.com
nslookup example.com localhost
host example.com
# ===== CONTOH OUTPUT =====
; <<>> DiG 9.18.24 <<>> @localhost example.com
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1
;; ANSWER SECTION:
example.com. 86400 IN A 192.168.1.10
Penjelasan command:
dig — Tool query DNS yang powerful.nslookup — Tool query DNS klasik.
Q
Bagaimana set DNS server di client?
CLIENT DNSSalin
sudo nano /etc/resolv.conf
nameserver 192.168.1.10
Penjelasan command:
nano — Editor teks sederhana di terminal, cocok untuk pemula.
Q
Bagaimana view query log BIND9?
QUERY LOGSalin
sudo nano /etc/bind/named.conf.options
logging { ... };
sudo tail -f /var/log/named/query.log
Penjelasan command:
nano — Editor teks sederhana di terminal, cocok untuk pemula.
Q
Bagaimana setup secondary (slave) DNS?
Di master izinkan transfer, di slave set type slave dan masters { IP-master; };
Tip: Gunakan man <command> atau <command> --help di terminal untuk melihat dokumentasi lengkap setiap perintah.
Q
Bagaimana batasi recursive query?
Set allow-recursion { localnets; }; agar tidak terbuka untuk publik.
Tip: Gunakan man <command> atau <command> --help di terminal untuk melihat dokumentasi lengkap setiap perintah.
Q
Bagaimana troubleshooting DNS?
TROUBLE DNSSalin
sudo systemctl status bind9
sudo journalctl -u bind9
sudo named-checkconf -z
dig +trace example.com
# ===== CONTOH OUTPUT =====
● nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; preset: enabled)
Active: active (running) since Wed 2026-03-11 09:14:22 WIB; 2h 15min ago
Docs: man:nginx(8)
Process: 1234 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Main PID: 1235 (nginx)
Tasks: 3 (limit: 2215)
Memory: 6.2M
CPU: 45ms
CGroup: /system.slice/nginx.service
├─1235 "nginx: master process /usr/sbin/nginx -g daemon on; master_process on;"
└─1236 "nginx: worker process"
Penjelasan command:
systemctl status — Menampilkan status service (active/inactive/failed) + cuplikan log terakhir. Perintah pertama saat troubleshooting.journalctl — Melihat log yang dikelola systemd-journald. Ganti tail -f /var/log/... dengan ini.journalctl -u — Melihat log khusus satu service. Tambahkan -f untuk mengikuti log secara real-time.named-checkconf — Menguji konfigurasi BIND9 (syntax).
Q
Bagaimana update serial zone?
Gunakan format YYYYMMDDNN. Setiap ubah zone, naikkan serial agar secondary tahu ada perubahan.
Tip: Gunakan man <command> atau <command> --help di terminal untuk melihat dokumentasi lengkap setiap perintah.
Q
Bagaimana set TTL yang tepat?
TTL rendah (300-3600) untuk record yang sering berubah, TTL tinggi (86400) untuk record stabil.
Tip: Gunakan man <command> atau <command> --help di terminal untuk melihat dokumentasi lengkap setiap perintah.
Q
Bagaimana integrasi dengan DHCP?
Gunakan ISC DHCP + BIND dynamic update atau dnsmasq untuk lingkungan kecil.
Tip: Gunakan man <command> atau <command> --help di terminal untuk melihat dokumentasi lengkap setiap perintah.
Q
Apa langkah hardening dasar Debian server?
Update sistem Setup firewall (UFW) Hardening SSH Install Fail2ban Disable service tidak perlu Setup automatic security update
Q
Bagaimana setup UFW secara aman?
UFW SECURESalin
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow ssh
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
Penjelasan command:
ufw allow — Mengizinkan traffic masuk pada port/service yang disebutkan.ufw enable — Mengaktifkan firewall. Pastikan port SSH sudah di-allow sebelum menjalankan ini agar tidak terkunci.
Q
Bagaimana install dan konfigurasi Fail2ban?
FAIL2BANSalin
sudo apt install fail2ban
sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local
sudo nano /etc/fail2ban/jail.local
[sshd]
enabled = true
maxretry = 3
bantime = 1h
sudo systemctl enable --now fail2ban
Penjelasan command:
apt install — Menginstal paket beserta semua dependency yang dibutuhkan secara otomatis.systemctl enable — Membuat service otomatis dijalankan setiap kali sistem boot.
Q
Bagaimana enable unattended-upgrades?
AUTO UPDATESalin
sudo apt install unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgrades
Penjelasan command:
apt install — Menginstal paket beserta semua dependency yang dibutuhkan secara otomatis.
Q
Bagaimana audit security dengan lynis?
LYNISSalin
sudo apt install lynis
sudo lynis audit system
Penjelasan command:
apt install — Menginstal paket beserta semua dependency yang dibutuhkan secara otomatis.
Q
Bagaimana cek open port yang tidak perlu?
PORTSSalin
ss -tulpn
sudo nmap -sT -O localhost
# ===== CONTOH OUTPUT =====
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
tcp LISTEN 0 128 0.0.0.0:22 0.0.0.0:* users:(("sshd",pid=789,fd=3))
tcp LISTEN 0 511 0.0.0.0:80 0.0.0.0:* users:(("nginx",pid=1235,fd=6))
tcp LISTEN 0 511 0.0.0.0:443 0.0.0.0:* users:(("nginx",pid=1235,fd=7))
Penjelasan command:
ss -tulpn — Menampilkan socket yang listening (TCP/UDP) beserta proses yang menggunakannya. Pengganti netstat modern.
Q
Bagaimana disable service yang tidak digunakan?
DISABLESalin
systemctl list-unit-files --type=service --state=enabled
sudo systemctl disable --now bluetooth.service
Penjelasan command:
systemctl disable — Membatalkan auto-start service saat boot.
Q
Bagaimana setup AppArmor?
APPARMORSalin
sudo aa-status
sudo aa-enforce /etc/apparmor.d/*
ROOTKITSalin
sudo apt install rkhunter chkrootkit
sudo rkhunter --check
sudo chkrootkit
Penjelasan command:
apt install — Menginstal paket beserta semua dependency yang dibutuhkan secara otomatis.
Q
Bagaimana set password policy yang kuat?
PASSWORDSalin
sudo apt install libpam-pwquality
sudo nano /etc/security/pwquality.conf
minlen = 12
minclass = 3
Penjelasan command:
apt install — Menginstal paket beserta semua dependency yang dibutuhkan secara otomatis.
Q
Bagaimana monitor login gagal?
AUTH LOGSalin
sudo grep "Failed password" /var/log/auth.log
sudo lastb
Penjelasan command:
grep — Mencari teks di dalam file. -i = case-insensitive, -r = recursive, -n = tampilkan nomor baris.
Q
Bagaimana encrypt home directory?
Gunakan ecryptfs atau LUKS full disk encryption saat instalasi untuk proteksi data at rest.
Tip: Gunakan man <command> atau <command> --help di terminal untuk melihat dokumentasi lengkap setiap perintah.
Q
Bagaimana batasi akses cron?
CRON SECURESalin
sudo nano /etc/cron.allow
# Isi hanya user yang diizinkan
sudo chmod 600 /etc/cron.allow
Penjelasan command:
chmod — Mengubah permission file/directory (read/write/execute untuk owner/group/other).
Q
Bagaimana security header untuk web server?
Tambahkan: Strict-Transport-Security, X-Frame-Options, X-Content-Type-Options, Content-Security-Policy, Referrer-Policy.
Q
Bagaimana checklist security berkala?
Update sistem Review firewall rules Cek Fail2ban status Review user & sudoers Cek listening ports Review log auth Backup verification
Q
Bagaimana troubleshoot server tidak bisa diakses?
ACCESSSalin
ping server-ip
traceroute server-ip
nmap -p 22,80,443 server-ip
ssh -vvv user@server
sudo ufw status
sudo systemctl status ssh
# ===== CONTOH OUTPUT =====
● nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; preset: enabled)
Active: active (running) since Wed 2026-03-11 09:14:22 WIB; 2h 15min ago
Docs: man:nginx(8)
Process: 1234 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Main PID: 1235 (nginx)
Tasks: 3 (limit: 2215)
Memory: 6.2M
CPU: 45ms
CGroup: /system.slice/nginx.service
├─1235 "nginx: master process /usr/sbin/nginx -g daemon on; master_process on;"
└─1236 "nginx: worker process"
Penjelasan command:
ufw status — Menampilkan status firewall dan daftar rules yang aktif.systemctl status — Menampilkan status service (active/inactive/failed) + cuplikan log terakhir. Perintah pertama saat troubleshooting.
Q
Bagaimana troubleshoot disk penuh?
DISK FULLSalin
df -h
du -xh / | sort -hr | head -20
sudo apt clean && sudo apt autoremove
sudo journalctl --vacuum-time=3d
sudo find /var/log -name "*.gz" -delete
# ===== CONTOH OUTPUT =====
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 20G 6.2G 13G 33% /
/dev/sda2 100G 45G 50G 48% /var
tmpfs 1.9G 0 1.9G 0% /dev/shm
Penjelasan command:
df -h — Menampilkan penggunaan disk dalam format human-readable (GB/MB).apt autoremove — Menghapus paket yang tidak lagi dibutuhkan (dependency yatim).apt clean — Menghapus file .deb yang tersimpan di cache (/var/cache/apt/archives).journalctl — Melihat log yang dikelola systemd-journald. Ganti tail -f /var/log/... dengan ini.find — Mencari file berdasarkan nama, ukuran, waktu modifikasi, permission, dll.
Q
Bagaimana troubleshoot memory tinggi?
MEMORYSalin
free -h
ps aux --sort=-%mem | head -15
top / htop
sudo sync ; sudo sysctl vm.drop_caches=3
# ===== CONTOH OUTPUT =====
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1234 2.1 3.4 456789 123456 ? Ssl 09:00 0:45 /usr/sbin/mysqld
www-data 1235 0.8 1.2 98765 45678 ? S 09:14 0:12 nginx: worker process
root 1 0.0 0.3 168000 10240 ? Ss Mar10 0:05 /sbin/init
Penjelasan command:
free -h — Menampilkan penggunaan RAM dan swap.ps aux — Menampilkan semua proses yang sedang berjalan beserta user, CPU, memory.top / htop — Monitor proses secara interaktif (real-time).
Q
Bagaimana troubleshoot CPU tinggi?
CPUSalin
top / htop
ps aux --sort=-%cpu | head -15
uptime
mpstat 1 5
# ===== CONTOH OUTPUT =====
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 1234 2.1 3.4 456789 123456 ? Ssl 09:00 0:45 /usr/sbin/mysqld
www-data 1235 0.8 1.2 98765 45678 ? S 09:14 0:12 nginx: worker process
root 1 0.0 0.3 168000 10240 ? Ss Mar10 0:05 /sbin/init
Penjelasan command:
top / htop — Monitor proses secara interaktif (real-time).ps aux — Menampilkan semua proses yang sedang berjalan beserta user, CPU, memory.
Q
Bagaimana troubleshoot service tidak jalan?
SERVICESalin
sudo systemctl status service
sudo journalctl -u service -xe
sudo systemctl restart service
sudo systemctl reset-failed service
# ===== CONTOH OUTPUT =====
● nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; preset: enabled)
Active: active (running) since Wed 2026-03-11 09:14:22 WIB; 2h 15min ago
Docs: man:nginx(8)
Process: 1234 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
Main PID: 1235 (nginx)
Tasks: 3 (limit: 2215)
Memory: 6.2M
CPU: 45ms
CGroup: /system.slice/nginx.service
├─1235 "nginx: master process /usr/sbin/nginx -g daemon on; master_process on;"
└─1236 "nginx: worker process"
Penjelasan command:
systemctl status — Menampilkan status service (active/inactive/failed) + cuplikan log terakhir. Perintah pertama saat troubleshooting.journalctl — Melihat log yang dikelola systemd-journald. Ganti tail -f /var/log/... dengan ini.journalctl -u — Melihat log khusus satu service. Tambahkan -f untuk mengikuti log secara real-time.systemctl restart — Stop lalu start ulang service. Gunakan setelah mengubah konfigurasi.
Q
Bagaimana troubleshoot network?
NETWORKSalin
ip a
ip r
ping 8.8.8.8
dig google.com
ss -tulpn
sudo ufw status verbose
# ===== CONTOH OUTPUT =====
Status: active
To Action From
-- ------ ----
22/tcp ALLOW Anywhere
80/tcp ALLOW Anywhere
443/tcp ALLOW Anywhere
Penjelasan command:
ss -tulpn — Menampilkan socket yang listening (TCP/UDP) beserta proses yang menggunakannya. Pengganti netstat modern.ufw status — Menampilkan status firewall dan daftar rules yang aktif.
Q
Bagaimana troubleshoot boot problem?
BOOTSalin
Boot ke recovery mode dari GRUB
journalctl -b -p err
systemd-analyze blame
sudo fsck -f /dev/sdXN
Penjelasan command:
journalctl — Melihat log yang dikelola systemd-journald. Ganti tail -f /var/log/... dengan ini.fsck — Memeriksa dan memperbaiki filesystem yang corrupt. Jangan dijalankan pada partisi yang sedang di-mount.
Q
Bagaimana recovery password root?
Boot ke recovery/single user mode, lalu jalankan passwd root. Atau boot dari live USB dan chroot.
Tip: Gunakan man <command> atau <command> --help di terminal untuk melihat dokumentasi lengkap setiap perintah.
Q
Bagaimana cek log error sistem?
LOGSSalin
journalctl -p err -b
journalctl -xe
sudo tail -100 /var/log/syslog
dmesg | grep -i error
Penjelasan command:
journalctl — Melihat log yang dikelola systemd-journald. Ganti tail -f /var/log/... dengan ini.grep — Mencari teks di dalam file. -i = case-insensitive, -r = recursive, -n = tampilkan nomor baris.
Q
Bagaimana troubleshoot permission denied?
PERMSalin
ls -la file
namei -l /path/to/file
getfacl file
sudo ls -la
Q
Bagaimana cek hardware error?
HW ERRSalin
dmesg | grep -i error
sudo smartctl -a /dev/sda
sudo journalctl -b | grep -i fail
# ===== CONTOH OUTPUT =====
=== START OF INFORMATION SECTION ===
Model Family: Samsung based SSDs
Device Model: Samsung SSD 870
Serial Number: S1234ABC
=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
Penjelasan command:
grep — Mencari teks di dalam file. -i = case-insensitive, -r = recursive, -n = tampilkan nomor baris.smartctl — Membaca data SMART dari hard disk/SSD untuk deteksi dini kerusakan.journalctl — Melihat log yang dikelola systemd-journald. Ganti tail -f /var/log/... dengan ini.
Q
Bagaimana recovery dari filesystem corrupt?
FSCKSalin
sudo umount /dev/sdXN
sudo fsck -f -y /dev/sdXN
sudo mount /dev/sdXN /mnt
Penjelasan command:
fsck — Memeriksa dan memperbaiki filesystem yang corrupt. Jangan dijalankan pada partisi yang sedang di-mount.
Q
Bagaimana cek apakah kehabisan inode?
INODESalin
df -i
find / -xdev -printf '%h\n' | sort | uniq -c | sort -nr | head
Penjelasan command:
find — Mencari file berdasarkan nama, ukuran, waktu modifikasi, permission, dll.
Q
Bagaimana troubleshoot apt yang error?
APT ERRSalin
sudo apt --fix-broken install
sudo dpkg --configure -a
sudo rm -vf /var/lib/apt/lists/*
sudo apt update
# ===== CONTOH OUTPUT =====
Get:1 http://deb.debian.org/debian bookworm InRelease [151 kB]
Get:2 http://deb.debian.org/debian-security bookworm-security InRelease [48.0 kB]
Fetched 199 kB in 1s (185 kB/s)
Reading package lists... Done
Building dependency tree... Done
Penjelasan command:
apt update — Mengambil index paket terbaru dari semua repository yang dikonfigurasi. Tidak menginstal apa pun. Selalu jalankan sebelum install/upgrade.
Q
Bagaimana membuat laporan diagnostik cepat?
DIAGSalin
uname -a
uptime
free -h
df -h
systemctl --failed
journalctl -p err -b --no-pager | tail -50
# ===== CONTOH OUTPUT =====
Linux server 6.1.0-18-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.76-1 (2024-02-01) x86_64 GNU/Linux
Penjelasan command:
free -h — Menampilkan penggunaan RAM dan swap.df -h — Menampilkan penggunaan disk dalam format human-readable (GB/MB).journalctl — Melihat log yang dikelola systemd-journald. Ganti tail -f /var/log/... dengan ini.
ABDURROZAK.MY.ID // TERHUBUNG
JARINGAN SOSIAL
Temukan saya di berbagai platform digital
Dibuat dengan oleh Abdur Rozak, S.Kom. - abdurrozak.my.id