Perkenalan Struktur Direktori Linux

Bagi yang baru mulai memasuki sistem operasi Linux, tampilan pada file manager (semacam explorer pada Windows), mungkin akan menyulitkan. Hal ini dikarenakan, struktur direktori pada Linux yang cukup kompleks dan berbentuk tree diagram. Bahkan, device seperti cd-rom atau flash disk juga didefinisikan di bawah directory tree. Oleh karena itu, artikel ini dibuat agar pengguna Linux pemula dapat mempelajari tentang struktur direktori pada Linux, mempelajari struktur File System Linux, dan juga file atau direktori penting yang harus diketahui, serta kegunaan juga lokasi file tersebut berada. Selain untuk mempelajari file manager, direktori ini juga akan membantu saat pengguna Linux mengeksekusi perintah-perintah melalui terminal (semacam command prompt pada Windows). Hampir sebagian besar konfigurasi lebih efektif dieksekusi melalui terminal, sehingga pemahaman terhadap struktur direktori ini sangatlah penting.

Setiap distro Linux standar umumnya memiliki directory tree yang sama strukturnya, dan untuk lebih memahaminya, silakan dicermati Diagram di bawah ini berikut penjelasannya.

Diagram Struktur Direktori Linux
Filesystem Hierarchy Standard (FHS)
Filesystem Hierarchy Standard atau FHS adalah format struktur direktori dan isi direktori bagi setiap sistem operasi berbasis Linux maupun Unix. FHS disokong oleh Linux Foundation. Versi terbaru dari FHS yaitu versi 3.0 dan dirilis pada 3 Juni 2015. 
Pada FHS, seluruh direktori dan file berada di bawah direktori root (/). Sebagian besar direktori yang ada pada diagram di atas pasti ada di semua sistem operasi berbasis Linux dan Unix; spesifik untuk FHS saja dan tidak ada di platform lain yang sistem operasinya tidak berbasis *Nix.
Deskripsi dari diagram:
  • /: Hirarki root utama dan direktori root dari seluruh hirarki file system.
  • /bin: Berisi executable program biner (file) yang dibutuhkan saat booting, perbaikan, juga berisi file yang dibutuhkan untuk running mode single-user, dan hal penting lainnya; berisi perintah dasar seperti; cat, du, df, tar, rpm, wc, history, dan lain-lain.
  • /boot: Berisi file penting untuk proses booting, seperti kernel, initrd, dan lain-lain.
  • /dev: Berisi file device untuk seluruh hardware yang terpasang pada mesin, seperti cdrom, hdd, cpu, dan lain-lain.
  • /etc: Berisi file konfigurasi aplikasi untuk single program.
  • /home: Direktori user, berisi file yang disimpan, setting personal, musik, video, dan lain-lain yang tersimpan sesuai dengan login user masing-masing. Pada Windows, sama seperti folder Users.
  • /lib: File library penting untuk program di dalam /bin dan /sbin.
  • /media: Mount point untuk removable media seperti CD-ROMs, flashdisk, dan lainnya.
  • /mnt: Filesystem yang di-mount secara temporer.
  • /opt: Software package tambahan untuk aplikasi.
  • /proc: Filesystem virtual yang menyediakan proses dan informasi kernel sebagai file. Pada Linux, direktori ini berhubungan dengan mount procfs.
  • /root: Direktori home untuk user root.
  • /run: Run-time variable data yang berisi informasi tentang sistem yang running sejak boot terbaru, seperti user yang sedang log-in saat itu juga daemon yang running.
  • /sbin: Sistem biner yang penting, seperti fsck, init, route.
  • /srv: Site-specific data yang dilayani oleh sistem, seperti data dan script untuk web server, data yang dikirim oleh FTP server, dan repository untuk versi sistem kontrol. 
  • /tmp: File temporer (lihat juga /var/tmp). Biasanya tidak disimpan saat reboot, dan besarnya terbatas.
  • /usr: Sama seperti /etc. Hirarki sekunder yang berisi user data read-only dan berisi aplikasi dan utility multi-user (perbedaan dari /etc yang single-user).
  • /var: File variabel yang isinya selalu berubah saat sistem operasi berjalan, seperti log, spool file, dan file email temporer.

