Filesystem Hierarchy Standard

Filesystem Hierarchy Standard (FHS) – standard definiujący rozmieszczenie plików i katalogów w systemach operacyjnych z rodziny Linux i Unix.

Historia i opis edytuj

Proces rozwoju standardu dla hierarchii plików w systemie plików rozpoczął się w sierpniu 1993 próbą ustalenia struktury katalogów dla systemu Linux. FSSTND (ang. Filesystem Standard), czyli hierarchia katalogów dla Linuksa, został wydany 14 lutego 1994 (z poprawkami z 9 października 1994 i 28 marca 1995).

Na początku roku 1996 rozpoczęto tworzenie szerszej wersji FSSTND adresowanej nie tylko dla systemu Linux, ale także dla innych systemów uniksowych (przy pomocy społeczności skupionej przy rozwoju BSD). Nazwa standardu została zmieniona na Filesystem Hierarchy Standard lub FHS.

FHS jest zarządzany przez Free Standards Group – niedochodową grupę składającą się z twórców oprogramowania i sprzętu komputerowego (m.in.: HP, Red Hat, IBM i Dell). Nie wszyscy twórcy dystrybucji Linuksa dokładnie przestrzegają tego standardu np. w większości dystrybucji katalog /srv/ nie jest stosowany. Niektóre systemy Linuksowe i Uniksowe odchodzą od reguł zapisanych w FHS (np. GoboLinux). OS X łączy standard FHS z łatwymi do zapamiętania nazwami katalogów.

Struktura katalogów edytuj

Wszystkie pliki i katalogi znajdują się w katalogu głównym „/”, nawet jeśli są przechowywane na innych dyskach fizycznych. Niektóre z tych katalogów mogą być obecne tylko po instalacji konkretnego oprogramowania np. X Window System (zwane dalej po prostu „X”).

Katalog Opis
/bin/ Podstawowe pliki wykonywalne (ang. binaries) dostępne dla wszystkich użytkowników (np. cat, ls, cp).
/boot/ Pliki programu rozruchowego (np. kernel, initrd).
/dev/ Pliki urządzeń (ang. device; np. /dev/null).
/etc/ Pliki konfiguracyjne.
/etc/opt/
Pliki konfiguracyjne dla katalogu /opt/.
/etc/X11/
Pliki konfiguracyjne X w wersji 11.
/etc/sgml/
Pliki konfiguracyjne dla SGML.
/etc/xml/
Pliki konfiguracyjne dla XML.
/home/ Katalogi domowe użytkowników (ang. home directory).
/lib/ Biblioteki (ang. libraries) dla programów z katalogów /bin/ i /sbin/.
/mnt/ Punkt montowania (ang. mount point) innych niż natywny systemów plików.
/media/ Punkty montowań dla nośników wymienialnych (ang. media; np. CD-ROMów) (pojawiło się w FHS-2.3).
/opt/ Opcjonalne aplikacje.
/proc/ Wirtualny system plików proc informujący o stanie systemu i poszczególnych procesów, w większości pliki tekstowe (np. uptime, network).
/root/ Katalog domowy użytkownika root.
/sbin/ Pliki wykonywalne do zarządzania systemem (ang. system binaries; np. init, route, ifup).
/tmp/ Pliki tymczasowe (ang. temporary files), których stan nie jest gwarantowany po zamknięciu systemu.
/srv/ Dane specyficzne dla miejsca (site-specific), które są udostępniane (ang. served) przez system.
/usr/ Drugorzędowa hierarchia dla danych (ang. Unix system resources), dane tylko do odczytu.
/usr/bin/
Jak w hierarchii pierwszorzędowej, ale nie wymagane do uruchomienia, czy naprawy systemu.
/usr/include/
Standardowe pliki nagłówkowe (ang. include files).
/usr/lib/
Jak w hierarchii pierwszorzędowej.
/usr/sbin/
Jak w hierarchii pierwszorzędowej, ale nie wymagane do uruchomienia, czy naprawy systemu (np. demony różnych usług sieciowych).
/usr/share/
Dane niezależne od architektury, a więc między nimi współdzielone (ang. shared).
/usr/src/
Kod źródłowy (ang. source code; np. źródła kernela z jego nagłówkami)
/usr/X11R6/
X w wersji 11 wydaniu 6.
/usr/local/
Trzeciorzędowa hierarchia danych lokalnych (ang. local data), specyficzna dla tego hosta.
/var/ Pliki często ulegające zmianom (ang. variable files), takie jak: logi, bazy danych, tymczasowe pliki e-mail.
/var/lock/
Pliki blokady (ang. lock) zasobów będących w użyciu.
/var/log/
Logi różnych aplikacji.
/var/mail/
Skrzynki pocztowe (ang. mailboxes) użytkowników.
/var/run/
Informacje o działaniu systemu (ang. system runing) od ostatniego jego uruchomienia (np. aktualnie zalogowani użytkownicy, uruchomione demony).
/var/spool/
Miejsce przechowania oczekujących zadań (ang. spooling; np. kolejki wydruku, nieprzeczytane e-maile).
/var/spool/mail/
Przestarzałe miejsce na skrzynki pocztowe (ang. mailboxes) użytkowników.
/var/tmp/
Pliki tymczasowe (ang. temporary files), które w przeciwieństwie do /tmp powinny być zachowywane przy zamknięciu systemu.

Linki zewnętrzne edytuj