Manajemen File Dan Direktori
Pengertian Sistem File (File System)
Sistem file (file system) atau sistem berkas merupakan struktur logika yang digunakan untuk mengendalikan akses terhadap data yang ada pada disk. Dengan kata lain, sistem file merupakan database khusus untuk penyimpanan, pengelolaan, manipulasi dan pengambilan data, agar mudah ditemukan dan diakses.
Hubungan antara sistem operasi dengan sistem file adalah sistem file (file system) merupakan interface yang menghubungkan sistem operasi dengan disk. Ketika program menginginkan pembacaan dari hard disk atau media penyimpanan lainnya, sistem operasi akan meminta sistem file untuk mencari lokasi dari file yang diinginkan. Setelah file ditemukan, sistem file (file system) akan membuka dan membaca file tersebut, kemudian mengirimkan informasinya kepada sistem operasi dan akhirnya bisa dibaca oleh pengguna.
File Sistem Pada Windows
1.FAT16 (File Allocation Table)
Sistem file FAT16 pertama kali diperkenalkan pada era MS-DOS di tahun 1981.
Sistem file yang sudah berumur 27 tahun ini, pertama kali dirancang untuk menanganifile yang terdapat pada floppy disk. Selanjutnya dengan beberapa perbaikan, system file ini mampu untuk menangani file yang terdapat pada hard disk. Keunggulan yang paling besar dari FAT16 adalah kemampuan untuk bekerja pada banyak system operasi yang berbeda seperti, Windows 95/98/Me, OS/2, Linux, dan beberapa versidari UNIX. Sedangkan kelemahan terbesarnya terletak pada jumlah kluster yang terbatas untuk tiap partisinya, sehingga apabila hardisk bertambah besar maka ukuran kluster yang ada pada hardisk juga akan bertambah besar. Pada hardisk dengan besar partisi 2GB, setiap kluster mempunyai besar 32 kilobytes, artinya walaupun file yang terdapat pada hardisk tersebut lebih kecil dari 32 KB maka pada hardisk dengan FAT16 tetap akan menempati ruangan sebesar 32 KB. FAT16 juga tidak mendukung kompresi, enkripsi dan beberapa teknik keamanan yang lain.
Kelebihan :
FAT16 adalah sebuah file system yang kompatibel hampir di semua Operating System baik itu Windows 95/98/me, OS/2 , Linux dan bahkan Unix.
Kekurangan :
• FAT16 mempunyai kapasitas tetap jumlah cluster dalam partisi, jadi semakin besar Harddisk maka ukuran cluster akan semakin besar, artinya file sekecil apapun tetap akan memakan 32Kb dari harddisk. • Tidak mendukung kompresi, enkripsi dan kontrol akses dalam partisi. FAT16 adalah sistem berkas yang menggunakan unit alokasi yang memiliki batas hingga 16-bit
2. FAT32 (File Allocation Table)
Sistem file FAT32 pertama kali diperkenalkan saat peluncuran Windows 95 Service Pack 2. Sistem file ini merupakan pengembangan dari FAT16 dengan perbaikan utama terletak pada peningkatan jumlah kluster untuk setiap partisi. Dalam perjalanannya ternyata FAT32 mempunyai banyak keunggulan lain bila dibandingkan dengan pendahulunya. Meskipun FAT32 bertujuan untuk menutupi segala kelemahan yang terdapat pada FAT16, ternyata timbul suatu masalah dengan kompatibelitas terhadap sistem operasi yang lain. Bila FAT16 mampu ‘bercengkrama’ dengan banyak sistem operasi, tidak demikian halnya dengan FAT32. Windows NT, Linux dan UNIX adalah beberapa diantara sistem operasi yang gagal ‘dihinggapi’ oleh FAT32. Setelah muncul Windows XP, hal ini tidak menjadi masalah lagi karena Windows XP dapat dipasang dengan baik pada FAT32 sehingga mempermudah melakukan komunikasi di jaringan yang menggunakan Windows XP tanpa memperdulikan sistem file yang digunakan.
Kelebihan :
FAT32 menawarkan kemampuan menampung jumlat cluster yang lebih besar dalam partisi. Selain itu juga mengembangkan kemampuan harddisk menjadi lebih baik dibanding FAT16.
Kelemahan :
• Terbatasnya sistem operasi yang bisa mengenal FAT32. Tidak seperti FAT16 yang bisa dikenal oleh hampir semua Operating System, namun itu bukan masalah apabila anda menjalankan FAT32 di Windows Xp karena Windows Xp tidak peduli file sistem apa yang di gunakan pada partisi.
•Tidak mampu menampung single file berukuran 4gb atau lebih.
3. NTFS (New Technology File System)
Sistem file NTFS diperkenalkan pertama kali saat peluncuran versi awal dari Windows NT. Sistem file ini sangat berbeda dengan FAT. NTFS memberikan fitur keamanan yang sangat tinggi, kompresi data yang bagus serta enkripsi data yang susah ditembus. Sistem file ini merupakan sistem file default saat kita pertama kali melakukan instalasi Windows XP dan jika kita melakukan upgrade dari Windows 9x ke Windows XP maka kita akan ditanya apakah kita juga akan mengkonversi sistem file lama kita ke NTFS. Jika kita menolak untuk melakukan konversi juga tidak menjadi masalah sebab Windows XP tetap akan bekerja pada sistem file FAT32 tentu dengan fitur keamanan yang kurang. Yang perlu diingat, kita bisa dengan mudah melakukan konversi sistem file dari FAT16 atau FAT32 ke NTFS, tetap sebaliknya, bila kita ingin mengkonversi balik ke FAT dari NTFS tidak bisa dilakukan dengan mudah tanpa men-format hardisk.
Kelebihan :
• NTFS dapat mengatur kuota volume untuk setiap pengguna
• Mendukung sistem berkas terenkripsi secara transparan
dengan menggunakan beberapa jenis algoritma enkripsi
yang umum digunakan.
• Mendukung kompresi data yang transparan, meskipun tidak
memiliki rasio yang besar, namun dapat digunakan untuk
menghemat penggunaan ruangan harddisk.
• Mendukung penamaan berkas dengan metode pengodean
Unicode (16-bit UCS2) hingga 255 karakter.
• Memiliki fitur untuk menampung lebih dari satu buah
ruangan data dalam sebuah berkas.
Kelemahan :
• Kompatibilitas terhadap software atau operating sistem lawas seperti win 9x dan ME.
• Sistem operasi lama milik microsoft ini tidak mampu membaca file system NTFS.
• File system NTFS ini tidak universal, karena OS selain microsoft tidak mampu melakukan read-write pada partisi NTFS
Sayangnya sistem file NTFS tidak bisa menutupi kelemahan FAT32 dalam masalah kompatibelitas dengan sistem operasi yang lain sehingga disarankan bila kita menggunakan 2 sistem operasi yang berbeda dalam 1 komputer maka kita diharapkan untuk selalu menyediakan satu partisi dengan sistem file FAT sebagai tempat menyimpan data recovery. Namun dengan fitur recovery yang ditawarkan/termasuk di dalam sistem operasi Windows XP, saya rasa pembuatan partisi FAT ini menjadi suatu yang mubazir.
File Sistem Pada Linux
1. Ext2 (2nd Extended)
Ext2 merupakan jenis sistem file Linux paling tua yang masih ada sejak tahun 1993. Ext2 adalah sistem file yang paling ampuh di Linux dan menjadi dasar dari segala distribusi linux.
Sistem file Ext2 menyimpan data secara hirarki standar yang banyak digunakan oleh sistem operasi. Data tersimpan di dalam file, file tersimpan di dalam direktori. Sebuah direktori bisa mencakup file dan direktori lagi di dalamnya yang disebut sub direktori.
2. Ext3 (3rd Extended)
Ext3 adalah peningkatan dari sistem file Ext2. Peningkatan ini memiliki beberapa keuntungan, diantaranya:
- Journaling, dengan menggunakan journaling, maka waktu recovery pada shutdown mendadak tidak akan selama pada Ext2. Namun ini menjadi kekurangan dari Ext3, karena dengan adanya fitur journaling, maka membutuhkan memori yang lebih dan memperlambat operasi I/O (Input/Output).
- Integritas data, Ext3 menjamin adanya integritas data setelah terjadi kerusakan atau unclean shut down. Ext3 memungkinkan kita memilih jenis dan tipe proteksi dari data.
- Kecepatan, daripada menulis data lebih dari sekali, Ext3 mempunyai throughput yang lebih besar daripada Ext2 karena Ext3 memaksimalkan pergerakan head hard disk. Kita bisa memilih tiga jurnal mode untuk memaksimalkan kecepatan, tetapi integritas data tidak terjamin.
- Mudah dilakukan migrasi, kita dapat berpindah dari sistem file Ext2 ke sistem file Ext3 tanpa melakukan format ulang.
3. Ext4 (4th Extended)
Ext4 merupakan peningkatan dari sistem file Ext3. Ext4 dirilis secara lengkap dan stabil mulai dari kernel 2.6.28. Keuntungan menggunakan Ext4 adalah mempunyai pengalamatan 48-bit blok yang artinya dia akan mempunyai 1 EiB = 1.048.576 TB. Ukuran maksimum sistem file 16 TB.
4. JFS (Journalis File System)
JFS atau dikenal juga dengan nama IBM Journal File System merupakan sistem file pertama yang menawarkan journaling. JFS sudah bertahun-tahun digunakan dalam IBM AIX® OS sebelum digunakan ke GNU/Linux.
JFS saat ini menggunakan sumber daya CPU paling sedikit dibandingkan sistem file GNU/Linux lainnya. JFS sangat cepat diformat, mounting dan fsck, serta memiliki kinerja sangat baik, terutama berkaitan dengan deadline I/O scheduler. Walaupun begitu, dukungan terhadap JFS tidak seluas sistem file Ext atau Reiser FS.
5. Reiser FS
Sistem file Reiser dibuat berdasarkan balance tree yang cepat dan unggul dalam hal kinerja, dengan algoritma yang lebih rumit. Sistem file Reiser juga memiliki jurnal yang cepat dan ciri-cirinya mirip sistem file Ext3.
Sistem file Reiser lebih efisien dalam pemanfaatan ruang disk, dimana dapat menghemat disk sampai dengan 6 persen. Contohnya jika kita menulis file 100 bytes, hanya ditempatkan dalam satu blok sementara sistem file lain menempatkannya dalam 100 blok. Reiser file system tidak memiliki pengalokasian yang tetap untuk inode.
manajemen directory pada linux, terlebih dahulu kita mengetahui gambaran umum daripada directorty Linux.
Berikut beberapa penjelasan ringkas dari gambar di atas
1. / (Root), adalah pangkal utama dari semua directory
2. /bin, aplikasi biner
3./sbin, super biner, sebuah sistem sistem berbasis bilangan biner yang penting
4. /dev, berkas piranti
5. /mnt, mount sistem berkas
6./etc, berkas yang di gunakan untuk konfigurasi
7. /home, directory pangkal awal
Sebenarnya, terdapat banyak directory yang berada di bawah root, hal itu dapat di lihat dari perintah ls yang di lakukan tepat di super user.
Secara garis besar manajemen file dan directory, mencakupi pergantian nama, perpindahan membuat, menghapus,dan copy paste.
Penulis akan mempraktekkan proses manajerial tepat di dalam directory lautan-it.
Dari hasil perintah LS, dapat di ketahui directory lautan-it memiliki 8 directory dan 1 file. Yaps, langsung saja untuk memahaminya lebih mudah, mari kita mulai dari bagian directory. Untuk membuat sebuah directory, tuliskan perintah mkdir (spasi) nama_directory.
Apabila ingin membuat directory dalam jumlah banyak, cukup dengan melakukan perintah mkdir (spasi) nama_directory1 (spasi) nama_directory2.
Untuk dapat mengganti nama, dari directory yang buat, cukup dengan menggunakan perintah mv (spasi) nama_direktory_lama (spasi) nama_direktori_baru.
Perintah mv tidak akan berfungsi apabila user berada didalam direktori yang ingin di berikan perubahan nama.
Selanjutnya kita akan melakukan perintah mv dengan fungsi perpindahan. format penulisan perintahnya, mv (spasi) nama_direktori_yang_ingin_dipindah (spasi) tujuan_direktori.
Misal penulis ingin memindahkan direktory materiTKJ menuju direktory kuliahit.
Dapat dilihat pada gambar di atas, bahwa direktori berhasil di pindahkan. Kita juga dapat memindahkan direktory materiTKJ kembali menuju direktori lautan-it. Tentunya perintah yang di gunakan lebih kompleks.
Dari perintah mv materiTKJ /home/lautan-it, dapat di artikan sebagai berikut,
pindahkan direktory materiTKJ menuju root, lalu ke home, lalu menuju root kembali, dan terakhir menuju direktory tujuan. Penulisan ulang root sangat penting sebelum nama direktory, karena jika tidak, maka perintah akan gagal.
Jika di lihat dari perintah LS pada direktory lautan-it di atas, direktory materiTKJ berhasil di pindahkan.
Selanjutnya adalah perintah untuk menghapus direktory. Terdapat berbagai metode untuk penghapusan direktory.
Untuk menghapus direktory yang kosong
rmdir (spasi) nama_direktory
Untuk menghapus direktory yang memiliki isi ( berupa direktory atau file) rmdir (spasi) -r (spasi) nama_direktory
Untuk menghapus direktory dengan menanyakan kepastian
rmdir (spasi) -ir (spasi) nama_direktory.
Filesystem Hierarchy Standard
File System tersebut diatur dalam bentuk Struktur Hirarki dengan mengikuti standar yang sudah dibuat dengan tujuan agar dapat mendukung interoperabilitas aplikasi, program administrasi sistem, program pengembangan, skrip dan menyatukan dokumentasi dari sistem. Struktur Hirarki standar tersebut adalah Filesystem Hierarchy Standard (FHS).Pada saat distro Linux diinstall, akan ditemukan direktori-direktori yang dibuat secara default berdasarkan Filesystem Hierarchy Standart (FHS). Dengan adanya standar FHS ini, pengguna dan pengembang memiliki pedoman direktori standar yang dibutuhkan sebagai panduan dalam membangun sebuah distribusi Linux yang operasional.Berikut adalah beberapa definisi direktori yang sesuai standar FHS :
1. / ---> Merupakan direktori tertinggi didalam Hirarki yang disebut sebagai “root”. Semua file dan direktori penting lainnya berada dibawah direktori ini, sehingga dalam penulisannya selalu menggunakan tanda “/” didepannya.
2. /bin _-->Merupakan direktori file binari berisi perintah-perintah dasar yang dibutuhkan oleh system maupun user untuk dijalankan, misalnya cd (change directory), pwd (print working directory), mv (move, mkdir (make directory), dan sebagainya.
3. /boot -->Merupakan direktori yang memuat Linux Kernel dan file lain yang diperlukan pada saat melakukan proses booting sistem terutama saat menerapkan dual-boot.
4. /dev --> Merupakan direktori berisi file device dimana perangkat fisik terpasang, seperti Hard drive (/dev/sda), USB drive (dev/sde), Optikal drive, dan perangkat lain yang terpasang pada sistem.
5. /etc --> Merupakan direktori yang berisi file konfigurasi yang diperlukan oleh semua program dan juga berisi shell script startup dan shutdown untuk memulai atau menghentikan program individu. Misalnya, /etc/opt sebagai penyimpanan file konfigurasi untuk paket add-on, /etc/sgml sebagai penyimpanan file konfigurasi untuk perangkat lunak yang memproses SGML, /etc/X11 sebagai penyimpanan file konfigurasi untuk X Window System versi 11, /etc/xml sebagai penyimpanan file konfigurasi untuk perangkat lunak yang memproses XML.
6. /home--> Merupakan direktori home yang menyimpan data user. Setiap user yang terdaftar, secara otomatis akan dibuat dalam direktori /home yang berisi direktori lain seperti Dekstop, Download, Dokumen dan sebagainya. Sebagai contoh, nama user yang akan kita buat adalah “netsec” maka secara otomatis akan terbentuk direktori /home/netsec.
7. /lib--> Merupakan direktori berisi file-file library dari aplikasi yang ada pada sistem. Direktori ini dapat dianggap setara dengan Program Files pada Windows, walaupun tidak sama persis. Setiap program pada Windows membutuhkan library tersendiri untuk diinstal meskipun telah ada untuk program lain, berbeda dengan Linux dimana kadangkala satu file library dapat digunakan oleh beberapa aplikasi secara bersama-sama.
8. /media--> Merupakan direktori berisi file media dari perangkat eksternal yang terpasang dan terhubung ke sistem. Misalnya CDROM, Hard disk eksternal, dan sebagainya. Hal ini dapat bervariasi antara distro Linux yang berbeda.
9. /mnt -->Merupakan direktori yang pada dasarnya digunakan sebagai tempat untuk pemasangan filesystem atau drive lain sementara. Misalnya, /mnt/server sebagai tempat pemasangan untuk server media hard drive.
10. /opt -->Merupakan direktori berisi paket aplikasi tambahan untuk sistem yang belum dapat dikelola oleh paket distro yang ada. Misalnya, /opt/arcsight sebagai tempat penyimpanan untuk paket-paket tambahan dari aplikasi ArgSight yang belum dikelola oleh paket distro manajer.
11. /proc --> Merupakan direktori proses dimana banyak informasi sistem direpresentasikan sebagai file. Pada dasarnya menyediakan cara untuk kernel Linux dalam mengirim dan menerima informasi dari berbagai proses yang berjalan.
12. /run -->Merupakan direktori variabel data run-time yang berisi informasi tentang sistem yang berjalan sejak boot terakhir, misalnya saat log-in pengguna dan menjalankan daemon.
13. /sbin -->Merupakan direktori berisi program binari penting yang diperlukan oleh system administrator untuk pemeliharaan, seperti iptables, fdisk, ifconfig, swapon, reboot, fsck, init, rute dan lain-lain.
14. /srv -->Merupakan direktori berisi server tertentu dengan layanan file yang terkait, seperti data dan skrip untuk server web, data yang ditawarkan oleh server FTP, dan repositori untuk versi sistem kontrol.
15. /sys -->Merupakan direktori berisi informasi tentang perangkat yang terhubung ke sistem dan memungkinkan untuk menyimpan dan memodifikasinya.
16. /tmp -->Merupakan direktori temporary sistem yang menyimpan file-file sementara untuk dapat diakses oleh pengguna dan root, sampai boot berikutnya.
17. /usr -->Merupakan direktori hirarki sekunder berisi program-program source code yang bisa diakses oleh pengguna. Misalnya, /usr/bin sebagai perintah binari yang sebagian bukan berasal dari OS Linux (at, awk, cc, less, scp), /usr/include sebagai standar untuk memuat file-file header dari bahasa program C dan C++, dan lain-lain.
18. /var --> Merupakan direktori variable file berisi informasi proses operasi dari sistem. Seperti, /var/log sebagai direktori yang memuat log dari aplikasi yang berbeda, /var/mail sebagai direktori yang memuat file Mailbox, /var/lock sebagai direktori yang memuat file yang hanya dapat digunakan oleh satu aplikasi saja.