Struktur Tambahan yang Penting

Selain struktur FHS, ada beberapa filesystem, files, dan direktori yang cukup penting untuk diketahui ketika baru mulai memasuki Linux. Pada beberapa direktori ini tersimpan konfigurasi, halaman bantuan, program, script, informasi sistem, dan lain-lain.
  •     /boot/vmlinuz: File kernel Linux.
  •     /dev/hda: File device untuk IDE HDD pertama.
  •     /dev/null: Pseudo device yang sebenarnya tidak ada. Terkadang hanya sebagai penyimpanan output garbage dan hasil output tersebut akan hilang.
  •     /etc/bashrc: Berisi sistem bawaan dan alias yang digunakan oleh bash shell.
  •     /etc/crontab: Shell script untuk menjalankan perintah secara otomatis sesuai interval waktu yang sudah ditentukan dalam file konfigurasi cron (bekerja seperti scheduler pada Windows).   
  •     /etc/fstab: Informasi Disk Drive dan lokasi mounting.
  •     /etc/group: Berisi informasi security group.
  •     /etc/grub.conf: Konfigurasi file bootloader grub.
  •     /etc/init.d: Berisi startup script untuk service dari aplikasi.
  •     /etc/lilo.conf: Konfigurasi file bootloader lilo.
  •     /etc/hosts: Informasi alamat IP dan representasi hostname dari IP.
  •     /etc/hosts.allow: List host yang diizinkan untuk mengakses service pada mesin lokal.
  •     /etc/host.deny: List host yang tidak diizinkan mengakses service pada mesin lokal.
  •     /etc/inittab: Proses INIT dan interaksinya pada run level yang berbeda-beda.
  •     /etc/modules.conf: File konfigurasi untuk modul sistem.
  •     /etc/motd: Berisi “Message of the Day”, pesan yang didapat user ketika pertama login.
  •     /etc/mtab: Informasi block yang di-mounting.
  •     /etc/passwd: Berisi password user yang sudah di-shadow untuk keamanannya.
  •     /etc/printcap: Informasi printer.
  •     /etc/profile: Default Bash shell.
  •     /etc/profile.d: Script aplikasi yang dieksekusi setelah.
  •     /etc/rc.d: Informasi tentang script spesifik sesuai run level.
  •     /etc/resolv.conf: Informasi DNS yang digunakan oleh sistem (akan berubah pada mode dhcp, setiap release dan renew IP).
  •     /etc/securetty: List terminal yang memungkinkan login root.
  •     /etc/skel: Script untuk membuat home directory user baru.
  •     /etc/termcap: File ASCII yang menetapkan kondisi terminal, console, dan printer.
  •     /etc/X11: File konfigurasi dari sistem X-window.
  •     /usr/bin: Perintah executable untuk normal user.
  •     /usr/bin/X11: Binaries dari sistem X-windows.
  •     /usr/include: Berisi include files yang digunakan oleh program ‘c’.
  •     /usr/share: Direktori bersama yang dipakai oleh man files, info files, dan lainnya.
  •     /usr/lib: Library files yang dibutuhkan saat compile program.
  •     /usr/sbin: Perintah untuk Super user yang digunakan untuk administrasi sistem.
  •     /proc/cpuinfo: Informasi CPU.
  •     /proc/filesystems: Informasi File-system yang digunakan baru-baru ini.
  •     /proc/ioports: Berisi semua Input/Output address yang digunakan oleh device-device dalam server.
  •     /proc/meminfo: Informasi penggunaan memori (RAM).
  •     /proc/modules: Informasi modul kernel yang sedang digunakan.
  •     /proc/mount: Informasi file-system yang di-mounting.
  •     /proc/stat: Detail statistik dari sistem saat itu.
  •     /proc/swaps: Informasi file Swap.
  •     /version: Informasi versi Linux.
  •     /var/log/lastlog: File log dari proses boot terakhir.
  •     /var/log/messages: File log yang dibentuk oleh daemon syslog saat boot.
  •     /var/log/wtmp: Daftar waktu dan durasi login dari tiap user pada sistem saat itu.
***

Referensi mengenai FHS ini dapat dibaca juga pada tautan lainnya:

Leave a Reply

Your email address will not be published. Required fields are marked *