+ Module 2 : Struktur Direktori Standar Linux (Filesystem Hierarchy Standard - FHS)
Memahami struktur direktori di Linux adalah hal mendasar bagi siapa pun yang ingin mengelola sistem operasi ini, terutama untuk keperluan administrasi dan troubleshooting. Filesystem Hierarchy Standard (FHS) adalah standar yang mengatur bagaimana direktori dan file disusun dalam sistem Linux.
Direktori Utama & Fungsinya
Berikut adalah ringkasan direktori utama dalam sistem Linux beserta fungsinya:
| Direktori | Fungsi Utama |
|---|---|
/ |
- Root directory, titik awal dari seluruh struktur filesystem. |
/bin |
- Berisi perintah dasar yang dibutuhkan semua pengguna (ls, cp, dll). |
/boot |
- Menyimpan file penting untuk proses boot, seperti kernel dan GRUB. |
/dev |
- File representasi perangkat keras, seperti /dev/sda untuk hard disk. |
/etc |
- File konfigurasi sistem dan aplikasi (/etc/passwd, dll). |
/home |
- Direktori personal bagi setiap user biasa (/home/namauser). |
/lib & /lib64 |
- Library (pustaka) pendukung program di /bin dan /sbin. |
/media |
- Mount point untuk media removable seperti USB atau CD/DVD. |
/mnt |
- Lokasi sementara untuk mounting filesystem manual. |
/opt |
- Tempat instalasi software tambahan (umumnya dari vendor pihak ketiga). |
/proc |
- Filesystem virtual untuk informasi runtime sistem dan proses. |
/run |
- Tempat penyimpanan data runtime sistem, menggantikan /var/run. |
/root |
- Direktori home khusus untuk superuser root. |
/sbin |
- Perintah sistem penting untuk administrator (fdisk, iptables, dll). |
/srv |
- Menyimpan data dari layanan (service) seperti web atau FTP server. |
/sys |
- Filesystem virtual berisi informasi perangkat dan kernel Linux. |
/tmp |
- Tempat penyimpanan file temporer (otomatis terhapus setelah beberapa hari). |
/usr |
- Aplikasi dan utilitas yang bisa digunakan oleh banyak user (biasanya read-only). |
/var |
- Menyimpan data yang berubah-ubah: log, cache, email, database, dll. |
Tujuan FHS
-
Menyediakan struktur direktori yang konsisten di seluruh distribusi Linux.
- Mempermudah developer, admin, dan pengguna dalam mengelola dan memelihara sistem.
- Dikelola oleh The Linux Foundation (dulunya oleh Free Standards Group).
Fleksibilitas Antar Distribusi
-
Distribusi Linux boleh menambahkan direktori baru sesuai kebutuhan (misalnya
/tftpboot,/misc).
- Asalkan direktori inti tetap mengikuti standar, maka tetap dianggap kompatibel dengan FHS.
Perkembangan & Adaptasi Modern
Versi resmi FHS belum selalu mencakup fitur-fitur terbaru Linux.
Contohnya, banyak distribusi kini memakai
/runsebagai pengganti/var/run, walau belum semua terdokumentasi di FHS versi lama.
Contoh Direktori Tambahan (Non-Standar)
| Direktori | Keterangan |
|---|---|
/tftpboot |
Umumnya digunakan untuk kebutuhan network boot (PXE) pada diskless workstation. |
/misc |
Tempat penyimpanan berkas acak atau data yang tidak masuk ke kategori lain. |
> Root Directory (/)
Konsep Dasar Root Directory
Root directory (`/`) merupakan direktori paling atas dalam hierarki filesystem Linux. Meskipun seluruh filesystem terlihat seperti satu pohon besar, pada kenyataannya bisa terdiri dari beberapa partisi dan filesystem yang digabungkan bersama.
Karakteristik Khusus Root Partition
Partisi yang mengandung root directory memiliki sifat khusus:
1. Biasanya berada di partisi khusus yang terpisah
2. Direktori lain seperti `/home`, `/var`, dan `/opt` akan di-mount setelahnya
3. Harus mengandung semua file esensial yang diperlukan untuk:
- Proses booting sistem
- Restore sistem dari backup eksternal (tape, media removable, NAS)
- Proses recovery dan repair sistem
Persyaratan Root Partition
Root partition harus menyediakan:
- Utility dasar
- File konfigurasi penting
- Informasi boot loader
- Data startup esensial lainnya
Hal ini memungkinkan administrator sistem yang berpengalaman untuk:
- Mendiagnosa masalah sistem
- Melakukan perbaikan sistem yang rusak
Aturan Penting tentang Root Directory
1. Menurut Filesystem Hierarchy Standard (FHS):
- Tidak boleh ada aplikasi atau package yang membuat subdirektori baru di bawah root directory
2. Perbedaan penting:
- `/` (root directory) bukanlah `/root` (home directory untuk user root)
- Pemilihan kata ini memang bisa membingungkan bagi pemula
> Directory /bin
Fungsi dan Pentingnya /bin
Direktori `/bin` merupakan salah satu direktori kritis dalam sistem Linux karena:
1. Menyimpan program executable dan script esensial yang diperlukan oleh:
- Administrator sistem
- Pengguna reguler (unprivileged users)
2. Harus tersedia bahkan ketika filesystem lain belum di-mount, khususnya dalam situasi:
- Booting dalam single-user mode
- Mode recovery/pemulihan sistem
Karakteristik Khusus /bin
1. Struktur Konten:
- Hanya berisi file executable (program dan script)
- Tidak boleh mengandung subdirektori apapun
- Beberapa executable mungkin digunakan secara tidak langsung oleh script sistem
2. Program Wajib:
Direktori ini harus memuat command-line tools fundamental seperti:
- cat, chmod, chown, cp, ls
- mkdir, mv, rm, rmdir
- ps, kill, mount, umount
- sh (shell dasar), su, sync
- Utilitas sistem: dmesg, hostname, uname
Perkembangan Terkini
1. Perubahan Pola Distribusi Modern:
Beberapa distro terbaru (RHEL, CentOS, Fedora, Ubuntu) telah menyatukan:
- /bin dengan /usr/bin
- /sbin dengan /usr/sbin
Dilakukan melalui symbolic link sehingga kedua direktori menunjuk lokasi sama
2. Alasan Perubahan:
- Konsep pemisahan /usr di partisi terpisah dianggap sudah ketinggalan zaman
- Penyederhanaan struktur filesystem
Perbandingan dengan /usr/bin
1. /bin berisi program esensial yang harus ada sejak awal boot
2. /usr/bin berisi:
- Program yang tidak esensial untuk booting
- Aplikasi yang hanya diperlukan oleh pengguna non-root
Catatan Penting
- Distro tradisional mempertahankan pemisahan fisik antara `/bin` dan `/usr/bin`
- Distro modern menggunakan pendekatan unified melalui symbolic links namun tetap mempertahankan kompatibilitas dengan struktur tradisional
Dari Gambar diatas tersebut kalian dapat melihat daftar isi file dan direktori di dalam "/bin"
> Directory /boot
Fungsi Utama /boot
Direktori "/boot" menyimpan file-file esensial yang mutlak diperlukan untuk proses booting sistem Linux. File-file ini harus tersedia sebelum kernel mulai mengeksekusi program user-mode.
File Penting dalam /boot
1. File Wajib
- vmlinuz: Kernel Linux terkompresi (versi compressed)
- initramfs (atau initrd pada beberapa sistem): Filesystem RAM awal yang di-mount sebelum root filesystem utama tersedia
2. File Pendukung:
- "config": File konfigurasi untuk kompilasi kernel
- System.map: Tabel simbol kernel untuk keperluan debugging
Karakteristik Khusus
Variasi Konten:
- Isi "/boot" bervariasi tergantung distribusi dan versi kernel
- Nama file biasanya mengandung versi kernel (contoh: "vmlinuz-5.4.0-42-generic")
Perbedaan Nomenklatur:
- Beberapa sistem mungkin menggunakan "initrd" (initial ram disk) sebagai pengganti "initramfs"
Catatan Implementasi
File-file dalam "/boot" memiliki nama panjang yang mencerminkan:
- Versi kernel
- Arsitektur sistem
- Spesifikasi distribusi
> Directory /dev
Fungsi dan Karakteristik /dev
Direktori `/dev` berisi file perangkat khusus (device nodes) yang merepresentasikan:
- Perangkat bawaan sistem
- Perangkat eksternal yang terhubung
Jenis Device Files
1. Character devices:
- Memproses data sebagai byte stream (contoh: keyboard, serial port)
2. Block devices:
- Menangani I/O dalam bentuk blok data (contoh: hard disk, USB drive)
Pengecualian
- Perangkat jaringan (seperti eth1 atau wlan0) tidak memiliki device node di `/dev`
- Direferensikan langsung melalui nama
Mekanisme Modern (udev)
Sistem udev membuat device node secara dinamis:
- Hanya ketika perangkat terdeteksi
- Tidak ada file permanen di `/dev`
Pada filesystem yang belum di-mount, `/dev` akan terlihat kosong
Perbandingan Sistem Lama
Pada sistem kuno/embedded:
- Device node dibuat secara statis selama instalasi
Menggunakan utilitas:
- MAKEDEV (skrip pembuat device node)
- mknod (perintah untuk membuat device node manual)
Devices Node
Catatan Penting
- File di `/dev` bukan file biasa, melainkan interface ke driver perangkat
- Sistem modern menggunakan udev untuk manajemen perangkat yang lebih dinamis dan efisien
> Directory /etc
Fungsi Utama /etc
Direktori /etc merupakan lokasi sentral untuk:
- File konfigurasi spesifik mesin lokal
- Skrip startup sistem
- Tidak boleh mengandung program binary yang executable
Konten Penting dalam /etc
Berikut contoh file dan direktori konfigurasi kritis yang umum ditemukan:
1. File Autentikasi & Pengguna:
- passwd - Database user account
- group - Informasi group pengguna
- shadow - Password terenkripsi (biasanya tersembunyi)
2. Konfigurasi Jaringan:
- hosts - Mapping alamat IP ke hostname
- resolv.conf - Konfigurasi DNS resolver
- networks - Informasi jaringan
3. Konfigurasi Sistem:
- fstab - Konfigurasi filesystem yang di-mount
- inittab - Konfigurasi init process (pada sistem SysV)
- mtab - Info filesystem yang sedang mounted
4. Konfigurasi Layanan:
- ssh/sshd_config - Konfigurasi SSH server
- crontab - Jadwal task otomatis
- syslog.conf - Konfigurasi logging
5. File Startup:
- `profile` - Konfigurasi environment shell global
- bashrc - Konfigurasi Bash shell
- motd - Message of the Day
Variasi Distribusi
Distribusi seperti Red Hat menambahkan subdirektori khusus:
- /etc/sysconfig - Berisi konfigurasi sistem tambahan
- /etc/yum - Konfigurasi package manager YUM
- /etc/httpd - Konfigurasi web server Apache
Karakteristik Penting
1. Readable by Humans:
- Hanya berisi file teks (bukan binary)
- Dapat dibaca dan dimodifikasi dengan text editor
2. Hierarchy Terorganisir:
- Konfigurasi aplikasi sering disimpan di subdirektori
- Contoh: `/etc/nginx/` untuk konfigurasi Nginx
3. Permission Ketat:
- Kebanyakan file hanya bisa diubah oleh root
- Beberapa file sensitif (seperti shadow) memiliki permission sangat restriktif
> Directory /home
Fungsi dan Struktur /home
Direktori `/home` merupakan lokasi standar untuk:
- Direktori pribadi pengguna (contoh: `/home/username`)
Penyimpanan:
- File data pribadi
- Konfigurasi user-specific
- Program executable milik pengguna
Karakteristik Utama
1. Struktur Hierarki:
- Dapat berisi subdirektori grup (contoh: `/home/students`, `/home/staff`)
- Setiap user memiliki home directory terpisah
2. Notasi Khusus:
- "~" (tilde): Shorthand untuk home directory user saat ini
- $HOME`: Environment variable yang merujuk ke home directory
3. Contoh Ekivalensi:
> ls -l $HOME/public_html
> ls -l ~/public_html
Perbedaan Sistem UNIX/Linux
1. Linux:
- Home directory langsung di `/home`
- Root user memiliki home directory terpisah di `/root`
2. Sistem UNIX Lain (e.g., Solaris:
- Home directory mungkin di `/export/home`
- Di-mount ke `/home` via automount (biasanya dari NFS server)
Pengecualian
Home directory untuk root:
- Selalu berada di `/root` (bukan `/home/root`)
- Pada sistem UNIX lama mungkin menggunakan `/` (dapat menyebabkan clutter)
> Directory /lib dan /lib64
Fungsi Utama
Direktori `/lib` dan `/lib64` menyimpan library esensial yang diperlukan untuk:
- Menjalankan binary di `/bin` dan `/sbin`
- Proses booting sistem
- Eksekusi perintah dalam root filesystem
Struktur Konten
1. Library Sistem:
- `/lib`: Library 32-bit (pada sistem yang mendukung dual architecture)
- `/lib64`: Library 64-bit (pada sistem 64-bit)
2. Komponen Khusus:
- `/lib/modules/<kernel-version-number>`: Modul kernel (termasuk device driver)
- `/lib/security`: File PAM (Pluggable Authentication Modules)
Perkembangan Terkini
1. Penyatuan Direktori:
Beberapa distro modern menyatukan:
- `/lib` dengan `/usr/lib`
- `/lib64` dengan `/usr/lib64`
Menggunakan symbolic link untuk mempertahankan kompatibilitas
2. Alasan Perubahan:
- Konsep pemisahan `/usr` di partisi terpisah dianggap sudah ketinggalan zaman
- Penyederhanaan struktur filesystem
Catatan Penting
- Library di direktori ini bersifat kritis untuk operasi dasar sistem
- Sistem yang mendukung dual architecture (32/64-bit) harus menyimpan kedua jenis library
- Perubahan struktur ini terutama terlihat pada distro seperti RHEL, Fedora, dan Ubuntu versi terbaru
> Directory /media
Fungsi Utama
Direktori `/media` secara tradisional digunakan sebagai mount point untuk:
- Media removable (CD, DVD, USB drive)
- Perangkat penyimpanan eksternal
Mekanisme Mounting Modern
1. Proses Otomatis:
Sistem udev secara dinamis:
- Membuat direktori saat media terdeteksi
- Melakukan mounting filesystem
- Menghapus direktori setelah media di-unmount/dicabut
2. Struktur Penamaan:
- Nama mount point ditentukan oleh rules udev
- Jika media memiliki multiple partition, akan muncul multiple entry
Perkembangan Terbaru
Pada distro Linux terkini:
- Media removable biasanya muncul di `/run/media/[username]/...`
- Bukan lagi di `/media` seperti versi sebelumnya
Interaksi User
File manager (seperti Nautilus) akan:
- Secara otomatis muncul saat media ter-mount
- Menyediakan antarmuka grafis untuk mengakses konten media
Catatan Penting
- Direktori mount point bersifat sementara (temporary)
- Lokasi mounting dapat bervariasi tergantung distribusi dan versi
- Perubahan ke `/run/media` mencerminkan evolusi sistem filesystem Linux modern
> Directory /mnt
Fungsi Utama
Direktori `/mnt` disediakan untuk keperluan **mounting filesystem sementara** oleh administrator sistem.
Penggunaan Umum
Filesystem jaringan:
- NFS
- Samba
- CIFS
- AFS
Mounting manual untuk keperluan troubleshooting atau akses sementara.
Perubahan dalam Penggunaan
Dulu: `/mnt` juga digunakan untuk media removable (seperti CD/USB).
Sekarang: Media removable lebih sering di-mount di:
- `/media` (distro lama)
- `/run/media/[username]` (distro modern).
Panduan Penggunaan
- Bukan untuk instalasi program: Direktori ini sebaiknya digunakan hanya untuk mounting manual yang bersifat sementara.
- Direktori alternatif (selain `/mnt`) lebih disarankan jika `/mnt` sedang digunakan.
> Directory /opt
Fungsi Utama
Direktori `/opt` dirancang untuk aplikasi yang mengisolasi semua file-nya dalam satu lokasi terpusat, alih-alih menyebarkannya di berbagai direktori sistem.
Tujuan Penggunaan
1. Memudahkan instalasi & uninstalasi:
- Semua file terkait satu paket disimpan dalam subdirektori khusus (contoh: `/opt/nama_aplikasi`).
- Struktur yang terprediksi memudahkan administrator melacak file.
2. Kemudahan Manajemen:
Cocok untuk:
- Software proprietary (contoh: Zoom, Google Earth)
- Aplikasi yang ingin menghindari ketergantungan pada variasi distribusi Linux.
Struktur Konten
- Contoh Isi `/opt`:
/opt/brother/ # Driver printer Brother
/opt/google/ # Aplikasi Google (Chrome, Earth)
/opt/zoom/ # Aplikasi Zoom
- Subdirektori Reserved (untuk admin sistem):
`/opt/bin`, `/opt/doc`, `/opt/lib`, dll. *(jarang digunakan)*.
Perbandingan dengan Package Manager
Package Manager (RPM/APT):
- Lebih terintegrasi dengan sistem.
- File tersebar di `/usr/bin`, `/etc`, dll., tetapi mudah dilacak via database paket.
opt:
- Alternatif bagi vendor yang ingin menghindari konflik dependensi atau kebijakan distribusi.
Catatan Penting
- Aplikasi di `/opt` harus tetap berfungsi tanpa bergantung pada subdirektori reserved.
- Direktori ini biasanya kosong default, kecuali jika ada software pihak ketiga yang diinstal secara manual.
> Directory /proc
Direktori /proc merupakan bagian penting dari sistem Linux yang berfungsi sebagai jendela langsung untuk melihat kondisi internal kernel dan proses yang sedang berjalan.
Konsep Dasar
/proc adalah pseudo-filesystem yang:
-
Menyediakan informasi sistem dan proses secara real-time
-
Disimpan sepenuhnya di memori, bukan di hard disk
-
Akan kosong jika sistem sedang tidak berjalan
Karakteristik Unik
-
Virtual Files
-
File di
/procsering berukuran 0 byte, namun akan menampilkan data saat dibaca -
Timestamp-nya selalu menunjukkan waktu terkini karena isi file di-generate secara on-demand
-
-
Struktur Dinamis
-
Setiap proses aktif memiliki subdirektori tersendiri, misalnya
/proc/1234untuk proses dengan PID 1234 -
Isi
/procdikelompokkan berdasarkan topik dan komponen sistem
File dan Direktori Penting
| Path | Fungsi |
|---|---|
/proc/interrupts |
Daftar interrupt yang sedang aktif di hardware |
/proc/meminfo |
Informasi tentang penggunaan memori sistem |
/proc/mounts |
Daftar filesystem yang sedang di-mount |
/proc/partitions |
Menampilkan informasi tentang partisi disk |
/proc/filesystems |
Menunjukkan jenis filesystem yang didukung kernel |
/proc/sys/ |
Berisi konfigurasi kernel yang bisa dimodifikasi |
/proc/scsi/ |
Informasi tentang perangkat |
Mekanisme Pembacaan
-
Data dihasilkan hanya saat file dibaca (lazy evaluation)
-
Tidak ada proses update berkala—semua isi
/procselalu menampilkan kondisi sistem
Contoh Penggunaan
-
Cek penggunaan memori:
cat /proc/meminfo -
Melihat daftar proses yang sedang berjalan:
ls /proc/ | grep -E '^[0-9]+$'
> Directory /sys
Direktori /sys adalah bagian penting dari sistem Linux modern, berperan sebagai antarmuka langsung ke kernel, khususnya dalam hal manajemen perangkat keras dan konfigurasi runtime.
Konsep Dasar
/sys adalah pseudo-filesystem (disebut juga sysfs) yang:
-
Menyediakan informasi real-time terkait:
-
Perangkat (devices) dan driver
-
Modul kernel
-
Struktur dan konfigurasi sistem
-
-
Semua data berada di memori, bukan di hard disk
-
Direktori ini akan kosong jika sistem tidak aktif
Perbandingan dengan /proc
| Fitur | /sys |
/proc |
|---|---|---|
| Tujuan | Manajemen perangkat & kernel | Informasi umum & proses |
| Format Data | Satu nilai per file | Multi-line, beragam format |
| Usia | Lebih baru | Lebih lama |
| Standarisasi | Lebih ketat dan terstruktur | Lebih Fleksibel |
Karakteristik Khusus
1. Struktur Sederhana
Mayoritas file di/sys hanya berisi satu baris/nilaiContoh penggunaan:
cat /sys/class/net/eth0/operstate
Untuk mengecek status interface jaringan eth0.
- Read: Untuk memantau status sistem dan perangkat keras
- Write: Untuk mengubah perilaku kernel secara langsung (runtime)
Contoh Penggunaan
-
Melihat daftar modul kernel:
ls /sys/module/ -
Memeriksa status power pada CPU:
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
> Directory /root
Fungsi Khusus
Direktori `/root` merupakan home directory eksklusif untuk akun root (superuser).
Karakteristik Penting
1. Penggunaan yang Direkomendasikan:
- Hanya untuk operasi yang memerlukan hak akses root (administrasi sistem).
- Tidak ditujukan untuk aktivitas pengguna biasa.
2. Perbedaan dengan /home:
- Lokasi terpisah dari home directory pengguna biasa (yang ada di `/home/username`).
- Memiliki permission ketat (700) sehingga hanya root yang bisa mengakses.
Catatan Keamanan
- Penggunaan akun root harus dibatasi hanya untuk keperluan administratif yang kritis.
Direktori ini biasanya berisi:
- File konfigurasi personal root (contoh: `.bashrc` khusus root).
- Script atau log administrasi sistem.
> Directory /sbin
Direktori /sbin menyimpan berbagai binary penting yang dibutuhkan untuk proses-proses kritis sistem, seperti booting, perbaikan, dan administrasi tingkat lanjut.
Fungsi Utama
/sbin berisi binary esensial yang digunakan untuk:
-
Proses booting awal sistem
-
Pemulihan (recovery) sistem
-
Reparasi filesystem
-
Tugas administrasi sistem tingkat lanjut
Binary Penting (jika subsistemnya tersedia)
| Perintah | Fungsi |
|---|---|
fdisk |
Pengelolaan partisi disk |
fsck |
Pemeriksaan dan perbaikan filesystem |
init |
Proses induk (PID 1) |
mkfs |
Membuat filesystem baru |
reboot |
Merestart sistem |
ifconfig |
Konfigurasi jaringan (versi legacy) |
swapon / swapoff |
Mengelola swap memory |
Perubahan pada Distro Modern
Beberapa distribusi Linux terbaru (seperti RHEL atau Ubuntu) melakukan penyederhanaan struktur dengan:
-
Menjadikan
/sbinsebagai symlink ke/usr/sbin -
Menjadikan
/binsebagai symlink ke/usr/bin
Tujuannya: untuk menyederhanakan dan menyeragamkan struktur filesystem.
Catatan Kritis
1. Akses Terbatas
Hanya user root yang bisa menjalankan sebagian besar perintah di /sbin.
2. Ketergantungan Minimal
Binary di /sbin harus dapat dijalankan tanpa bergantung pada filesystem lain (contohnya: /usr belum ter-mount).
Contoh Struktur
ls -l /sbin
# Pada distro modern, kemungkinan besar ini adalah symlink ke /usr/sbin
> Directory /srv
Fungsi Utama
Direktori `/srv` menyimpan data spesifik-situs (site-specific) yang dilayani oleh sistem, sesuai Filesystem Hierarchy Standard (FHS).
Tujuan Penggunaan
1. Konsistensi Lokasi:
- Memudahkan pengguna menemukan data layanan tertentu (e.g., web, FTP).
2. Struktur Terpusat:
Menyediakan hierarki tunggal untuk:
- Data *read-only*
- Data *writable*
- Script (e.g., CGI).
Struktur Subdirektori
Tidak ada standar baku, tetapi contoh umum berdasarkan protokol:
/srv/www/ # Data website
/srv/ftp/ # File FTP
/srv/rsync/ # Data rsync
/srv/cvs/ # Repositori CVS
Penamaan subdirektori diserahkan kepada administrator sistem.
Catatan Penting
- Bukan untuk konfigurasi (gunakan `/etc`) atau log (gunakan `/var/log`).
- Sering kosong pada sistem default, kecuali untuk layanan yang sengaja dikonfigurasi.
> Directory /tmp
Fungsi Utama
Direktori `/tmp` digunakan untuk menyimpan file-file sementara yang dapat diakses oleh semua pengguna dan aplikasi. File-file ini bersifat volatile (tidak permanen).
Kebijakan Penyimpanan Berdasarkan Distribusi
1. Pembersihan Berdasarkan Waktu:
- Beberapa distro menghapus file yang lebih tua dari 10 hari secara otomatis (via cron jobs)
2. Pembersihan Saat Reboot:
- Ubuntu: Menghapus seluruh isi `/tmp` setiap reboot
3. Ramdisk (tmpfs):
- Fedora: Menggunakan filesystem tmpfs (disimpan di RAM)
- Semua data hilang saat reboot
- Risiko kehabisan memori jika file terlalu besar
Karakteristik Penting
- Akses Universal: Dapat ditulisi oleh semua user
- Volatilitas: File tidak dijamin bertahan lama
- Bahaya Potensial:
- Pada sistem tmpfs, file besar dapat menghabiskan memori
- Banyak aplikasi tetap menyimpan file besar di `/tmp` meski tidak direkomendasikan
Catatan Penggunaan
- Alternatif untuk file besar: Gunakan `/var/tmp` (biasanya lebih persisten)
- Pengguna bisa mengarahkan aplikasi ke lokasi lain melalui environment variable, tetapi banyak yang tidak mengetahui cara ini
> Directory /usr
Direktori /usr adalah salah satu komponen penting dalam struktur filesystem Linux. Ia menyimpan sebagian besar program dan utilitas sistem yang tidak dibutuhkan saat proses booting.
Fungsi dan Karakteristik Utama
-
Hierarki Sekunder
-
Berisi file yang tidak diperlukan saat proses boot awal sistem
-
Dapat diletakkan di partisi terpisah dari root (
/) -
Bisa dibagikan ke banyak mesin (melalui jaringan) selama arsitekturnya sama
-
-
Status Data
-
Umumnya bersifat read-only
-
Tidak boleh dimodifikasi langsung oleh paket software
-
Struktur Penting dalam /usr
| Subdirektori | Fungsi |
|---|---|
/usr/bin |
Binary umum untuk pengguna biasa (non-essential) |
/usr/sbin |
Binary untuk administrasi sistem (non-essential) |
/usr/lib |
Library pendukung untuk binary |
/usr/local |
Tempat instalasi software secara lokal |
/usr/share |
Data architecture-independent (misalnya: manual pages) |
Perubahan pada Distro Modern
Distribusi Linux terbaru mulai menyatukan struktur filesystem, antara lain:
-
/bin→ symlink ke/usr/bin -
/sbin→ symlink ke/usr/sbin -
/lib→ symlink ke/usr/lib
Tujuannya: karena pemisahan /usr sebagai partisi terpisah sudah dianggap tidak relevan di banyak sistem modern.
Aturan Penting
-
Instalasi Software
-
Paket tidak diperbolehkan membuat direktori baru langsung di bawah
/usr -
Untuk instalasi software non-paket, gunakan direktori
/usr/local
-
-
Kompatibilitas
-
Beberapa distribusi mungkin masih menyediakan symlink demi alasan kompatibilitas
-
> Directory /var
Direktori /var digunakan untuk menyimpan data dinamis yang terus berubah selama sistem berjalan. Ini termasuk log, cache, spool, dan file temporer yang bersifat penting bagi operasi harian sistem.
Fungsi Utama
/var menyimpan berbagai jenis data yang sifatnya berubah secara aktif, seperti:
-
File log sistem dan aplikasi
-
Data spool (antrian) seperti cetak dan email
-
File administratif aplikasi
-
Cache dan file temporer
Karakteristik Penting
-
Volatilitas
-
Tidak bisa di-mount sebagai read-only, karena datanya terus berubah.
-
-
Keamanan & Stabilitas
-
Disarankan untuk di-mount di filesystem terpisah
-
Mencegah lock system jika partisi ini penuh
-
Subdirektori Penting
| Subdirektori | Konten Utama |
|---|---|
/var/log |
File log sistem dan aplikasi (contoh: syslog, auth.log) |
/var/spool |
Antrian untuk email (/var/spool/mail), cetakan (/var/spool/cups), cron, dll |
/var/cache |
Data cache aplikasi (misal: cache APT di Debian/Ubuntu) |
/var/lib |
Metadata dan database aplikasi (contoh: /var/lib/dpkg) |
/var/tmp |
File temporer lebih persisten daripada /tmp |
Contoh Penggunaan
-
Melihat log sistem:
cat /var/log/syslog -
Memeriksa antrian printer:
ls /var/spool/cups
> Directory /run
Direktori /run digunakan untuk menyimpan data runtime sementara yang dibutuhkan segera sejak sistem mulai melakukan proses booting. Semua informasi di dalamnya hanya bersifat sementara dan akan hilang setelah reboot.
Fungsi Utama
/run menyimpan data penting seperti:
-
Informasi status proses dan layanan aktif
-
File PID, socket, dan runtime lainnya
-
Data yang tidak perlu bertahan setelah sistem dimatikan
Karakteristik Khusus
-
Implementasi
-
Di-mount sebagai tmpfs (RAM disk)
-
Hanya berada di memori, tidak disimpan di disk
-
-
Kompatibilitas
-
Beberapa direktori lama kini menjadi symlink ke
/run, seperti:-
/var/run→/run -
/var/lock→/run/lock
-
-
-
Distribusi Modern
-
Hampir semua distro Linux modern sudah menggunakan
/run -
Contoh isi:
-
File PID →
/run/sshd.pid -
Socket file →
/run/docker.sock
-
-
Perbandingan dengan /tmp
| Fitur | /run | /tmp |
|---|---|---|
| Tujuan | Data runtime sistem | File sementara untuk user/aplikasi |
| Persistence | Hilang setelah reboot | Bergantung pada kebijakan distribusi |
| Akses | Khusus untuk sistem | Terbuka untuk semua pengguna |









Komentar
Posting Komentar