email: darw32@poczta.onet.pl


Linux - 3.Przegląd Struktury Katalogów

Wstęp

" Dwa dni później Pooh siedział na swej gałęzi i machał nóżkami, obok niego stały cztery garnki pełne miodu... (A.A. Milne)

Rozdział opisuje ważniejsze części standardowej hierarchii katalogów, która oparta jest na standardzie FSSTND. Opisuje normalny sposób podziału na oddzielne systemy plików oraz cel takiego podziału. Różne alternatywy są omówione.

Rozdział powstał na podstawie Standardu Systemu Plików Linuxa, FSSTND, wersji 1.2 (zobacz bibliografię). Standaryzacja hierarchii katalogów ma na celu ułatwienie życia administratorom i programistom - łatwiej coś znaleźć jeżeli jest umieszczone w odpowiednim miejscu. Używanie standardu nie jest przez nikogo wymagane, jednak większość dystrybucji tworzona jest zgodnie z nim. FSSTND definiuje podobną hierarchię jak w innych systemach Unix.

Rozdział nie zawiera szczegółów, po nie sięgnij do FSSTND. Administrator powinien rozumieć i znać ten standard.

Całe drzewo stworzone jest w sposób ułatwiający rozłożenie go na kilku dyskach, lub partycjach. Głównymi częściami są: katalog główny, /usr, /var, /home. Każda z części ma inne przeznaczenie. Niektóre z części mogą znajdować się w sieci, na urządzeniach wyłącznie odczytywalnych. Na rysunku poniżej linie oznaczają limity partycji.

  • Główny system plików jest specyficzny dla każdej z maszyn (generalnie znajduje się na poszczególnych maszynach, choć może być montowany z sieci, itd.), zawiera pliki niezbędne do uruchomienia systemu i zamontowania innych systemów plików. Zawartość powinna być wystarczająca do uruchomienia systemu w trybie jednego użytkownika, naprawy pozostałych systemów plików oraz odtwarzania kopii zapasowych.

  • /usr zawiera wszelkie polecenia, biblioteki, strony podręcznika i inne niezmieniające się dane potrzebne podczas normalnej pracy. Pliki w /usr nie powinny być zależne od architektury komputera, nie powinny być zmieniane podczas pracy systemu. Umożliwia to dzielenie plików poprzez sieć, co może być okazać się bardzo ekonomiczne - oszczędza przestrzeń dyskową (katalog ten może zajmować kilkaset megabajtów) i łatwe do administracji (wystarczy uaktualnić/zainstalować program na jednym dysku). Nawet, jeżeli system plików znajduje się na lokalnym dysku może być montowany wyłącznie do odczytu - zmniejsza to szansę wystąpienia błędów po padzie systemu.

  • Katalog /var zawiera pliki, które zmieniają się, np. wszelkie kolejki (poczty, newsów, drukarek, etc.), logi, sformatowane pliki podręcznika oraz pliki tymczasowe. Tradycyjnie wszystko co znajduje się w /var było umieszczane w /usr, jednak to uniemożliwia zamontowanie /usr wyłącznie do odczytu.

  • System plików /home zawiera katalogi domowe użytkowników - wszystkie ich dane. Odseparowanie danych użytkownika ułatwia ich archiwizację; najczęściej nie trzeba archiwizować pozostałych danych, lub można to robić rzadziej (nie są tak często zmieniane). Wielki /home może zostać podzielony na kilka dysków, możliwe jest to przez dodanie poziomu pośredniego, np. podziału /home/students, /home/staff; lub tworzenia katalogów związanych z pierwszą literą nazwy użytkownika a dopiero w nim katalogu domowego.

Wszystkie te części mogą znajdować się fizycznie na jednym systemie plików. Jeżeli jest to komputer domowy nie ma potrzeby stosować takiego podziału, jednak w większych systemach uniknięcie go jest niemożliwe. Ważne jest aby wszystkie te "nazwy" działały; np. powiedzmy, że /var i /usr są aktualnie na tej samej partycji, ścieżka /usr/lib/libc.a i /var/log/messages musi działać, w tym przykładzie możnaby przenieść /var do /usr/var i utworzyć odpowiednie łącze symboliczne - /var -> /usr/var.

Hierarchia katalogów w Uniksie grupuje pliki odpowiednio do ich przeznaczenia - wszystkie polecenia są w jednym miejscu, dane w innym, itd. Alternatywnie możnaby tworzyć katalogi dla poszczególnych programów. Drugie podejście ma kilka wad - trudno dzielić pliki (programy często zawierają części statyczne i wykonywalne), znalezienie programu może stać się trudne (np. zmuszenie programu man do zaglądania w odpowiednich katalogach może stać się koszmarem).