Układ katalogów w Linuksie

Jerzy Biernacki
20.08.2015

W Linuksie każdy standardowy katalog ma przypisane pewne funkcje, tzn. tworzony jest po to, aby przechowywać dane konkretnego typu. Tworzy się tzw. drzewo katalogów. Poniżej postaram się przedstawić co i gdzie się znajduje w systemie Linux. Przedstawiony poniżej układ powinien być taki sam dla każdego Linuksa (układ taki możemy też spotkać w Uniksie i jego klonach). W zależności od dystrybucji może on być nieco inny (zróżnicowanie powinno być minimalne).

Nie opisałem wszystkich katalogów jakie można znaleźć w tym drzewie. Skupiłem się na ważniejszych.
* / - główny katalog w systemie. W nim znajdują się kolejne katalogi. Często oznaczany jest jako korzeń - z angielska root (każde drzewo się od tego zaczyna).
* bin/ - katalog zawiera zestaw niezbędnych poleceń dla wszystkich użytkowników Linuksa. Znajdują się tutaj takie programy, jak: mv, cp, ls, tar itp...
* boot/ - tutaj znajdują się pliki niezbędne do ładowania systemu. Znajdziemy tu przede wszystkim pliki konfiguracyjne programu ładującego (lilo, grub), konfigi jądra systemu, vmlinuz (jądro systemu - kernel), system.map (przechowuje adresy i nazwy funkcji oraz zmiennych z pliku binarnego jądra), initrd (plik wspomagający załadowanie pewnych modułów np. przed zamontowaniem głównej partycji) ...
* dev/ - pliki urządzeń ( m.in. dysków twardych, napędów i innych... )
* etc/ - pliki konfiguracyjne (programy do konfiguracji):
o X11/ - pliki i konfigi dla środowiska X Window,
* home/ - tutaj znajdują się domowe katalogi użytkowników (a w tych katalogach ich pliki),
* lib/ - miejsce przechowywania bibliotek systemowych Linuksa (np. wymaganych do bootowania) oraz modułów jądra:
o modules/ - moduły jądra ładowane przez system,
* mnt/ - znajdują się tutaj katalogi przeznaczone do montowania urządzeń (partycje, cd-romy, pendrive). Katalogi te często trzeba utworzyć samemu. W niektórych dystrybucjach można znaleźć również katalog (lub dowiązanie symboliczne) /media/.
* opt/ - katalog, w którym pownno się instalować oprogramowanie,
* proc/ - katalog ten fizycznie nie istnieje - tworzy go jądro podczas startu systemu. Jest to katalog wirtualny, w którym przechowywane są informacje o pracy jądra i procesach. Dzięki niemu można się dowiedzieć m.in. jakie urządzenia są wykrywane przez system.
* root/ - katalog domowy roota (administratora). Jedyny katalog użytkownika, który nie znajduje się w katalogu /home/,
* sbin/ - zestaw niezbędnych programów dla administratora. Można znaleźć tutaj programy takie, jak: fdisk, modprobe, shutdown itp. (narzędzia do uruchamiania i naprawy systemu),
* tmp/ - przechowuje pliki tymczasowe systemu (ang. Temporary), które zostają usuwane przy starcie systemu operacyjnego,
* usr/ - jest to kolejne ogromna gałąź katalogów w systemie. Przechowywane tam informacje może modyfikować zazwyczaj tylko root.
o bin/ - programy wykorzystywane przez zwyczajnego użytkownika,
o games/ - gry i rozrywka,
o include/ - pliki nagłówkowe dla języka C - są oznaczane rozszerzeniem *.h (np. stdio.h),
o info/ - skompresowane pliki info niektórych programów,
o lib/ - biblioteki (np. programów z intefejsem graficznym), pliki obiektowe oraz binaria,
o local/ - zawiera szereg katalogów lokalnych, w których znajdują się pliki lokalne (też dokumentacje i manuale),
o sbin/ - kolejne binaria nie koniecznie niezbędne - używane przez administratora,
o share/ - zawiera kolejną listę katalogów, w których zostały zawarte informacje tylko do odczytu. Pliki, które tam się znajdują są niezależne od architektury, (również dokumentacje i manuale),
o src/ - miejsce przechowywania nielokalnych kodów źródłowych (np. źródło jądra Linuksa),
* var/ - katalog, w którym przechowywane są dane ulegające ciągłej zmianie, np. logi systemowe, kolejki, pliki tymczasowe itp.:
o cache/ - miejsce przechowywania pamięci podręcznej (keszu) aplikacji,
o games/ - zmieniające się dane o grach (z /usr/games),
o lib/ - przechowuje informacje na temat stanu systemu i programów,
o local/ - zmieniające się dane dla /usr/local,
o log/ - logi systemowe,
o tmp/ - pliki tymczasowe (dotyczące ładowania systemu), np. ustawienia pulpitu dla użytkownika (np. kde).

Na tym chciałem zakończyć.
Mam nadzieje, że teraz znając już położenia tych katalogów i rodzaj "towaru", który tam przechowują, będzie Ci łatwiej zrozumieć dlaczego niektóre programy odnoszą się właśnie w te miejsca.

Zgłoś swój pomysł na artykuł

Więcej w tym dziale Zobacz wszystkie