Struktur direktori Linux mengikuti standart “Filesystem Hierarchy
Structure (FHS)” yang di pegang oleh Free Standart Group walaupun
kebanyakan distribusi memodifikasi standart tersebut.
/ (root)
Struktur direktori di Linux secara umum diawali dengan root filesystem
“/” dan tentu juga merupakan root atau akar dari seluruh direktori
global. Partisi dimana di letakkan / (root system) akan menjadi
direktori sistem atau partisi pokok.
/boot
Direktori boot tesimpan file-file boot loader diantaranya grub atau
lilo. Kernel, initrd dan system.map juga terletak didalam /boot. Jika
system yang digunakan menggunakan partisi LVM ataupun partisi dalam
jaringan. Maka ada baiknya dibuatkan partisi kecil tersendiri untuk
meletakkan /boot di harddisk dengan filesystem konvensional. /boot ini
umumnya sangat jarang sekali berubah isinya, kecuali memang kita sering
bermain-main dengan kernel.
/sys
Berisi informasi yang berkaitan dengan kernel, device dan firmware.
Untuk memudahkan mengingat, direktori ini dianggap kependekan dari
'system'.
/sbin
Berisi file-file biner yang esensinya untuk sistem dan mengendalikan
sistem. File-file biner atau bisa dianggap aplikasi sistem ini jika
dioperasikan secara tidak tepat bisa berpotensi merusak. Untuk
memudahkan mengingat, direktori ini dianggap kependekan dari 'super
binary'.
/bin
Berisi file-file binari atau aplikasi yang lebih umum dan dapat
digunakan oleh semua user. Untuk memudahkan mengingat, direktori ini
dianggap kependekan dari 'binary'.
/lib
Berisi file-file library atau pustaka dari semua aplikasi binari yang
tersimpan dalam direktori /sbin dan /bin. Di direktori ini juga
tersimpan berbagai macam librari yang digunakan untuk aplikasi lain.
Konsep penggunaan librari bersama ini membuat aplikasi di linux dapat
menghemat ukuran. Untuk memudahkan mengingat, direktori ini dianggap
kependekan dari 'library'
/dev
Merupakan pseudo filesystem, atau directory yang isinya sebenarnya bukan
benar-benar berisi file. Isi dari /dev ini berkaitan dengan
perangkat-perangkat yang terdapat pada system. Misalkan untuk informasi
port serial, port printer, dapat di berlakukan seperti membaca file.
Misalkan perangkat serial terletak di /dev/tty01, kemudian partisi dalam
harddisk di sebut sebagai /dev/sda7. dan lain sebagainya. Untuk
memudahkan mengingat, direktori ini dianggap kependekan dari 'device'.
/etc
Direktori /etc berisi file-file konfigurasi sistem. Mayoritas aplikasi
dan layanan konfigurasinya tersimpan di direktori /etc termasuk
diantaranya /etc/hosts, /etc/resolv.conf dan lain sebagainya. Di
direktori /etc/init.d tersimpan konfigurasi bagaimana sebuah layanan
dijalankan. Di direktori /etc/rc*.d tersimpan konfigurasi untuk
menentukan service yang dijalankan untuk tiap-tiap sesi init.
/home
Semua direktori home
dari pengguna tersimpan di direktori ini dengan nama user masing-masing
sebagai pengelompokannya. Untuk beberapa sistem linux yang di
spesifikasikan untuk server, direktori pengguna masih dikelompokkan lagi
kedalam /home/users. Di dalama direktori /home/nama-user tersimpan
konfigurasi-konfigurasi yang spesifik terhadap user tersebut. Oleh
karena itu, berbeda user, walaupun berada di sistem yang sama bisa
mendapat lingkungan dan tampilan yang sama sekali berbeda. Direktori
/home merupakan direktori yang paling 'dekat' dengan user. Direktori
/home ini bisa berisi dari dokumen-dokumen pekerjaan user hingga
file-file hiburan seperti mp3 dan film juga termasuk foto-foto yang
dimiliki oleh user. Oleh karena itu, untuk membatasi agar file-file di
pengguna tidak mendesak file-file system, sangat umum untuk meletakkan
direktori /home di partisi yang terpisah. Hal ini dapat menahan
file-file yang disimpan user hingga total ukuran tertentu tanpa
mengganggu ruang gerak system.
/media
Merupakan direktori untuk menyimpan direktori-direktori mount point.
CD-ROM, DVD, flash disk, bahkan floppy disk juga akan termount di
direktori ini. Pada distro-distro modern, sudah memberikan fasilitas
untuk menampilkan device-device yang dimount ke depan Desktop. Sehingga
pengguna tidak perlu susah-dan-repot menuju ke /media untuk dapat
mengakses flash disk-nya tapi cukup lihat ke desktop-nya dan masuk ke
direktori yang teerbuat baru di sana. Untuk workstation yang
terintegrasi dengan jaringan, pada umumnya untuk melakukan mounting
storage network juga diletakkan di /media. Dengan dikelompokkan seperti
itu maka mudah untuk mengenali bahwa semua yang berada di dalam /media
merupakan media penyimpan.
/mnt
Pada Linux yang masih umum menggunakan kernel 2.4.x. Untuk tempat
mengumpulkan mount point berada di /mnt. Dikarenakan pada sistem
berbasis kernel 2.6.x sudah menggunakan /media, maka /mnt ini umumnya
kosong. /mnt bisa juga dijadikan mount point pada saat system rescue
atau troubleshooting. Untuk memudahkan mengingat, direktori ini dianggap kependekan dari 'mount'.
/opt
Direktori /opt saat ini jarang digunakan. Beberapa paket software
terpisah menggunakan direktori ini untuk menyimpan paket yang tidak
menuju ke lokasi manapun. Untuk memudahkan mengingat, direktori ini
dianggap kependekan dari 'optional'
/usr
Sebuah sub-hirarki dari root filesistem di simpan didalam /usr. Didalam
/usr tersimpan aplikasi dan utiliti yang spesifik dengan user. Jika kita
melihat kedalam direktori /usr maka kita juga akan menemukan direktori
yang mirip dengan di / yaitu bin, sbin dan lib. Hanya saja, aplikasi dan
librari yang terletak /usr tidak terlalu kritikal untuk sistem. Untuk
istilah mudahnya, /usr merupakan tempat dimana user menginstall aplikasi
sendiri yang bukan official dari distro. Misalkan menginstall melalui
tar-ball, atau paket yang dibuat sendiri. Jika pengguna termasuk orang
yang sering menambah-nambah aplikasi sendiri diluar bawaan paket yang
disediakan untuk distro itu, maka direktori /usr sudah dipastikan akan
cepat sekali membengkak. Ada baiknya untuk sistem yang penggunanya
seperti itu, /usr di berikan partisi sendiri. Untuk aplikasi yang bisa
langsung dijalankan, sistem linux akan membaca secara bersamaan yang ada
di /bin dan di /usr/bin begitu juga untuk /sbin dan /usr/sbin. Untuk
memudahkan mengingat, direktori ini dianggap kependekan dari 'user'.
/usr/share
Merupakan tempat didalam /usr yang digunakan untuk menyimpan data-data
yang bisa dibagikan dan tidak terikat dengan platform. Misalnya seperti
wallpaper yang bisa dan boleh digunakan oleh semua user akan diletakkan
didalam /usr/share. Lalu ada juga fonts, dan sound theme yang berkaitan
dengan tampilan.
/usr/doc
Merupakan tempat untuk menyimpan dokumentasi dan catatan yang berkaitan
dengan aplikasi. Apabila aplikasi third-party yang digunakan merupakan
aplikasi yang dikembangkan dengan baik, maka tentunya juga menyediakan
file dokumentasi yang dapat dibaca di dalam /usr/doc.
/usr/src
Merupakan tempat untuk menyimpan source code dari aplikasi sistem. Yang
paling umum tersimpan disini adalah source code dari kernel linux.
Source code ini sangat bermanfaat untuk melakukan kompilasi ulang atau
melakukan optimasi di tingkat kernel dengan dasar kernel sebelumnya.
/usr/include
Di direktori /usr/include tersimpan file-file header dari compiler C.
File header ini mendefinisikan struktur dan konstanta yang dibutuhkan
untuk membangun sebuah aplikasi yang standart. Direktori didalam
/usr/include tersimpan header untuk compiler C++.
/usr/X11R6
Menyimpan sistem X-Window dan hal-hal yang berkaitan dengan X-Window.
Subdirectories dibawah /usr/X11R6 tersimpan binari X itu sendiri dan
juga dokumentasi, file header, config. icon. sounf, dan sebagainya yang
berkaitan dengan grafis.
/usr/local
DI disini tersimpan aplikasi yang terinstall dan file yang yang
digunakan di local machine. Jika komputer yang digunakan merupakan
bagian dari sebuah jaringan besar, terus direktori /usr lokasi fisiknya
terletak di komputer yang berbeda dan di bagikan kedalam jaringan untuk
di mount kedalam /usr. Pada jaringan seperti ini, direktori /usr/local
akan berisi barang-barang yang hendaknya tidak digunakan di banyak mesin
dan hanya di gunakan di local machine saja. Karena kebanyakan komputer
tidak memanfaatkan bentuk jaringan seperti yang disebutkan tadi, bukan
berarti /usr/local menjadi tidak berguna. Jika kita menemukan aplikasi
yang menarik dan secara official tidak tersedia dan bukan bagian dari
distro yang digunakan, hendaknya kita menginstallnya kedalam /usr/local.
Sebagai contoh, jika aplikasi tambahan yang umum akan tersimpan kedalam
/usr/bin, maka aplikasi tambahan yang sifatnya lebih custom hendaknya
di simpan di /usr/local/bin. Dengan cara ini maka dapat menghindarkan
kebingungan dalam jenis aplikasi yang tersedia dan menjaga sistem tetap
bersih dan rapi.
/var
Direktori /var merupakan direktori yang isinya sangat dinamis. Jika
digunakan didalam server. Sangat dianjurkan /var ini untuk diletakkan di
partisi terpisah dikarenan direktori /var dapat membengkak dengan
sangat cepat. Selain itu juga, dengan direktori /var dibuat partisinya
sendiri atau secara fisik ditentukan lokasinya, maka dapat mencegah
internal fragmentasi, dan proses pencarian file tidak terlalu jauh,
hanya seputar cylinder itu-itu saja. Untuk memudahkan mengingat,
direktori ini dianggap kependekan dari 'variative'
/var/log
Merupakan direktori untuk menyimpan berbagai macam log atau catatan yang
berkaitan dengan sistem. Isi dari /var/log ini terus terupdate selama
sistem berjalan. Oleh karena itu, /var/log merupakan alasan dan penyebab
utama direktori /var dapat membengkak dengan gila-gilaan. Walaupun di
linux sendiri tersendiri tersedia aplikasi logrotate untuk meredam
percepatan pembengkakan direktori /var, tapi tetap juga jika tidak
disiapkan ruang tersendiri, ukuran log ini dapat menghantam ruang kosong
di sistem. Direktori /var/log ini hendaknya menjadi tempat pertama kita
lari apabila di sistem terjadi keanehan. System log linux baik kok,
keanehan pun akan di tuliskan dengan gamblang kedalam log. Misalkan pada
webserver, /var/log/httpd/access.log akan mencatat siapa saja yang
mengakses web yang terpasang dan menuju ke mana. Apabila banyak sekali
yang mengunjungi web itu, maka file /var/log/httpd/access.log pun akan
terupdate dengan kecepatan luar biasa yang susah untuk diikuti oleh
pandangan manusia biasa. Misalkan juga /var/log/syslog, disana tersimpan
log yang berkaitan dengan system. Misalkan kita colokkan flash disk,
maka dengan mengamati /var/log/syslog kita bisa mengetahui apakah sistem
bisa mengenali flashdisk itu dan melakukan auto mount, atau memberikan
pesan yang lain. Dari /var/log/syslog juga misalnya kita bisa melihat
apakan rule crontab yang kita buat berjalan sesuai waktunya atau tidak.
Semakin banyak kejadian yang buruk atau yang baik terjadi di system,
maka /var/log pun akan semakin membengkak.
/var/mail
Merupakan direktori untuk menyimpan email masuk dan keluar. Direktori
/var/mail ini akan sangat terasa fungsinya jika kita membuat mail server
menggunakan postfix, sendmail atau qmail. Sebenarnya tanpa menggunakan
mailserver itu, kita juga dapat mengirim email, hanya saja terbatas
hanya dalam lingkup mesin kita dan user yang terdapat didalamnya.
Apabila mesin yang kita gunakan hanya kita sendiri usernya, tentu saja
tidak seru, maka perlu dibuatkan mail server yang sesungguhnya agar
aktivitas kirim-mengirim email dapat seheboh dengan mail.yahoo.com
ataupun mail.ugm.ac.id. Direktori /var/mail merupakan penyebab kedua
yang membuat direktori /var dapat membengkak tidak karuan. Aktivitas dan
lalulintas saling kirim email yang tinggi, ditambah lagi dengan
attachment yang tidak masuk akal ukurannya, menyebabkan /var/mail
bertanggung jawab penuh atas membengkaknya /var. Dengan di berikannya
direktori /var sebuah partisi tersendiri, maka apabila direktori /var
mentok ke total ukuran partisi, 'hanya' menyebabkan mailserver-nya
macet. tapi sistem linux itu sendiri masih bisa berjalan dengan nyaman
untuk mengatasi 'kekacauan' di /var. Ada juga cara agar direktori /var
tidak segera penuh, dengan menerpakan quota di mail server.
/var/spool
Direktori /var/spool merupakan direktori untuk menyimpan file-file yang
spooling atau yang sedang mengantri untuk diproses. Yang umum berada
didalam /var/spool ini adalah operasi printing. Apabila linux yang
dibangun difungsikan sebagai prnter server, atau sharing printer, maka
/var/spool ini juga perlu diperhatikan apabila yang menggunakan printer
tersebut orangnya sangat banyak.
/var/run
Di direktori ini tersimpan PID (Process ID) dari layanan-layanan yang
berjalan. PID yang tercatat didalam /var/run ini nantinya akan digunakan
oleh script didalam /etc/init.d/* untuk mengendalikan layanan yang
tersedia di linux.
/proc
Direktori /proc juga merupakan pseudo filesystem yang mirip dengan /dev.
Bedanya, /proc ini murni hanya berkaitan dengan sistem dan tidak
menyangkut pada device. Jika kita melakukan pengecekan ukuran penggunaan
space, jangan terkecoh dengan direktori /proc yang tercatat menunjukkan
memakan space sangat besar. Segala macam space yang tertulis disitu
sama sekali tidak terdapat di dalam media penyimpanan harddisk. Jadi
direktori /proc sebenarnya tidak ada sama sekali. Isi dari /proc ini
adalah infomasi dari sistem, tetapi jika kita mengubah isi informasi
dari beberapa file /proc juga dapat mengubah sifat jalannya sistem.
Jangan takut apabila sistem berubah menjadi aneh tatkala kita mengubah
isi /proc. Selama pengubahan isi hanya menggunakan echo, maka dengan
merestart system, maka isi /proc pun akan langsung kembali ke semula.
Misalkan kita ingin melakukan forwarding network, maka informasi pada
/proc/sys/net/ipv4/ip_forward yang semula berisi 0 tinggal di ubah
menjadi 1. Misalkan kita melihat informasi processor, maka kita dapat
melihat dalam /proc/cpuinfo. Tapi jangan harap dengan mengedit
/proc/cpuinfo maka kita akan mendapat cpu yang bekerja dengan clock
cycle yang lebih menakjubkan.
/tmp
Merupakan file sistem yang menyimpan file-file sementara. Beberapa
distro akan otomatis membersihkan isi dari /tmp sewaktu reboot.
Direktori /tmp memiliki mode yang sangat terbuka sehingga mudah untuk
ditulisi oleh siapa saja. Didalam /var/tmp juga digunakan sebagai
penyimpanan file-file sementara, bedanya /var/tmp dengan /tmp yaitu
/var/tmp tidak akan dibersihkan saat system reboot. Untuk memudahkan
mengingat, direktori ini dianggap kependekan dari 'temporary'
/lost+found
Di direktori ini linux menyimpan file-file yang berhasil di recover saat
sistem crash. Dengan melihat kedalam /lost+found mungkin kita dapat
menemukan file yang hilang.