r   e   k   l   a   m   a
r   e   k   l   a   m   a

Struktura drzewa katalogów systemu Linux

Strona główna Aktualności

System operacyjny, bez względu na to czy mamy do czynienia z Linuksem, Windowsem, Mac OS, BSD czy Solarisem, przechowuje dane w systemie plików opartym na drzewiastej strukturze katalogów. Znajomość tejże struktury umożliwia użytkownikowi dotarcie do dowolnych zasobów. Różnice w organizacji pomiędzy systemami Windows i Linux są jednak znaczące co może powodować zniechęcenie wśród rozpoczynających przygodę z Linuksem użytkowników. W niniejszym artykule przybliżymy organizację drzewa katalogów w systemie Linux oraz wskażemy różnice pomiędzy tym systemem, a systemami Windows. Opiszemy również różnice w oznaczaniu dysków, napędów i partycji.

Oznaczenia dysków i partycji

Na pierwszy rzut oka, oznaczenia dysków czy partycji linuksowych, dla osób pracujących pod Windowsem, są niezrozumiałe. Weźmy np. oznaczenie dysku C: czy D: (i innych kolejnych liter w zależności od ilości posiadanych dysków/partycji) występujące w Windowsie. Jaką ono niesie informację? Wiemy tylko tyle, że C: jest partycją systemową (domyślnie, użytkownik oczywiście może zdefiniować partycję systemową pod inną literą niż C:), ale nie wiemy np. czy partycja D: znajduje się obok C: na tym samym dysku czy zajmuje całą przestrzeń dyskową na dysku drugim (slave). Nie wiemy również czy mamy do czynienia z dyskiem ATA czy SATA. Oczywiście, informacje te możemy uzyskać korzystając z narzędzi systemowych czy programów trzecich.
Nazywanie dysków i partycji w Linuksie jest inne, choć w rzeczywistości oznaczenia te są bardzo proste i logiczne oraz niosą konkretne informacje.

Dyski HDD

Zacznijmy od oznaczenia dysków ATA i SATA. Etykieta hdx (hda, hdb, itd.) informuje nas o tym, że mamy do czynienia z dyskiem ATA. W przypadku dysków SATA oznaczenie przyjmie postać sdx (sda, sdb, itd.). W niektórych dystrybucjach nie stosuje się już nazewnictwa hdx, tylko wszystkie dyski są oznaczane jako sdx. Na poniższym screenie dysk sda to dysk ATA, sdb - SATA (na przykładzie dystrybucji Arch Linux)

r   e   k   l   a   m   a



I tak, w zależności od rodzaju posiadanych dysków: Dysk pierwszy (primary) będzie posiadał etykietę (nazwę) hda lub sda, dysk drugi (slave) hdb lub sdb trzeci hdc lub sdc, i tak dalej.

FDD, CD/DVD, Flash, dyski przenośne/wymienne

Na koniec kilka słów o oznaczeniu napędów FDD (dyskietki), CD/DVD oraz nośników wymiennych takich jak karty pamięci (Flash) czy dyski przenośne. Napędy FDD (stacja dysków 3.5'') oznacza się etykietą fd0 (dyskietka A) i fd1 (dyskietka B). Przyjęto, że stacje dysków CD/DVD oznaczane są jak dyski ATA (hdx). Ostatnimi czasy, oznaczenie to zaczyna tracić na rzecz etykiety scd0, scd1, etc. Karty pamięci i dyski przenośne/wymienne oznaczane są jak dyski SATA (sdx).

Partycje

W systemie operacyjnym Linux wyróżniamy partycje główne i rozszerzone/logiczne. Partycji głównych można być co najwyżej 4. W przypadku gdy chcemy mieć więcej partycji niż 4, to można stworzyć 3 partycje główne, jedną rozszerzoną, na której będą partycje logiczne. Partycje główne w Linuksie są numerowane od 1 do 4, a partycje logiczne od 5 do 8, niezależnie czy partycji podstawowych jest 4 czy mniej. Główna partycja na dysku pierwszym oznaczona będzie etykietą hda1 albo sda1, na dysku drugim hdb1 albo sdb1 i tak dalej. Tak, więc czytając oznaczenie hda1 mamy więcej informacji dostępnych "od ręki" niż w przypadku suchego C:, co przydatne jest przy używaniu programów do partycjonowania dysków (np. Gparted) czy podczas instalacji innej dystrybucji Linuksa.


Przykładowy podgląd dysków i partycji w programie Gparted



Przykład etykiet i ich prawidłowe czytanie:

/dev/hda1 - pierwsza partycja na dysku ATA primary master
/dev/sdb4 - czwarta partycja na dysku SATA primary slave
/dev/hdc - dysk ATA secondary master
/dev/sdd1 - pierwsza partycja na dysku SATA secondary slave

Struktura katalogów

