Pada jaman kegelapan (baca: DOS dan Windows), filesystem biasanya
ditandai dengan apa yang dinamakan drive yang masing-masing mendapat
satu karakter tersendiri. Drive A dan B lumrahnya untuk disket (floppy
disk) sementara drive C, D, E, dan seterusnya adalah untuk hard disk.
Ada pula penamaan seperti drive H untuk direktori home atau huruf-huruf
drive seperti P, Q, R untuk drive yang dipetakan ke jaringan (network
drive). Konsep drive, sebagai salah satu dari karakteristik khas DOS
yang masih terpaksa masih diwarisi Windows, tidak dikenal di Linux
maupun sistem operasi Unix lainnya. Untuk menjelaskan hal ini, marilah
kita sebentar menengok secara lebih rinci bagaimana Linux mengelola file
dan mengatur disk. File-file yang jumlahnya bisa segerobak diatur
melalui apa yang disebut sebagai filesystem. Tidak lain tidak bukan,
filesystem ini mengorganisasi isi dari media penyimpan, apakah itu
disket, hard disk, ataupun CD-ROM. Filesystem juga memungkinkan user
melakukan manajemen file, antara lain membuat file baru, mengganti nama
file, memindah file dari satu tempat ke tempat lain, dan juga menghapus
file yang sudah tidak diinginkan (jelas bahwa tanpa fungsi-fungsi
seperti ini, tentu saja filesystem tidak menjadi terlalu berguna).
Ada
berbagai ragam filesystem. Linux umumnya menggunakan filesystem yang
dinamakan ext2. DOS selalu memakai filesystem FAT. Untuk Windows, yang
sering didukung adalah filesystem FAT (guna kompatibilitas dengan DOS)
atau FAT32, yaitu FAT yang diperluas untuk menangani long-filename
sekaligus mengatasi ukuran disk yang cukup besar. Windows NT menggunakan
filesystem NTFS yang khusus diciptakan untuk mengakomodasi berbagai
fitur Windows NT. Satu jenis filesystem tidak kompatibel dengan yang
lainnya. Hal ini berarti tanpa prosedur tertentu sebuah partisi FAT dari DOS tidak akan dikenali begitu saja di Linux. Demikian juga sebaliknya.
Di
sistem operasi semacam DOS atau Windows, filesystem dikenali dan
diakses melalui drive tertentu. Sebagai contoh, biasanya hard disk yang
berisi partisi sistem Windows akan selalui dinamai sebagai drive C.
Kemudian bila ada partisi kedua yang berfungsi untuk menyimpan data,
maka partisi ini bisa saja menjadi drive D. Demikian seterusnya. Disket,
karena diakses melalui floppy-drive, biasanya mendapat drive A atau
drive B (tergantung jumlah floppy-drive yang ada).
Dalam istilah sistem operasi, membuat filesystem agar dapat diakses merupakan tindakan yang disebut sebagai mounting.
Prosesnya sendiri relatif singkat: memeriksa secara cepat apakah
filesystem tersebut valid atau tidak dan selanjutnya mencatat keterangan
penting tentang filesystem ini di memori. Catatan ini akan dipergunakan
segera setelah filesystem ini mulai digunakan. DOS dan Windows dapat
dikatakan melakukan proses mount ini secara otomatis dan transparan
terhadap user. Tanpa angin dan hujan, tiba-tiba saja partisi data muncul
sebagai drive D. Juga ketika ingin mendaftar file-file di disket, cukup
eksekusi perintah dir a: karena dari awal drive A dianggap sebagai
floppy.
Linux mengidentifikasi filesystem dengan cara yang
berbeda dibandingkan DOS atau Windows. Jika di Windows sebuah filesystem
diasosiasikan dengan huruf drive, maka di Linux satu filesystem
dipetakan ke direktori tertentu. Yang demikian ini menjadikan Linux
lebih fleksibel dibandingkan Windows. Tentu saja hal ini dengan
konsekuensi bahwa user mendapat sedikit tambahan beban karenanya.
Bagaimana hingga sebuah filesystem terkait dengan satu direktori ?
Di sinilah dibutuhkan perintah mount. Bisa diterka bahwa fungsi dari
mount adalah untuk melakukan mounting filesystem yang diinginkan.
Sebagai ilustrasi, disket pada floppy-drive bisa saja dipetakan sebagai direktori /floppy, partisi Windows dipetakan ke /windows sementara CD-ROM sebagai /cdrom. Per istilah, nama-nama direktori /floppy, /windows, dan /cdrom disebut sebagai mount point.
Bagaimana nama dari mount point ini sendiri sepenuhnya tergantung user.
Namakan saja sesukanya, misalnya /disket alih-alih /floppy.
Melakukan
mount adalah semudah mengetikkan perintah mount yang diikuti argumen
yang tepat. Sebagai contoh, perintah berikut adalah untuk melakukan
mount agar disket bisa diakses di /floppy:
mount /dev/fd0 /floppy
Di sini /dev/fd0 menunjuk ke floppy-drive yang pertama (/dev/fd1 untuk yang kedua, demikian seterusnya).
Bagaimana jika partisi Windows yang merupakan partisi pertama di hard disk ingin juga diakses ? Berikut perintahnya:
mount -t vfat /dev/hda0 /windows
Segera setelah perintah mount ini sukses dijalankan, maka file-file
yang mulanya hanya ada di partisi Windows sekarang bisa ditengok dari
Linux. Perhatikan bahwa /dev/hda0 adalah untuk partisi pertama hard disk
utama (primary). Jika Windows yang Anda miliki tidak berada di sini,
tentu saja perintah di atas harus disesuaikan dahulu. Catatan: kalau
Windows yang digunakan adalah Windows NT, maka vfat harus diganti dengan
ntfs.
Sekarang, bagaimana untuk CD-ROM ? Mudah. Simak yang berikut ini:
mount -t iso9660 /dev/cdrom /cdrom -o ro
Sama saja seperti yang sebelumnya, bukan ? Tambahan option -o ro adalah untuk menyatakan bahwa filesystem akan diakses dalam modus readonly.
Sebuah catatan penting: sebelum melakukan mount, pastikan bahwa mount-point sudah dibuat sebelumnya.
Misalnya, sebelum memount disket ke /floppy, buat dahulu direktori
/floppy (gampang saja yakni dengan mkdir /floppy). Jika direktori ini
tidak ada, mount tidak akan berhasil.
Penggunaan umum dari perintah mount adalah:
mount [-t type] device directory [-o option]
Jangan bingung dahulu karena berikut akan dijelaskan lebih detil maksud dari sintaks di atas.
Parameter type
menentukan jenis filesystem yang hendak dimount. Beberapa yang dikenal
di Linux antara lain ext2 (untuk filesystem ext2), msdos (untuk partisi
FAT), vfat (untuk partisi Windows), dan iso9660 (untuk CD-ROM). Bisa
juga type ini diisi sebagai auto yang berarti ragam filesystem akan
ditentukan secara otomatis. Perhatikan bahwa parameter type ini diapit
oleh kurung siku. Sekedar menyegarkan ingatan, hal ini bermakna bahwa
type adalah opsional – boleh digunakan boleh juga tidak. Manakala
terdapat ketidakpastian, maka gunakanlah perintah ini.
Parameter device
menentukan filesystem yang hendak dimount. Biasanya ini adalah /dev/fd
untuk disket, /dev/hd untuk hard disk, /dev/cdrom untuk CD-ROM, dan
seterusnya.
Parameter directory menunjukkan mount
point dari filesystem yang dimount. Sekali lagi, jangan lupa pastikan
bahwa direktori ini memang sudah ada dan bisa diakses sebelum perintah
mount dijalankan.
Parameter option menspesifikasi
option untuk mounting. Seperti sudah diilustrasikan sebelumnya, option
ro akan menyebabkan filesystem menjadi read-only. Sebenarnya ada juga
option rw (yaitu untuk read-and-write) tetapi karena option ini adalah
default, maka tidak perlu ditulis secara eksplisit.
Lagi-lagi
berbeda dengan Windows, filesystem yang sudah dimount di Linux harus
di-unmount begitu selesai digunakan. Proses unmount adalah kebalikan
dari mount. Kini terjadi pelepasan akses terhadap filesystem tersebut.
Data-data yang belum tertulis alias masih dalam buffer juga akan
permanen dituliskan ke filesystem yang bersangkutan.
Perintah untuk melakukan unmount adalah umount (perhatikan, tanpa huruf ‘n’ setelah huruf pertama ‘u’). Adapun sintaksnya relatif sederhana:
umount mount-point
Misalnya Anda usai mengakses disket yang sebelumnya dimount ke /floppy/, maka perintah yang tepat untuk unmount adalah:
umount /floppy/
Ketika mencoba contoh-contoh di atas, mungkin Anda perlu login
sebagai root. Namun demikian, pada dasarnya mount dan unmount dapat
dilakukan oleh user biasa. Hal ini sepenuhnya diatur melalui file
konfigurasi /etc/fstab. Untuk menerangkan isi file ini, baiklah kita
ambil contoh /etc/fstab sebagai berikut:
/dev/hda1 /windows/C ntfs rw,noauto,user 0 0
/dev/hda5 /windows/D vfat noauto,user 0 0
/dev/hda6 /ext2 defaults 1 1
/dev/hda7 swap swap defaults 0 2
/dev/cdrom /cdrom auto ro,noauto,user,exec 0 0
/dev/fd0 /floppy auto noauto,user 0 0
Masing-masing
baris tersusun atas enam buah entri, dipisahkan oleh spasi kosong.
Kolom pertama menyatakan device atau filesystem, kolom kedua untuk
mount-point dari filesystem tersebut, kolom ketiga tidak lain adalah
jenis filesystemnya. Ketiga entri ini tentunya sudah jelas dari
deskripsi perintah mount sebelumnya. Kolom keempat adalah option: auto
berarti filesystem akan dimount pada saat startup, rw berarti
read-and-write, ro untuk read-only, user bermakna user biasa (tidak
harus root) juga diijinkan melakukan mount dan unmount filesystem ini.
Angka pada kolom ke-5 dan ke-6 masing-masing untuk menspesifikasi apakah
filesystem perlu dibackup ketika dilakukan system backup dan apakah
harus dilakukan pemeriksaan filesystem saat startup.
Supaya suatu
device dapat dimount oleh user biasa, cukup tuliskan user pada kolom
ke-4 (option). Jadi langkah-langkahnya adalah: login dahulu sebagai
root, buka file /etc/fstab dengan editor favorit Anda, edit sehingga
terdapat option user pada device yang diinginkan, dan terakhir jangan
lupa simpan filenya. Sekarang loginlah sebagai user biasa dan Anda akan
mendapatkan bahwa device yang dimodifikasi sudah bisa dimount (dan juga
unmount).
Nah, ternyata mounting dan unmounting tidak begitu
susah sama sekali. Malahan, kalau Anda menggunakan distribusi Linux yang
baru-baru seperti Mandriva, RedHat , Fedora atau SuSE , hampir semuanya
menyisipkan fasilitas mounting secara otomatis. Contohnya, mengklik
shortcut Floppy Device yang sudah disiapkan di desktop akan menyebabkan
terjadi proses mounting ke /dev/fd0 sekaligus menampilkan isi disketnya.
Sama sekali tidak diperlukan campur tangan untuk memount (dan kemudian
unmount) secara manual.
Ada juga yang disebut sebagai automount
yaitu service yang memungkinkan dilakukannya mounting secara otomatis
ketika filesystem mulai digunakan serta unmounting tatkala filesystem
tersebut tidak diakses lagi. Service ini disebut sebagai autofs. Pada
aneka distribusi Linux, biasanya autofs ini sudah tersedia dan tinggal
diaktifkan saja.