Filesystem Hierarchy Standard

Filesystem Hierarchy Standard (FHS) eli standarditiedostohierarkia määrittelee joukon hakemistoja ja niiden pääasiallisen käyttötarkoituksen. Linuxissa ja muissa POSIX-järjestelmissä tiedostojärjestelmä noudattaa standardia melko tarkasti.

FHS:n mukaisessa tiedostojärjestelmässä kaikki tiedostot ja hakemistot on tallennettu juurihakemiston (/) alle, vaikka ne olisivat erillisillä fyysisillä laitteilla. Hakemistorakenne on määritelty paljon tarkemmin kuin esimerkiksi eri Windows-käyttöjärjestelmissä. Se mahdollistaa mm. ohjelmien asennuksen ja päivityksen ilman kysymyksiä ennalta sovittuihin hakemistoihin.

Tärkeimpiä FHS:n määrittelemiä hakemistoja ja niiden käyttötarkoitus:
 /bin - kaikille käyttäjille välttämättömät komennot  (cat, ls, cp...)
 /sbin - välttämättömät järjestelmän ja pääkäyttäjän komennot (init, route, ifup..)
 /lib - jaetut kirjastot välttämättömille komennoille (komennot ovat hakemistoissa /bin ja /sbin)
 /dev - raa'at laitetiedostot (liitettäväksi /mnt/ alle, ja ajureiden käyttöön)
 /home - käyttäjien kotihakemistot (paitsi pääkäyttäjän, joka on /root/)
 /etc - koko järjestelmää koskevat asetustiedostot
 /var - palvelinten kirjoittamat muuttuvat tiedostot (lokeja ja väliaikaistiedostoja)
 /opt - staattiset ohjelmapaketit (ei yleensä käytetä)
 /proc ja /sys - tietoa prosesseista ja ytimen tilasta (uptime, network...)
 /mnt - väliaikaisesti liitetyt tiedostojärjestelmät (CD-ROM, levykkeet, USB-tikut..)

FHS-projekti alkoi vuonna 1993 tavoitteena saada konsensus hakemistoista, jotta Linux-jakeluilla olisi yhtenäinen lähtökohta.

Linuxissa eräiden juurihakemistojen alla olevien hakemistojen yhdistämistä /usr -hakemiston alle suunnitellaan paremman yhteensopivuuden vuoksi muun muassa Solaris-käyttöjärjestelmän kanssa. System V -perustaiset käyttöjärjestelmät ovat käyttäneet symbolista linkkiä /usr-hakemiston alle jo pidempään. Muun muassa Debian versio 10 Buster toteuttaa yhdistämisen.
Yhdistämisen jälkeen aiemmat hakemistot viittaavat seuraaviin alihakemistoihin linkillä:
 /bin → /usr/bin
 /sbin → /usr/sbin
 /lib → /usr/lib
 /lib64 → /usr/lib64

Lähteet

Aiheesta muualla 
 FHS kotisivu englanniksi 
 Filesystem Hierarchy Standard versio 3.0  
 Filesystem Hierarchy Standard versio 3.0 (PDF) 

Linux
Standardit