TDCTF Academy Logo TDCTF ACADEMY

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 /tmp dan /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.

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.

PADA HALAMAN INI