Dokumen ini menjelaskan struktur direktori standar Linux (Filesystem Hierarchy Standard / FHS) secara ringkas namun komprehensif.
Tujuan FHS adalah agar aplikasi, admin, dan pengguna memiliki lokasi yang konsisten untuk file sistem, konfigurasi, log, library, dan data.
/
(root). Semua path berawal dari sini. /mnt/data
). /run
, /tmp
) dan akan kosong saat boot.Direktori | Fungsi Singkat |
---|---|
/ |
Root dari seluruh filesystem |
/bin |
Binary esensial untuk user & admin (mis. ls , cp , cat ) |
/sbin |
Binary esensial untuk administrasi sistem (mis. mount , ip ) |
/usr |
Aplikasi & library read-only (userland) yang tidak kritikal saat boot |
/usr/bin |
Binary aplikasi umum |
/usr/sbin |
Binary admin non-esensial untuk boot |
/usr/local |
Aplikasi yang diinstal manual (di luar manajer paket) |
/etc |
File konfigurasi sistem (teks) |
/var |
Data berubah (log, spool, cache) |
/home |
Home directory user biasa |
/root |
Home untuk user root |
/tmp |
File sementara (biasanya dibersihkan saat boot) |
/opt |
Aplikasi pihak ketiga (bundle) |
/srv |
Data layanan yang disajikan oleh server (mis. web, ftp) |
/lib , /lib64 |
Library penting untuk program di /bin dan /sbin |
/boot |
Kernel, initramfs, file bootloader |
/dev |
Device file (block/char devices) |
/proc |
Pseudo-filesystem info proses & kernel (runtime) |
/sys |
Pseudo-filesystem konfigurasi kernel & device |
/run |
Data runtime (PID, socket); volatile |
/media |
Mount removable media (USB, CD) otomatis |
/mnt |
Mount sementara oleh admin |
/bin
dan /sbin
ls /bin | head
ls /sbin | head
/usr/bin
atau /usr/sbin
./usr
(userland, read-only saat normal operasi)/usr/bin
→ binary aplikasi umum./usr/sbin
→ binary admin non-esensial./usr/lib
, /usr/lib64
→ library./usr/share
→ data arsitektur-independen (man page, locale)./usr/local
→ tempat instal manual (build dari source)./etc
(konfigurasi sistem)/etc/hostname
, /etc/hosts
, /etc/resolv.conf
/etc/fstab
(mount table), /etc/ssh/sshd_config
/etc/systemd/system/*.service
(unit lokal)
sudo systemctl edit --full nginx.service # mengedit unit lokal (disimpan ke /etc/systemd/system)
/var
(data berubah)/var/log/
(mis. syslog
, auth.log
, nginx/
) /var/spool/
(mail, cron) /var/cache/
(apt cache, aplikasi) /var/www/
untuk dokumen web
sudo du -sh /var/log/*
sudo journalctl -xe
/home
dan /root
/home/<user>
→ data & konfigurasi tiap user. /root
→ home untuk administrator root
; jangan campur dengan /home
.
ls -la /home
sudo ls -la /root
/tmp
touch /tmp/contoh && ls -l /tmp/contoh
/opt
/opt/<vendor>/
). /srv
/srv/ftp
, /srv/www/example.com/
./lib
, /lib64
/bin
dan /sbin
. /boot
vmlinuz-*
), initramfs, dan file bootloader (grub/
).
ls -lh /boot
/dev
(device files)udev
. Contoh:
/dev/sda
, /dev/nvme0n1
/dev/sda1
/dev/tty*
ls -l /dev/sd*
/proc
(virtual, informasi runtime)/proc/cpuinfo
, /proc/meminfo
/proc/<PID>/
→ info proses, fd, cmdline
cat /proc/meminfo | head
/sys
(virtual, konfigurasi kernel/perangkat)/run
(runtime data, volatile)ls -l /run | head
/media
dan /mnt
/media
→ mount otomatis removable media (USB, CD). /mnt
→ mount sementara oleh admin (mis. investigasi disk).
sudo mount /dev/sdb1 /mnt
df -h | grep /mnt
lsblk
, blkid
, fdisk -l
mount
, findmnt
, df -h
/etc/fstab
fstab
:
UUID=xxxx-xxxx /mnt/data ext4 defaults,noatime 0 2
Gunakan
blkid
untuk mendapatkan UUID.
df -h # kapasitas filesystem
du -sh /var/log/* # ukuran tiap folder/log
sudo ncdu /var # (opsional) utilitas interaktif, paket: ncdu
/etc
, log di /var/log
, data service di /srv
atau /var/lib/<service>
. /usr/local/
atau /opt/
, jangan tabrak file manajer paket. /etc/systemd/system/
untuk unit override lokal, bukan edit langsung di /lib/systemd/system
. /var
, /home
, /srv
, atau /opt
sesuai kebutuhan. 644
, folder 755
). /tmp
atau /run
(volatile). Kenapa ada /usr/bin
dan /bin
?
Secara historis, /bin
dibutuhkan saat boot. Distro modern sering menyatukan ke /usr
menggunakan symlink.
Dimana menaruh file website?
Konvensinya /var/www/<site>/
atau mengikuti struktur manajer web server (nginx/apache).
Dimana menyimpan file service custom?
Konfigurasi di /etc/<service>/
, data di /var/lib/<service>/
, log di /var/log/<service>/
.
Memahami FHS membantu admin:
Rujuk dokumentasi distro Anda jika ada variasi kecil (Debian/Ubuntu vs RHEL/SUSE). Prinsip umumnya sama mengikuti FHS.