Struktura katalogów w systemach linux


Struktura katalogów w systemach linux'owych (omówienie)

Rozdział I

Rozdział powstał na podstawie Standardu Systemu Plików Linuxa, FSSTND, wersji 1.2. 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.

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.

0x01 graphic

Części drzewa katalogów Unixa. Linie oznaczają limity partycji.

Poniżej znajduje się opis przeznaczenia danej części.

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).

Rozdział II - Główny system plików

Generalnie główny system plików powinien być mały - zawiera krytyczne dane, a mały, rzadko zmieniany system ma większe szanse przetrwania. Zniszczenie tego systemu plików najczęściej oznacza, że systemu nie można uruchomić - trzeba posłużyć się dyskietką lub innym dodatkowym medium.

Główny katalog nie powinien zawierać żadnych plików, oprócz jądra (chociaż powinno się je umieszczać w /boot). Wszelkie inne pliki powinny znajdować się w odpowiednich katalogach:

/bin

Polecenia potrzebne do uruchomienia systemu, pracy w trybie jednego użytkownika.

/sbin

Podobnie jak /bin, przy czym polecenia te nie są przeznaczone dla zwykłych użytkowników.

/etc

Pliki konfiguracyjne specyficzne dla danego komputera.

/root

Katalog domowy użytkownika root.

/lib

Biblioteki dzielone wymagane przez programy znajdujące się na głównym systemie plików.

/lib/modules

Ładowalne modułu jądra, te wymagane do startu systemu i pracy po padzie systemu (sterowniki sieciowe, itd. ) .

/dev

Pliki urządzeń.

/tmp

Pliki tymczasowe. Programy działające po starcie systemu powinny używać katalog /var/tmp, nie /tmp, ponieważ zapewne jest na nim więcej miejsca.

/boot

Pliki używane przez program bootujący (np. LILO) Często zawiera obraz jądra. Powinien znajdować się poniżej 1024 cylindra dysku IDE.

/mnt

Punkt tymczasowego montowania systemu plików. Nie powinno się montować żadnego systemu plików automatycznie w tym katalogu. /mnt może zawierać podkatalogi (np.: /mnt/dosa może oznaczać dyskietkę DOS-a, /mnt/exta dyskietkę z systemem plików ext2).

/proc, /usr, /var, /home

Rozdział III - Katalog /etc

Katalog /etc zawiera mnóstwo plików. Niektóre z nich są opisane poniżej. Odnośnie innych - trzeba sprawdzić jaki program używa danego pliku, po czym przeczytać dokumentację od danego programu, istnieją również strony dotyczące plików. Wiele plików konfigurujących sieć znajduje się w /etc.

/etc/rc, lub /etc/rc.d, lub /etc/rc?.d

Skrypty, lub katalogi zawierające skrypty uruchamiane podczas startu systemu i zmiany poziomu pracy.

/etc/passwd

Baza użytkowników zawierająca: nazwę, prawdziwą nazwę, katalog domowy, zakodowane hasło i inne informacje dla każdego z użytkowników systemu.

/etc/fdprm

Tabela parametrów pracy stacji dyskietek. Opisuje wzory poszczególnych formatów dyskietek. Używana przez setfdprm.

/etc/fstab

Lista systemów plików montowanych automatycznie za pomocą mount -a (wywoływanego w /etc/rc lub inny skrypt startowy ). Pod Linuxem zawiera informacje o swapie używanym automatycznie po poleceniu swapon -a.

/etc/group

Plik podobny do /etc/passwd, zawiera opis grup.

/etc/inittab

Plik konfigurujący pracę programu init.

/etc/issue

Wyświetlany przez getty przed pytaniem o login. Zazwyczaj zawiera krótką informację, lub powitanie. Zawartość zależy od upodobań administratora.

/etc/magic

Plik konfiguracyjny dla programu file. Zawiera opisy różnych formatów plików, na podstawie których file zgaduje typ pliku.

/etc/motd

Wiadomość dnia, automatycznie wyświetlana po udany logowaniu. Zawartość zależy od upodobań administratora. Często używany aby przekazać wiadomość wszystkim użytkownikom.

/etc/mtab

Lista aktualnie zamontowanych systemów plików. Inicjowana przez skrypty startowe i uaktualniana automatycznie przez program mount. Używana gdy potrzeba listy aktualnie zamontowanych systemów plików.

/etc/shadow

Plik haseł na niektórych systemach - często hasła są przeniesione z pliku /etc/passwd do /etc/shadow; drugi plik, odmiennie od pierwszego, jest odczytywalny tylko przez roota. Utrudnia to próbę brutalnego łamania haseł.

/etc/login.defs

Plik konfiguracyjny programu login.

/etc/printcap

