Struktur
File System di Linux
Untuk mengorganisasi
file-file pada device diperlukan suatu metode
yang disebut dengan filesystem.Jika
Anda mengenal FAT selama ini di sistem
operasi Windows maka Anda akan mengenal beberapa metode filesystem di Linux, seperti ext fs, ext2 fs atau xia fs dll. Saat ini ext2 fs adalah filesystem yang
banyak digunakan untuk Linux karena terkenal sangat efisien. Meskipun demikian Red Hat Linux tetap
menyediakan dukungan terhadap filesystem lain
seperti msdos yang sudah built in di
kernel atau dalam bentuk modul seperti vfat (Windows95 native fs), ext,umsdos dan
sebagainya.
Mount
& Umount Command
Untuk
menggunakan filesystem tersebut kita lebih
dahulu harus me-mount sebuah block device yang memiliki filesystem. Perintahnya adalah sebagai berikut:
# mount [-t] [-o] device mount_point
device berupa block device,
mount_point berupa sebuah direktori untuk menampilkan filesystem. t adalah type atau jenis filesystem dan
o adalah option, keduanya boleh saja tidak disertakan bila Anda
sudah mengkonfigurasi file /etc/fstab yang
berisi keterangan detail mengenai device,jenis filesystem,mount point yang
digunakan dan sebagainya.
Misalnya saya akan
mengakses sebuah file di disket di drive A: maka pertama kali saya harus me-mountdulu disk tersebut ke sebuah direktori yang sudah
saya buat misalnya /mnt/floppy:
# mount /dev/fd1 -t vfat /mnt/floppy
<enter>
mount: block device /dev/fd1 is write-protected, mounting
read-only
Setelah perintah itu barulah saya bisa membaca disket di drive
A: tersebut di direktori /mnt/floppy. Misalnya dengan mengetikkan perintah ls
maka akan ditampilkan isi disket di drive A:
# ls /mnt/floppy
Untuk membatalkan
perintah mountdigunakanperintah umount
# umount /mnt/floppy
Setelah perintah tersebut dieksekusi, otomatis drive A:
tidak bisa digunakan, cobalah dengan mengetikkan perintah ls lagi. Pesan
kesalahan akan ditampilkan seperti dibawah ini.
# ls /mnt/floppy
filesystem not mounted
mtools
Bila Anda
memiliki filesystem DOSdan ingin mengunakannya tanpa harus
melakukan mount maka gunakan mtools. Dengan cara ini Anda tidak perlu lagi
melakukan mount bila ingin mengaksesfilesystem DOS dan
partisi yang belum diformat sekalipun. Setelah menginstalasi mtools tersebut,
Anda cukup menjalankan perintah-perintah seperti di DOS untuk mengakses filesystem DOS tersebut, misalnya mdir, mcopy dan
sebagainnya.
Filesystem Manager
Pada saat boot, kernel akan me-mount root filesystem dari device yang telah ditentukan dalam LILO. Selama
proses boot tersebut semua filesystem yang ada dalam tabel filesystem atau dalam file /etc/fstabjuga akan diperiksa apakah perlu di mountatau tidak.
Red Hat telah
menyediakan program yang sangat mudah digunakan untuk mengkonfigurasi filesystemtersebut. Program ini berjalan di X dan dapat
dipanggil melalui control panel atau cukup
mengeksekusinya dengan perintah fstool. Selanjutnya
hasil konfigurasinya juga akan disimpan dalam file /etc/fstab.
Bila Anda tidak menginstalasi X dan tidak bisa menjalankan
fstool,
jangan kuatir file
/etc/fstab juga dapat di edit secara manual dengan
program teks editor favorit Anda.
Filesystem manager menampilkan informasi mengenai nama device,mount point, jenis filesystem, ukuran dan sisa spasi yang masih
tersedia. (Informasi ini seperti ini juga bisa diperoleh dengan perintah df).
Filesystem dapat
di mount atau di unmount dengan
tombol Mount dan Unmount. Tanda
asterik (*) didepan jenis filesystem menandakan filesystem tersebut sudah atau sedang di mount.
Tombol Format hanya berfungsi untuk partisi hard disk. Tombol ini akan menjalankan
program mkfsyaitu program untuk membuat filesystem.
Tombol Check hanya berfungsi untuk filesystem ext2 dan minix. Tombol ini akan menjalakan programfsck dan membutuhkan waktu beberapa saat untuk
menampilkan hasil pemeriksaan. Bila filesystemdigunakan
secara normal dan fsck selalu dijalankan pada
saat boot maka hasil check seringkali
tidak menunjukkan kesalahan apapun.
Mengedit file /etc/fstab
File /etc/fstab
berupa file teks biasa, bisa dibaca dan mudah di edit dengan program editor
teks favorit kita. Lakukan secara hati-hati karena kesalahan dalam memasukkan
atau menghapus sesuatu menyebabkan sistim tidak bisa me-mount filesystem saat boot nanti.
Mirip dengan tampilan
program fstool diatas, saat dibuka file /etc/fstab menampilkan kolom-kolom yang
berisi informasi nama device, mount point, jenis filesystem, option,
dump dan fsckorder. Kolom-kolom tersebut masing-masing dipisahkan dengan tabs
atau spasi.
Kolom dump
berhubungan dengan program dump, lihat manual
page program dumb. Kolom terakhir fsckorder berhubungan dengan program fsck. Urutan pengecekan filesystem saat boot ditunjukkan oleh nomor dikolom ini.
Pengecekan filesystem dapat dilakukan
secara paralel dengan memberikan nomor urut yang sama tapi filesystem root selalu harus nomor 1. Filesystem dengan fsckorder 0 tidak akan dicek
saat boot.
Filesystem Support
Linux memiliki
dukungan terhadap beberapa filesystem lain
sehingga kita dapat menggunakan atau mengakses filesystem yang
berbeda tanpa harus melakukan konversi lebih dulu. Berikut ini adalah
beberapa filesystem yang bisa di dukung Linux sejak kernel
2.0.30 di keluarkan: (Anda dapat mengkonfigurasi dukungan filesystem ini saat konfigurasi kernel )
Minix
|
Merupakan filesystem Linux yang pertama dan saat ini masih
banyak digunakan untuk boot disk dan
beberapa format disket.
|
Extended fs
|
Tidak banyak yang menggunakannya lagi
dan sebaiknya tidak perlu di kompile dalam kernel.
|
Second Extended fs
|
Saat ini merupakan filesystem default untuk Linux dan seharusnya di
kompile dalam kernel karena filesystem root tidak
bisa bekerja bila berupa modul.
|
xiafs filesystem
|
Diperkenalkan bersamaan dengan second
extended fs dan dimaksudkan untuk menggantikan extended fs. Saat ini jarang
digunakan dan sebaiknya tidak di kompile dalam kernel kecuali Anda
membutuhkannya.
|
DOS FAT fs
|
Pada dasarnya bukan merupakan
sebuah filesystem tapi merupakan dasar bagifilesystem berbasis FAT lainnya seperti MS-DOS FAT,
VFAT (Windows95) atau umsdos.
|
MS-DOS FAT fs
|
Jika Anda menginginkan Linux dapat
mengakses sistem berbasis DOS maka Anda dapat menkompilenya dalam kernel.
Sangat berguna untuk komputer yang memiliki sistem dual-boot.
|
VFAT (Windows95) fs
|
Merupakan peningkatan dari MS-DOS FAT
fs dan mendukung format long filename. Ini
juga berguna untuk komputer yang memiliki sistem dual-boot.
|
umsdos
|
Dukungan ini dibutuhkan bila ingin
menjalankan Linux diatas partisi DOS tapi sepertinya RedHat Linux tidak akan
bisa berjalan pada sebuah filesystem umsdos.
|
/proc
|
Filesystem ini dipakai oleh kernel untuk menyediakan informasi
mengenai sistem kepada user program,
seperti ps, top, xload, free atau netstat. Filesystem ini
memang seharusnya selalu ada dan walaupun ada isinya tapi tidak akan mengisi
spasi hard disk.
|
NFS
|
Dibutuhkan bila Anda akan
mengakses remote filesystem dan untuk
sebuah serverdukungan ini merupakan suatu keharusan.
|
SMB
|
Sangat berguna bila Anda menginginkan
memiliki akses langsung ke Windows95 atau NT.
|
NCP
|
Dukungan terhadap NetWare melalui
protokol NCP.
|
ISO9660
|
Bila Anda memiliki CD-ROM sebaiknya
memanfaatkan dukungan ini karena banyak sekali CD-ROM yang ada dipasaran
menggunakan format ISO9660 ini.
|
OS/2 HPFS
|
Mendukung filesystem OS/2 dan HPFS. Linux hanya dapat
membaca filesystemtersebut (read-only).
|
System V & Coherent
|
Merupakan filesystem UNIX generasi lama dan dukungan ini
hanya diperlukan bila Anda memiliki data-data lama dan ingin memindahkannya
ke filesystem yang baru.
|
Amiga FFS
|
Masih berupa experimental code dan sebaiknya gunakan dengan
hati-hati.
|
UFS
|
Filesystem ini digunakan oleh beberapa sistem UNIX, Solaris dan
SunOS(4.2). Linux hanya dapat membaca filesystem ini.
|
Manajemen Sistem
Organisasi File
Disamping memiliki
program instalasi yang baik, distribusi RedHat juga mengorganisasi file-file
yang diinstalasi dengan baik pula. RedHat mengikuti standar
pengorganisasian filesystem Linux atau FSSTNDyang tersedia di website http://www.pathname.com/fhs/
Keterangan lebih
lengkap tentu saja dapat diperoleh di website tersebut
tapi secara sederhana organisasi file di RedHat dapat dijelaskan sebagai
berikut:
Pada tingkat
tertinggi adalah root direktori, /, yang hanya
mengandung sejumlah file penting seperti:
bin/, boot/, dev/, etc/, home/, lib/, lost+found/, mnt/,
proc/, sbin/, tmp/, usr/, dan var/.
/bin & /sbin
Direktori ini
menyimpan program-program penting yang digunakan untuk pemeliharaan sistem.
Sesuai dengan nama direktorinya, file-file program yang tersimpan didalamnya
berupa file binary yang dapat dieksekusi (executable).
Isi direktori /bin umumnya adalah user program seperti:
·
login
·
Shell (bash, ksh,
csh)
·
File utility (cp, mv,
rm. ln, tar)
·
Editor (ed, vi)
·
Filesystem utilty
(dd, df, mount, umount, sync)
·
System utility
(uname, hostname, arch)
·
GNU utility (gzip,
gunzip)
Isi direktori /sbin
umumnya adalah program pemeliharaan atau sistem program. Program-program yang
disimpan di direktori /sbin ini hanya dapat dieksekusi oleh root. Contohnya adalah sebagai berikut:
·
fsck
·
fdisk
·
mkfs
·
shutdown
·
lilo
·
init
/etc
Direktori ini
menyimpan file-file konfigurasi systemwide yang
dibutuhkan oleh program-program lainnya. Beberapa file penting di direktori ini
misalnya:
·
passwd
·
shadow
·
fstab
·
hosts
·
motd
·
profile
·
shells
·
services
·
lilo.conf
/home
Direktori ini menyimpan direktori masing-masing user yang
ada di sistem termasuk HTTPD. Beberapa sistem Linux menyimpan home user root di
direktori ini sebagai /home/root tapi ada juga yang menyimpan direktori home
user root di direktori / atau root direktori.
/mnt
Umumnya direktori ini
didalamnya mengandung subdirektori-subdirektori yang merupakan sebuahmount point untuk jenis device tertentu. Misalnya cdrom/, floppy/, atau
zip/.
/tmp & /var
Direktori /tmp untuk menampung file-file
sementara(temporary) dan /var menampung varying content atau macam-macam file.
Direktori /tmp biasanya juga dimanfaatkan oleh program
instalasi saat kita mengintalasi program atau aplikasi. Isi direktori ini bisa
saja dihapus setiap saat tanpa menimbulkan penagaruh apapun.
Direktori /var memiliki isi yang lebih banyak dari /tmp dan
biasanya isinya adalah seperti ini:
catman/, lib/, local/, lock/, log/,nis/, preserve/, run/,
spool/ dan tmp/.
Direktori /var/log merupakan direktori yang sangat familiar
bagi setiap user. Di dalamnya disimpan pesan-pesan yang dihasilkan oleh sistem.
Berikut ini isi direktori /var/log di komputer saya:
httpd/, boot.log, cron, dmesg, htmlaccess.log, lastlog,
maillog, messages, netconf.log, secure,sendmail.st, spooler, wtmp. File-file pesan tersebut sangat
berguna bagi kita untuk mendiagnosis masalah atau kesalahan sistem. Bagi yang
tidak berpengalaman dalam menangani masalah sistem, isi file-file pesan
tersebut bisa disertakan bila kita minta bantuan orang lain atau di forum
milis.
/usr
Berisi semua program dan file yang secara langsung
berhubungan dengan setiap user dalam sistem. Misalnya di komputer saya isinya
adalah sebagai berikut:
~X11, X11R6/, ~X386, bin/, dict/, doc/, etc/, games/,
i386-redhat-linux/, i486-linux-libc5/, i486-linuxaout/, include/, info/, lib/,
libexec/, local/, man/, sbin/, share/, src/, ~tmp.
Direktori /usr/bin
dan /usr/sbin menyimpan banyak sekali file executable.
File-file executable yang disimpan di
direktori ini memiliki kesamaan fungsi dan jenis dengan file-file di direktori
/bin dan /sbin.
Direktori /usr/X11
dan /usr/X11R6 dan subdirektori dibawahnya berisi semua file yang berhubungan
dengan X Window seperti man page, library dan file executable.