Pertama kali dibuat bulan Agustus 1993 untuk menyatukan struktur
file dan direktori di linux. saat itu dibuat dengan nama FSSTND (Filesystem
Hierarchy Standard). Dirilis di linux pada tanggal 14 februari 1994. Standarisasi
diperluas pada system operasi yang mirip unix (UNIX-like) dan mengubah
singkatan menjadi FHS.
Tujuan filesystem disusun dalam bentuk hierarkhi dan distandarkan
dalam FHS ini diantaranya Interoperabilitas aplikasi, program administrasi
system, program pengembangan, skrip, dan dapat menyatukan dokumentasi system.
Atau dengan kata lain dibuat untuk kompatibilitas antar distro.
·
standar yang berisi
sekumpulan requirement dan guideline untuk penempatan bekas dan
direktori
pada Sistem Operasi.
Pada
slide ini digunakan FHS pada UNIX-like OS.
·
FHS memudahkan perangkat
lunak dan pengguna untuk mengetahui lokasi berkas dan direktori yang terinstal
pada komputer.
Shareable
vs Unshareable
Shareable: berkas disimpan di satu komputer, tetapi masih dapat digunakan
oleh komputer lainnya.
Unshareable: berkas tidak dapat digunakan bersama-sama antar komputer.
Static
vs Variable
Static: meliputi berkas binary, library, documentation, dan
berkas-berkas yang tidak bisa diubah tanpa intevensi administrator sistem.
Variable: semua berkas yang bukan merupakan static.
|
Shareable
|
Unshareable
|
Static
|
/usr
|
/etc
|
|
/opt
|
/boot
|
Variable
|
/var/mail
|
/var/run
|
|
/var/spool/news
|
/var/lock
|
Root File System
Fungsi
Root File System harus dapat menangani masalah boot, restore, recover,
dan repair suatu
·
Boot: partisi root harus
bisa untuk mount ke sistem berkas lain.
·
Restore: utiliti yang
diperlukan untuk restore dari backup sistem harus ada pada root.
·
Recovery & repair:
utiliti yang diperlukan untuk mendiagnosa dan memulihkan sistem yang rusak harus
ada pada root.ur
Strukt
Direktor
“/” direktori root. Direktori root berisi
direktori-direktori:
bin perintah biner esensial
boot berkas-berkas statik dari boot
loader
dev berkas-berkas peranti
etc konfigurasi sistem host-specific
lib shared library esensial dan modul kernel
media mount
point untuk media removable
mnt mount
point untuk mounting sistem berkas secara temporer
opt package
software aplikasi add-on
sbin biner sistem esensial
srv data
untuk servis yang disediakan oleh sistem
tmp berkas
temporer
/bin
Berisi
perintah-perintah yang bisa digunakan oleh administrator
sistem dan pengguna. Juga perintah-perintah yang dipakai secara tidak langsung oleh script.
Beberapa
perintah dalam /bin:
·
cat meng-concate file
ke standard output
·
chgrp mengubah kepemilikan file
group
·
date mencetak waktu sistem
·
df melaporkan penggunaan
ruang disk
·
su mengubah
user ID
/boot
Berisi
semua yang diperlukan untuk proses boot kecuali berkas konfigurasi dan map
installer.
/boot
menyimpan data yang digunakan sebelum kernel mulai mengeksekusi program user-mode.
/dev
Lokasi
dari berkas-berkas peranti.
MAKEDEV:
membuat peranti secara manual.
/etc
Berisi
berkas-berkas konfigurasi dan direktori yang spesifik ke current system.
Direktori-direktori di bawah /etc:
- opt konfigurasi untuk /opt
- X11 konfigurasi untuk sistem X Window
- sgml konfigurasi untuk SGML
- xml konfigurasi untuk XML
/home (optional)
Konsep
standar sistem berkas yang site-specific.
/lib
Berisi
shared library images yang diperlukan untuk boot
sistem dan menjalankan perintah dalam sistem berkas
root.
/lib<qual> (optional)
Alternatif
dari shared library esensial.
/media
Berisi
subdirektori yang digunakan sebagai mount point untuk media removable seperti
floppy disk, cdrom, dsb.
/mnt
Disediakan
agar administrator sistem dapat me-mount sistem berkas yang diperlukan secara
temporer.
/opt
Disediakan
untuk instalasi paket software aplikasi add-on. Paket yang akan
diinstalasi di /opt harus menemukan file statis dalam direktori
/opt/<package> atau /opt/<provider>.
/root (optional)
Direktori
home root dapat ditentukan sendiri oleh developer atau local preference, tetapi
direktori /root inilah yang lokasi default yang direkomendasikan.
/sbin
Utility
yang diperlukan untuk administrasi sistem (dan perintah-perintah root-only)
disimpan di /sbin, /usr/sbin, dan /usr/local/sbin.
/sbin
berisi biner dasar untuk booting, restoring, recovering, dan repairing sistem,
sebagai tambahan untuk
biner
di /bin.
/srv
Berisi
data site-specific yang disediakan oleh sistem.
/tmp
Direktori
ini harus tersedia untuk program-program yang membutuhkan berkas temporer.
Program
tidak boleh berasumsi bahwa berkas atau direktori dalam /tmp disediakan di
antara
invokasi
program.
Hirarki /usr
Bagian
utama yang kedua dari sistem berkas.
Bersifat
shareable dan read-only
User
bisa mengakses data, program, dan library dalam /usr.
Direktori
atau link simbolik ke direktori di bawah ini diperlukan dalam /usr:
·
bin
/usr/bin merupakan direktori primer
perintah-perintah executable pada sistem.
·
Include
Semua berkas include untuk bahasa
pemrograman C yang umum digunakan ditempatkan pada direktori /usr/include
·
lib
/usr/lib meliputi berkas-berkas objek, library,
dan biner internal yang tidak dibuat untuk dieksekusi secara langsungoleh user
atau shell script.
·
lib<qual>
/usr/lib<qual> menunjukkan peran
yang sama dengan /usr/lib, kecuali untuk /usr/lib<qual>/sendmail
/usr/lib<qual>/X11 tidak diperlukan.
· Local
/usr/local digunakan administrator
sistem ketika menginstal perangkat lunak secara lokal.
·
sbin
/usr/sbin berisi biner non esensial yang
digunakan secara eksklusif oleh administrator sistem.
· Share
/usr/share digunakan untuk berkas data
arsitektur independen yang read-only.
·
X11R6 (optional)
/usr/X11R6 disediakan untuk sistem X
Window versi 11 Release 6 dan berkas-berkas yang terkait.
·
games (optional)
/usr/games berisi biner games dan
educational
·
src (optional)
Source code bisa
ditempatkan pada subdirektori /usr/src, hanya untuk tujuan referensi.
Hirarki
/var
/var
berisi berkas data variabel, meliputi berkas dan direktori spool, data
administratif dan logging, serta berkas transient dan temporer.
Beberapa
bagian /var tidak shareable, misalnya /var/log, var/lock, dan /var/run.
Sedangkan yang shareable misalnya /var/mail, /var/cache/man,
/var/cache/fonts, dan /var/spool/news.
/var
tidak boleh di-link ke /usr karena akan membuat pemisahan /usr dengan
/var makin sulit, dan bisa
membuat
konflik penamaan. Sebaiknya, buat link /var ke /usr/var.
Direktori
atau link simbolik ke direktori di bawah ini
diperlukan
dalam /var:
·
cache
/var/cache ditujukan untuk data cache
dari aplikasi.
·
Lib
/var/lib berisi informasi status suatu
aplikasi atau
·
sistem.
Sebuah aplikasi (atau sekelompok
aplikasi yang berhubungan) harus menggunakan subdirektori dari /var/lib untuk
data-datanya.
·
Lock
Berkas lock harus disimpan dalam
struktur direktori /var/lock.
·
log
/var/log berisi bermacam berkas log.
·
opt
Data variabel dari paket dalam /opt
harus diinstal dalam /var/opt/<subdir>.
·
Run
/var/run berisi data informasi sistem
yang mendeskripsikan sistem sejak di-boot. Berkas di bawah direktori ini
harus dihapus pada awal proses boot
·
spool
/var/spool berisi data yang sedang
menunggu suatu proses.
·
tmp
/var/tmp disediakan untuk program yang
membutuhkan berkas atau direktori temporer yang diletakkan dalam reboot sistem.
Direktori
atau link simbolik ke direktori optional yang ada di /var:
·
/var/account, memegang log
accounting dari proses aktif
·
/var/crash, mengatur crash
dumps sistem
·
/var/games, tempat data
variabel yang berhubungan dengan games di /usr
·
/var/mail, berkas mailbox
pengguna
·
/var/yp, data variabel untuk
Network Information System, dikenal sebagai Sun Yellow Pages (YP)