Katalog główny (nazywany również root - z angielskiego korzeń), gdzie znajdują się wszystkie katalogi i pliki systemu Linux oznaczony jest symbolem "/" (slash). Mówiąc jeszcze prościej - na partycji "/" instalowany jest system Linux. W systemie Linux tworzone są określone katalogi przechowujące określone pliki niezbędne do prawidłowej pracy sytemu. Tworzy się ich określona liczna o zdefiniowanych nazwach. W poszczególnych dystrybucjach budowa ta może się różnić, co nie zmienia faktu, że katalogi te istnieją i pełnią takie same funkcje. Przedstawię ich nazwy i uproszczoną charakterystykę (Szczegółowe informacje wraz z opisem zawartości podkatalogów czytelnik znajdzie pod tym linkiem):
/bin - zawiera w sobie pliki binarne (wykonywalne) podstawowych narzędzi systemowych, które są niezbędne do pracy w trybie wieloużytkownikowym.
/boot - zawiera w sobie pliki odpowiedzialne za bootowanie (uruchamianie) systemu oraz jądro systemu
/cdrom - zazwyczaj jest to katalog dowiązany do katalogu media lub mnt (w zależności od dystrybucji)
/dev - zawiera w sobie pliki odpowiedzialne za obsługiwanie urządzeń jak np. cdrom. Generalnie pliki w tym katalogu odpowiadają za komunikację system - urządzenia komputera.
/etc - zawiera w sobie globalne pliki konfiguracyjne, ustawienia systemowe
/home - jest miejscem, w którym tworzy się katalog domowy użytkownika lub użytkowników (/home/nazwa_użytkownika), a w nim dodatkowo podkatalogi jak: dokumenty, muzyka, obrazy. Możemy tworzyć również swoje własne według potrzeb.
/lib - zawiera w sobie skompilowane biblioteki niezbędne do uruchamiania systemu a także moduły jądra systemu
/lost+found - pliki odnalezione podczas wykonywania testów dysku
/media - miejsce montowania (podłączania) nośników wymiennych jak pendrive, dyskietka, karty pamięci, czy napędy cdrom
/mnt - miejsce montowani dysków - systemów plików (w niektórych dystrybucjach np. Ubuntu, dyski montowane są w katalogu /media)
/opt - Katalog do instalowania dodatkowego oprogramowania nie wchodzącego w skład systemu (wykorzystywany głównie w dystrybucji SUSE). Obecnie, w niektórych dystrybucjach służy on do instalacji oprogramowania trzeciego jak np. oracle'a. Folder ten wychodzi z użycia na rzecz /usr/local
/proc - wirtualny system plików. Tworzy się podczas uruchamiania systemu. Zawiera w sobie pliki z informacjami o procesach
/root - katalog superużytkownika "root" - mówiąc w skrócie, jest to konto administracyjne. Bez niego nie możemy używać np. narzędzia "sudo" czy dokonywać żadnych zmian w systemie wymagających hasła administratora np. aktualizacji systemu.
/sbin - zawiera w sobie pliki wykonywalne poleceń, dostępne tylko dla administratora (root)
/srv - katalog dla serwerów
/sys - interfejs zmiany parametrów jądra (od jądra w wersji 2.6)
/tmp - zawiera w sobie pliki tymczasowe (również te, zapisujące się na dysku przy przeglądaniu Internetu)
/usr - zawiera w sobie narzędzia i aplikacje (programy) zainstalowane na komputerze dostępne dla zwykłego użytkownika oraz administratora.
/var - zawiera w sobie logi systemowe, pliki pocztowe czy kolejki drukarki.

Przykład struktury katalogów w systemie Linux na podstawie dystrybucji:



Ubuntu 8.04





Arch Linux





Fedora 9





openSUSE 10.3



Dystrybucje Linuksa, a właściwie ich struktura katalogów, powinny być zgodne ze standardem FHS - Filesystem Hierarchy Standard, będącego częścią LSB - Linux Standard Base.

Kilka uwag i praktycznych rad przy instalacji systemu Linux

Przy tworzeniu partycji systemowej /, określamy również partycję wymiany swap (służy do tymczasowego przechowywania danych w sytuacji, gdy ich ilość przekracza ilość wolnej pamięci RAM lub, gdy z różnych powodów korzystniej jest przechowywać je na dysku - tak zwana pamięć wirtualna. W dystrybucjach linuksowych, zamiast tworzyć osobną partycję swap możemy stworzyć plik wymiany w systemie). Zaleca się również utworzenie partycji /home - dzięki temu, nasze dokumenty czy skopiowane ustawienia systemu, możemy bezpiecznie trzymać podczas formatowania dysku z systemem, gdy chcemy zainstalować system na nowo lub zainstalować inną dystrybucję. Tak, tak - podczas instalacji innej dystrybucji, instalator wykryje partycję /, swap oraz /home (oraz inne linuksowe, jeśli istnieją) i wykorzysta je przy instalacji. Po zainstalowaniu nasze dokumenty i ustawienia będą nieruszone i gotowe do wykorzystania. Podobnie możemy zrobić z prawie każdym folderem (za wyjątkiem katalogów /etc, /bin, /sbin, /lib ani /dev - jeżeli to zrobimy, system nie załaduje się po instalacji) - stworzyć dla niego osobną partycję, czego się nie robi z powodu tego, że musimy umieć przewidzieć ile miejsca potrzebujemy dla każdej z nich. Wygodnie więc pozwolić, żeby system zrobił to za nas i dynamicznie przydzielał miejsce na dysku w razie potrzeby.

Przedstawiliśmy tutaj minimum podstawowych informacji odnośnie tego zagadnienia, które w samo w sobie jest ciekawe. Ogrom informacji, zwłaszcza tych szczegółowych - jeżeli będzie taka potrzeba, przedstawimy w osobnych artykułach.


Od autora

W przygotowaniu materiału pomogli mi Areh, Kaka' i Reza, którym serdecznie za pomoc dziękuję.

© dobreprogramy
r   e   k   l   a   m   a
r   e   k   l   a   m   a

Komentarze

r   e   k   l   a   m   a
r   e   k   l   a   m   a
Czy wiesz, że używamy cookies (ciasteczek)? Dowiedz się więcej o celu ich używania i zmianach ustawień.
Korzystając ze strony i asystenta pobierania wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.