Podobny do /etc/termcap, zawiera informacje na temat drukarek. Odmienna składnia.

/etc/profile, /etc/csh.login, /etc/csh.cshrc

pliki wykonywane w czasie ładowania odpowiednio: powłoki Bourne'a i C. Dzięki nim administrator może tworzyć domyślne, globalne ustawienia dla wszystkich użytkowników.

/etc/securetty

Zawiera listę bezpiecznych terminali - terminali, przez które może się zalogować root. Najczęściej zawiera listę kilku wirtualnych terminali, utrudniając zdobycie praw roota przez sieć, lub terminal na porcie szeregowym. Najlepiej usunąć wszystkie wpisy - uniemożliwia to bezpośrednie zalogowanie się roota w trybie wielu użytkowników - należy zalogować się jako zwykły użytkownik, a później użyć polecenia su.

/etc/shells

Lista zaufanych powłok. Polecenie chsh umożliwia użytkownikom zmianę powłoki logowania wyłącznie na jedną z zawartych w pliku. Niektóre demony FTP uniemożliwiają zalogowanie się użytkownika, który nie posiada prawidłowej powłoki.

/etc/termcap

Baza możliwości terminala. Opisuje sekwencje escape'owe, którymi można kontrolować terminal. Programy nie wyświetlają znaków bezpośrednio (trzebaby było wbudować im całą bazę danych, lub używać odpowiedniego terminala), w zamian tego posługują się podanymi w tym pliku sekwencjami sterowania, dzięki temu mogą pracować na dowolnym terminalu a dodanie nowego jest proste. Zobacz strony podręcznika: termcap, curs_termcap, terminfo.

Rozdział IV - Katalog /dev

Katalog /dev zawiera pliki specjalne, które odpowiadają wszystkim urządzeniom. Nazwy plików tworzone są według specjalnej konwencji. Pliki urządzeń tworzone są podczas instalacji, póżniej można je utworzyć za pomocą /dev/MAKEDEV, lub programu mknod. Skrypt /dev/MAKEDEV.local jest tworzony przez administratora w celu utworzenia urządzeń używanych lokalnie. (tych, które nie zawartych w skrypcie MAKEDEV, np. dla niestandardowych urządzeń).

Rozdział V - System plików /usr

System plików /usr jest zazwyczaj duży - większość programów znajduje się w jego podkatalogach. Zazwyczaj wszystkie pliki w katalogu /usr przyszły wraz z daną dystrybucją, programy instalowane ręcznie, z innych pakietów powinny być umieszczane w /usr/local. Dzięki temu po aktualizacji, zmianie systemu nie musimy instalować (a przed tym np. ściągać z sieci) dodatkowych programów. Niektóre z podkatalogów /usr opisane są poniżej.

/usr/X11R6

X Window System, wszystkie pliki. Aby uprościć tworzenie i instalację systemu X, wszelkie pliki umieszczane są w osobnym katalogu. W /usr/X11R6 istnieje hierarchia podkatalogów podobna do zawartości /usr.

/usr/X386

To samo co /usr/X11R6, tylko dla wersji "X11 Release 5".

/usr/bin

Prawie wszystkie polecenia użytkownika. Niektóre polecenia znajdują się w /bin i /usr/local/bin.

/usr/sbin

Programy administratora, które nie muszą znajdować się na głównym systemie plików, np. większość serwerów.

/usr/man, /usr/info, /usr/doc

Odpowiednio: strony podręcznika, dokumenty GNU Info i dokumentacja w innych formatach.

/usr/include

Pliki nagłowkowe dla języka C. Aktualnie powinny być w /usr/lib, jednak tradycja jest silniejsza.

/usr/lib

Niezmieniające się dane, zależne od architektury, niekiedy pliki konfiguracyjne programów. Nazwa lib pochodzi od "library" (biblioteka); oryginalnie biblioteki programistyczne były przechowywane w /usr/lib.

/usr/local

Miejsce składowania oprogramowania (i konfiguracji) zainstalowanego niezależnie od dystrybucji.

Rozdział VI - System plików /var

/var zawiera zmieniające się dane. Zawartość jest specyficzna dla danego systemu, nie powinna być dzielona między różnymi komputerami.

/var/catman

Sformatowane strony. Źródło strony podręcznika jest zazwyczaj przechowywane w /usr/man/man*; niektóre strony rozprowadzane są w wersji preformatowanej, są one przechowywane w /usr/man/cat*. Inne strony podręcznika muszą zostać sformatowane przed wyświetleniem; przetworzone wersje, w celu przyśpieszenia późniejszych odwołań, zapisywane są na dysku. (/var/catman jest często czyszczony wraz z katalogami zawierającymi pliki tymczasowe.)

