Sistem Direktori Linux OS dan Operasinya
KONSEP HIRARKI FILE PADA LINUX
Sistem file pada Linux menyerupai pepohonan (tree), yaitu dimulai dari
root, kemudian direktori dan sub dirrektori. Sistem file pada Linux
diatur secara hirarkhikal, yaitu dimulai dari root dengan symbol “/”
seperti Gambar dibawah. Elemen dari nama path dipisahkan dengan tanda
“/” (slash) seperti /usr/bin/X11/X. Penamaan pada hirarki file
bersifat case sensitive. Setiap shell dan proses pada sistem
masing-masing mempunyai current atau working directory. Perintah “..” berarti menuju parent directory (satu level ke atas dari hirarki file) sedangkan perintah “.” Berarti menuju ke current directory.
File dan directory yang namanya dimulai dengan “.” Berarti file yang
disembunyikan (tidak ditampilkan sebagai daftar nama file default).
Kita
dapat menciptakan File dan Direktori mulai dari root ke bawah.
Direktori adalah file khusus, yang berisi nama file dan INODE (pointer
yang menunjuk ke data / isi file tersebut). Secara logika, Direktori
dapat berisi File dan Direktori lagi (disebut juga Subdirektori).
DIREKTORY STANDAR
Setelah proses instalasi, Linux menciptakan system file yang baku, terdiri atas direktori sebagai berikut :
/ (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.
/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.
/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.
/media
Merupakan direktori untuk menyimpan direktori-direktori mount point.
CD-ROM, DVD, flash disk, bahkan floppy disk juga akan termount
di direktori ini.
/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
/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.
/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/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.
/root
Merupakan direktori home-nya superuser (root). Harap jangan bingung
dengan direktori root (/). Walaupun cara menyebutnya sama, tapi
sama sekali berfungsi sangat berbeda.
/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.
/proc
Direktori /proc juga merupakan pseudo filesystem yang mirip
dengan /dev. Bedanya, /proc ini murni hanya berkaitan dengan
sistem dan tidak menyangkut pada device.
/tmp
Merupakan file sistem yang menyimpan file-file sementara. Beberapa
distro akan otomatis membersihkan isi dari /tmp sewaktu reboot.
/lost+found
Di direktori ini linux menyimpan file-file yang berasil di
recover saat sistem crash. Dengan melihat kedalam /lost+found
mungkin kita sapat menemukan file yang hilang.
Sistem File dan Struktur Direktori Pada Sistem Operasi Linux
1. Sistem File
Sistem
file (filesystem) secara praktis diartikan bagaimana Linux menyimpan
data ke peralatan penyimpanan seperti hard disk, CD/DVD ROM, usb disk,
dan floppy. Sistem file Linux banyak jenisnya, namun yang paling
banyak digunakan saat ini adalah ext3. Ext3 tergolong journaling
filesystem, yang memiliki kelebihan dari sisi keamanan data.
Misalnya, ketika listrik mati mendadak sehingga tidak
sempat shutdown atau melakukan pelepasan secara normal (umount),
maka tidak perlu melakukan fsck (scandisk) saat booting berikutnya.
Sistem
file Linux lainnya antara lain reiserfs (juga tergolong
journaling filesystem) dan ext2 (versi lama dari ext3 yang belum
bersifat journaling). Linux juga dapat mengakses sistem file lain
seperti DOS, Windows (VFAT 16, VFAT 32, dan NTFS), Unix, jfs, dan
lain-lain. Swap dapat digolongkan sebagai sistem file pengganti RAM,
sehingga disebut juga virtual memory. Sistem file lain yang berbasis
jaringan adalah samba (smb) yang juga digunakan oleh MS
Windows dan NFS (Network File System) yang juga digunakan oleh
sistem operasi Unix.
Cara
membuat sistem file di hard disk ada dua langkah, yaitu
membuat partisi, kemudian memformatnya. Salah satu perintah pembuatan
partisi adalah fdisk, dan perintah format adalah mkfs.
Perintah
mengedit atau membuat partisi adalah fdisk /dev/sda, lalu ketik
m untuk melihat daftar perintah di menu fdisk. Ketik p untuk melihat
daftar partisi, dan ketik q untuk keluar tanpa menyimpan perubahan.
Perintah berikut ini akan memformat partisi 13 dari hard disk primary master
(/dev/sda) dengan sistem file ext3:
# mkfs.ext3 /dev/sda13
atau
# mkfs -t ext3 /dev/sda13
2. Struktur Direktori
Sebelum
mengakses file dan direktori dan perintah-perintah yang
berhubungan dengannya, Anda sebaiknya lebih dahulu memahami
struktur file dan direktori di Linux.
Linux
memiliki direktori paling atas atau paling kiri, dibaca slash
(garis miring), dinamakan root directory atau direktori
akar. Itu perbedaan mendasar struktur direktori Linux dengan
Windows. Di Windows ada folder C: yang mengarah ke direktori
paling atas dari harddisk. Di Windows juga ada A: untuk masuk ke
disket. Tapi, di Windows tidak ada direktori di atas C dan A.
Di
Linux, C biasanya berupa direktori /mnt/win atau yang lain sesuai
dengan yang membuat distro Linux. /mnt/win disebut mount point, yang
berhubungan dengan file harddisk dengan partisi /dev/sda1. Jadi, C di
Windows itu juga sejenis mount point yang berhubungan device (/dev)
harddisk.
Jika
/mnt/win diganti dengan /C, artinya /C adalah mount point bagi
/dev/sda1. Yang membedakan C di Linux dengan C di Windows, adalah
adanya garis miring / di sebelah kiri C di Linux, dan tidak ada garis
miring di Windows. Ini juga berarti, garis
miring / adalah direktori di atas C.
Operasi Pada Direktori
Operasi-operasi yang dapat dilakukan pada direktori adalah:
1.
Mencari berkas, kita dapat menemukan sebuah berkas didalam sebuah
struktur direktori. Karena berkas-berkas memiliki nama simbolik dan nama
yang sama dapat mengindikasikan keterkaitan antara setiap
berkas-berkas tersebut, mungkin kita berkeinginan untuk dapat menemukan
seluruh berkas yang nama-nama berkas membentuk pola khusus.
2. Membuat berkas, kita dapat membuat berkas baru dan menambahkan berkas tersebut kedalam direktori.
3. Menghapus berkas, apabila berkas sudah tidak diperlukan lagi, kita dapat menghapus berkas tersebut dari direktori.
4.
Menampilkan isi direktori, kita dapat menampilkan seluruh berkas
dalam direktori, dan kandungan isi direktori untuk setiap berkas dalam
daftar tersebut.
5.
Mengganti nama berkas, karena nama berkas merepresentasikan isi dari
berkas kepada user, maka user dapat merubah nama berkas ketika isi
atau penggunaan berkas berubah. Perubahan nama dapat merubah posisi
berkas dalam direktori.
6. Melintasi sistem berkas, ini sangat berguna untuk mengakses direktori dan berkas didalam struktur direktori.
Direktori Satu Tingkat Ini adalah struktur direktori yang paling
sederhana. Semua berkas disimpan di dalam direktori yang sama. Struktur
ini tentunya memiliki kelemahan jika jumlah berkasnya bertambah
banyak, karena tiap berkas mesti memiliki nama yang unik.
Direktori Dua Tingkat Kelemahan yang ada pada direktori tingkat satu
dapat diatas pada sistem direktori dua tingkat. Caranya ialah dengan
membuat direktori secara terpisah. Pada direktori tingkat dua, setiap
pengguna memiliki direktori berkas sendiri (UFD). Setiap UFD memiliki
struktur yang serupa, tapi hanya berisi berkas-berkas dari seorang
pengguna. Ketika seorang pengguna login, master direktori berkas (MFD)
dicari. Isi dari MFD adalah indeks dari nama pengguna atau nomor
rekening, dan tiap entri menunjuk pada UFD untuk pengguna tersebut.
Ketika seorang pengguna ingin mengakses suatu berkas, hanya UFD-nya
sendiri yang diakses. Jadi pada setiap UFD yang berbeda, boleh terdapat
nama berkas yang sama.