File Sytem di Linux

File Sytem di Linux

File System di Linux - Sebelum anda mencoba-coba perintah dasar linux, sebaiknya anda mengenal file system dari Linux terlebih dahulu. File System mempunyai 2 maksud, yaitu pertama, suatu cara pengorganisasian file atau direktori di dalam suatu media penyimpanan. Kedua, adalah jenis file atau yang mungkin pernah Anda dengar “file extension”. Contoh file extension “mainan.exe”, “linux.doc”, “gambar.jpg”. Untuk pengorganisasian file dan direktori, diatur dalam bentuk hirarki. Hirarki ini mengikuti standar yang sudah dibuat dengan tujuan kompatibilitas antar distro. Hirarki standar tersebut adalah FHS (Filesystem Hierarchy Standard) dan LSB (Linux Standard Base).

A.Filesystem Hierachy Standard

Pada saat distro Linux di install ke komputer anda. Anda akan menemukan direktori-direktori yang secara default dibuat oleh Linux. Direktori tersebut dibuat berdasarkan Filesystem Hierachy Standart (FHS).  

FHS adalah seperangkat petunjuk untuk penempatan file dan direktori dibawah sistem operasi yang mirip UNIX. Tujuannya agar dapat mendukung interopabilitas aplikasi, program administrasi sistem, program pengembangan, skrip dan dapat menyatukan dokumentasi dari sistem ini. Dengan adanya standar FHS ini, pengguna dan pengembang memiliki pedoman direktori standar apa yang dibutuhkan untuk meracik sebuah
distribusi Linux yang operasional. Juga file dan pustaka, masing-masing letaknya dimana, dipandu oleh standar ini. 

Pengembangan standar ini pertama kali dibuat pada bulan Agustus 1993 sebagai usaha untuk menyatukan struktur file dan direktori di Linux. Pertama dibuat dengan nama FSSTND (singkatan sama, Filesystem Hierarchy Standard), pertama kali dirilis untuk Linux 14 Februari 1994. Dalam perkembangannya, standar ini juga dibutuhkan dikomunitas BSD. Karena itu diperluas standar pada sistem operasi yang mirip UNIX (UNIXLike) dan mengubah singkatannya menjadi FHS. Saat ini dokumen masih dirawat oleh Daniel Quinlan sendiri, dibantu Paul 'Rusty' Russel dan Daniel Yeoh. Standar terakhir adalah versi 2.3 yang diterbitkan pada tanggal 28 Januari 2004.

Filesystem di Linux yang mengikuti FHS
Filesystem di Linux yang mengikuti FHS

Berikut beberapa definisi direktori menurut standar FHS :
  • / (Root folder) : menduduki posisi puncak di dalam hirarki, direktori ini dilambangkan dengan tanda slash ( / ) atau biasa disebut garis miring. Direktori ini membawahi semua direktori penting lainnya. Sehingga penulisan direktori lainnya selalu menggunakan tanda / di depannya, yang menunjukkan kalau direktori tersebut dibawah root.
  • /bin : Direktori ini berisi perintah dasar yang dibutuhkan oleh system maupun user. Sebagian perintah dasar yang bisa anda jalankan disimpan dalam direktori ini.
  • /boot : berisi program dan data yang dibutuhkan pada saat melakukan proses booting (menjalankan) system.
  • /dev : direktori tempat file device
  • /etc : berisi file konfigurasi system
  • /home : direktori tempat menyimpan data user. Setiap user yang terdaftar secara otomatis akan dibuatkan direktori /home.
  • /lib : berisi file-file library dari aplikasi yang ada di system. Kadangkala satu file library digunakan oleh beberapa aplikasi secara bersama-sama.
  • /media : saat anda memasang flash disk ke komputer anda, anda bisa menemukan direktori flash disk di /media, karena direktori ini akan berisi media yang bisa dibongkar pasang di komputer anda. Seperti cdrom, flopy disk, flash disk, hardisk eksternal dsb.
  • /mnt : direktori tempat pengaitan sistem sementara
  • /opt : berisi paket aplikasi tambahan yang kita install ke dalam system.
  • /proc : filesystem untuk menjalankan proses
  • /root : direktori untuk user root
  • /sbin : berisi program biner yang dibutuhkan untuk menjalankan dan memperbaiki system. Biasanya aplikasi yang ada hanya bisa dijalankan oleh administrator atau root.
  • /temp : direktori tempat menyimpan file temporeri
  • /usr : berisi program-program yang bisa di akses oleh user, program source code. Di dalam direktori ini ada subdirektori /usr/bin dan /usr/sbin yang menyimpan aplikasi executable yang fungsinya sama dengan file-file di direktori /bin dan /sbin.
  • /var : untuk menyimpan informasi proses, seperti system history, access logs, dan error logs.

