Linux File System
Struktur Direktori dan FHS
Linux mengadopsi Filesystem Hierarchy Standard (FHS) yang mendefinisikan tata letak direktori standar pada sistem UNIX-like. Struktur ini memastikan konsistensi antar distribusi.
| Direktori | Fungsi |
|---|---|
/ |
Root - pangkal seluruh hierarki file system |
/etc |
Konfigurasi sistem (hostname, passwd, fstab, ssh) |
/var |
Data variabel - log (/var/log), cache,
spool |
/usr |
User system resources - binaries, libraries, docs |
/home |
Direktori home tiap user |
/tmp |
File sementara - siapa pun bisa tulis, dibersihkan saat reboot |
/proc |
Virtual file system - informasi kernel dan proses |
ls -l / # Lihat isi root direktori
ls -la /etc # File konfigurasi sistem
cat /etc/fstab # Mount point konfigurasi
FHS tidak bersifat kaku - distribusi boleh menambahkan direktori
seperti /opt (paket pihak ketiga), /srv
(data service), dan /run (runtime variable).
Tipe Filesystem
Linux mendukung banyak filesystem. Berikut yang paling umum:
- ext4 - Filesystem default di Debian/Ubuntu. Journaling, support file hingga 16 TB, backward compatible dengan ext2/ext3.
- xfs - Filesystem high-performance untuk file besar. Default di RHEL/CentOS. Keunggulan: allocation group, online defragmentation.
- btrfs - Copy-on-write filesystem. Fitur: snapshot, compression, RAID software, subvolume.
- tmpfs - Filesystem di RAM. Cepat tapi
volatile - isinya hilang saat reboot. Digunakan untuk
/tmpdan/dev/shm.
df -hT # Lihat tipe filesystem dan usage
df -h --type=ext4 # Filter hanya ext4
Mount Points
Mounting adalah proses menghubungkan filesystem ke direktori tertentu.
mount # Lihat semua mount point aktif
mount /dev/sdb1 /mnt/data # Mount manual
umount /mnt/data # Unmount
File /etc/fstab mendefinisikan mount otomatis saat boot:
/dev/sda1 / ext4 defaults 0 1
UUID=abc /data xfs defaults 0 2
Gunakan blkid untuk melihat UUID perangkat.
Disk Usage: df dan du
df (disk free)- Informasi penggunaan disk per filesystem.du (disk usage)- Estimasi penggunaan file/direktori.
df -h # Human-readable: GB, MB
df -i /dev/sda1 # Lihat penggunaan inode
du -sh /var/log # Total ukuran direktori
du -h --max-depth=1 /home # Kedalaman 1 level
Inode
Inode adalah struktur data yang menyimpan metadata file (tanpa nama file):
- Ukuran, permission, pemilik, timestamp
- Pointer ke blok data
- Jumlah hard link
stat file.txt # Lihat metadata file
ls -li # Tampilkan inode number
df -i # Cek ketersediaan inode
Jika inode habis, sistem tetap tidak bisa membuat file baru meskipun kapasitas disk masih tersedia.
Hard Link vs Symlink
| Aspek | Hard Link | Symbolic Link (Symlink) |
|---|---|---|
| Inode | Sama dengan file asli | Berbeda |
| Path | Hanya dalam satu filesystem | Bisa lintas filesystem |
| File asli dihapus | Data tetap bisa diakses | Link putus (broken) |
| Direktori | Tidak bisa | Bisa |
ln file1 file2 # Hard link: file1 dan file2 berbagi inode yang sama
ln -s /target link # Symbolic link
ls -li # Cek inode - hard link memiliki inode identik
Hard link berguna untuk backup / snapshot ringan. Symlink lebih fleksibel dan umum digunakan untuk konfigurasi lintas direktori.