/var/lib

Zmieniające się podczas pracy systemu pliki.

/var/local

Zmieniające się dane programów zainstalowanych w /usr/local. Nawet lokalnie zainstalowane programy powinny się odwoływać do /var.

/var/lock

Blokady. Wiele programów przestrzega zasadę tworzenia pliku w /var/lock aby wskazać swoje działanie. Inne programy sprawdzają plik i odpowiednio działają (np. wstrzymują się z odwoływaniem do danego urządzenia).

/var/log

Logi różnych programów, baza programu login (/var/log/wtmp, który zawiera informacje o wylogowywaniu się użytkowników) oraz log demona syslog (/var/log/messages, w nim zapisywane są wszystkie informacje jądra i innych programów). Zapomniane pliki w /var/log mogą często znacząco przybrać na rozmiarze -powinno się w regularnych odstępach czasu usuwać stare wersje.

/var/run

Pliki, które zawierają informacje o systemie, które są aktualne podczas jego działania. Dla przykładu: /var/run/utmp zawiera listę użytkowników aktualnie zalogowanych.

/var/spool

Katalog zawierający kolejki: poczty, drukowania i inne. Każda kolejka posiada własny podkatalog wewnątrz /var/spool, np. często poczta przechowywana jest w katalogu /var/spool/mail (nie jest to zalecane).

/var/tmp

Tymczasowe pliki które są duże, lub mają istnieć przez dłuższy czas niż byłoby to możliwe w katalogu /tmp (aczkolwiek administrator może usuwać znacząco stare pliki).

Rozdział VII - System plików /proc

System plików /proc jest całkowicie wirtualny - nie istnieje na dysku. Jest tworzony i utrzymywany przez jądro w pamięci. Używany jest w celu dostarczenia informacji o systemie (oryginalnie o działających procesach, stąd nazwa). Ważniejsze pozycje omówione są poniżej. System plików /proc posiada własną stronę podręcznika.

/proc/1

Katalog zawierający informacje o procesie numer 1 (init ma zawsze ten numer). Każdy proces posiada własny podkatalog o nazwie przedstawiającej identyfikator procesu.

/proc/cpuinfo

Informacje o procesorze: model, wydajność, itp.

/proc/devices

Lista sterowników urządzeń, które są aktualnie skonfigurowane i działające.

/proc/dma

Aktualnie używane kanały DMA.

/proc/filesystems

Systemy plików aktualnie skonfigurowane.

/proc/interrupts

Lista przerwań aktualnie wykorzystywanych, oraz ilość przerwań, które zostały kiedykolwiek obsłużone.

/proc/ioports

Używane porty We/Wy.

/proc/kcore

Obraz fizycznej pamięci systemu. Posiada rozmiar równy rozmiarowi zainstalowanej pamięci, jednak na dysku nie zajmuje ani bajta. (Uwaga: wpisy w katalogu /proc nie zajmują miejsca, chyba że je skopiujesz w inne miejsce).

/proc/kmsg

Wiadomości wysyłane przez jądro. Są one również przesyłane do sysloga.

/proc/ksyms

Tablica symboli jądra.

/proc/loadavg

`średnie obciążenie' systemu; trzy nic nieznaczące liczby wskazujące ilość aktualnie wykonywanej pracy.

/proc/meminfo

Informacje o wykorzystaniu pamięci fizycznej i swapu.

/proc/modules

Aktualnie załadowane moduły.

/proc/net

Informacje o protokołach sieciowych.

/proc/self

Łącze symboliczne do katalogu procesu, który czyta /proc. Dla dwóch procesów czytających /proc wskazania odnośników są inne.

/proc/stat

Statystyki systemu, np. ilość błędów stron od czasu startu, itd.

/proc/uptime

Okres pracy systemu.

/proc/version

Wersja jądra.

Patrycja Łukaszek

Kl. II a SI

10



Wyszukiwarka

Podobne podstrony:
Struktura katalogowa systemu Linux
katalogi systemu linux
Bootowalny pendrive z systemem Linux
Poczta w systemie Linux
Monitorowanie oraz identyfikacja zmian w strukturze plików systemu Windows
Katalog Systematyczny
Instalacja systemu Linux
STRUKTURA ORGANIZACYJNA SYSTEMU UBEZPIECZEŃ SPOŁECZNYCH
Wielozadaniowość systemu Linux
administrowanie systemem linux, start systemu
administrowanie systemem linux, nfs oreilly
Podstawy administracji systemu Linux
Podstawowe komendy systemu Linux
administrowanie systemem linux, xinetd schemat
administrowanie systemem linux, procfs
metody29, W ujęciu organizacji i zarządzania, struktura jest systemem przetwarzającym informacje na

więcej podobnych podstron