Gambar hirarki filesystem Linux.
Gambar hirarki filesystem Linux.

B.Linux Standard Base

LSB adalah standar yang digunakan untuk menyatukan antar muka sistem untuk aplikasi biner yang telah terkompilasi. Ini mirip dengan standarisasi yang ada dilingkungan UNIX terdahulu, yakni POSIX (Portable Operating System Interface) dan sebagian komponen LSB memang berhubungan dengan POSIX versi terakhir, yakni ISO/IEC 9945 POSIX 2003 dan Single UNIXR Spesification (SUS) Versi 2. 

Standar LSB sangat bersifat teknis, menyangkut antarmuka program biner, antarmuka program biner dengan pustaka bersama (shared library), serta antarmuka sistem operasi. Secara singkat disebut mencakup Application Program Interface (API) dan Application Binary Interface (ABI). 

LSB terbagi dalam dua kategori, yakni LSB yang bersifat umum dan LSB yang bersifat khusus untuk arsitektur tertentu. LSB umum (LSB Core Spesification) berlaku untuk semua arsitektur mesin, sedangkan LSB khusus untuk arsitektur tertentu biasanya diberi nama archLSB atau LSBarch (dimana arch adalah nama arsitekturnya). Cakupan LSB Core Spesification adalah :

1. Executable and Linking Format (ELF).
Mendefinisikan format object dari aplikasi biner yang telah terkompilasi.
2. Pustaka Dasar (Base Libraries). Mendefinisikan dukungan pustaka dasar yang harus ada dalam sistem Linux LSB Compliant. Pustaka yang dimaksud adalah libc, libgcc_s, libdl, librt, libcrypt dan libpam.
3. Pustaka Pembantu (Utility Libraries). Mendefinisikan pustaka pembantu yang dibangun diatas pustaka dasar. Pustaka yang dimaksud adalah libz, libcurses dan libutil.
4.Perintah dan Program Bantu (Command and Utilities). Daftar perintah dasar dan program bantu yang harus ada.
5. Lingkungan Eksekusi Perintah (Execution Environtment). Lingkungan eksekusi perintah, menggunakan standar FHS, mencakup direktori yang harus ada dan dimana meletakkannya.
6. Inisialisasi Sistem (System Initialization)
  • Spesifikasi penjadwalan cron (jam, harian, bulanan, tahunan) dan format file konfigurasi cron
  • Perintah-perintah dasar untuk skrip inisialisasi. Perintah tersebut
  • adalah start, stop, restart, try-restart, reload, force-reload, status.
  • Standar komentar/format informasi untuk skrip inisialisasi.
  • Instalasi dan penghapusan initscripts
  • Run Level, standar definisi masing-masing run level
  • Penamaan fasilitas/variabel yang digunakan dalam initscripts
  • Penamaan skrip
  • Pembuatan fungsi-fungsi dalam initscripts
7. User dan Grup. Meliputi standar penamaan user dan grup, nama-nama user dan grup yang digunakan oleh sistem dan standar range nomor ID user dan
grup.
8. Format Pemaketan dan Instalasi
9. Standar pemaketan dengan RPM. Standar penamaan paket (dengan menggunakan standar LANANA singkatan dari Linux Assigned Names and Number Authority) serta dependensi antar paket.

Selanjutnya dapat Anda lihat di http://www.lsb.org

Sekian artikel yang dapat saya di blog ini walau penjelasan tentang File System di Linux di artikel ini tidak begitu lengkap banget namun cukup lah untuk menambah informasi dan membantu bagi sobat para pecinta Linux. Jika sobat masih kurang paham dalam penjelasan diatas sobat bisa tanyakan langsung kepada saya dengan cara berkomentar di blog ini :) Semoga Bermanfaat ...