Kamis, 25 September 2014

Struktur File System di Linux

Struktur File System di Linux







File system
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 mdirmcopy 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 netstatFilesystem 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 pagelibrary dan file executable.