Are you a developer? Try out the
SYSTEM PLIKÓW
1) Czym jest system plików ?
2) Montowanie i odmontowywanie systemu plików
3) Konfiguracja systemu plików
4) Narzędzia do sprawdzania i naprawy systemu plików
5) Tworzenie nowego systemu plików
6) Inne narzędzia i pliki związane z systemem plików
1) Czym jest system plików ?
System plików to metody i struktury danych używane przez system operacyjny w celu zapisania i
zorganizowania plików na danym urządzeniu.
System Linuks obsługuje wiele różnych systemów plików, ale podstawowym systemem jest ext2,
ponieważ został on stworzony specjalnie dla Linuksa i jest bardzo wydajny.
Cechami charakterystycznymi dla tego systemu są : superblok, i-węzeł, blok danych, blok katalogu
oraz blok pośredni . Superblok zawiera informacje o systemie jako całości, np. rozmiar. I-węzeł
zawiera wszelkie informacje o pliku za wyjątkiem jego nazwy. Nazwa przechowywana jest w katalogu
Are you a developer? Try out the
razem z numerem i-węzła. Wpis katalogu zawiera nazwę i liczbę i-węzłów plików. I-węzeł zawiera
numery kilku bloków danych, które używane są do przechowywania pliku. Automatycznie allokowane
miejsce pozwala przechowywać tylko kilka numerów, jednak w razie potrzeby zostaje dynamicznie
allokowana dodatkowa przestrzeń. Bloki allokowane dynamicznie nazywają się bezpośrednimi - nazwa
wskazuje, że w celu znalezienia numeru bloku danych należy znaleźć pierwszy blok pośredni.
2) Montowanie i odmontowywanie systemu plików
Aby móc używać system plików należy go wcześniej zamontować.
Do montowania systemu plików służy polecenie mount o składni :
mount -t typ urządzenie punkt_montowania
gdzie :
typ - rodzaj systemu plików, np.: ext2, msdos
urządzenie- musi być urządzeniem blokowym
punkt_montowania - nazwa pliku pod którym będzie zainstalowany dany system
Aby zamontować dyskietkę wydajemy polecenie :
mount -t msdos /dev/fd0 /mnt/floppy
Do odmontowania systemu plików służy polecenie umount :
umount /mnt/floppy
Are you a developer? Try out the
3) Konfiguracja systemu plików
Informacje o systemach plików, które mają lub mogą być zamontowane i o ich konfiguracji zawiera
plik /etc/fstab .
Każdy system plików opisany jest przez osobne linie, a pola w każdej linii oddzielone są znakami
spacji lub tabulatora.
Przykładowy plik fstab może wyglądać następująco :
/dev/hda1 / ext2 defaults 1 1
/dev/hda2 /usr ext2 defaults 1 2
/dev/hdb /mnt/cdrom iso9660 user,noauto,ro 0 0
/dev/fd1 /mnt/floppy msdos user,noauto 0 0
/dev/hda2 none swap sw
Pole pierwsze
opisuje specjalne urządzenie blokowe lub zdalny system plików przeznaczony do
zamontowania.
Pole drugie
wskazuje na miejsce, w którym ma być dany system plików zamontowany.
Dla partycji wymiany pole to powinno zawierać wartość none.
Pole trzecie
opisuje typ systemu plików.
Najczęściej używane systemy plików to :
ext2 - standardowy system plików dla Linuksa
Are you a developer? Try out the
msdos - system plików dla partycji MS-DOS
iso9660 - system plików używany przez stacje CD-ROM
nfs - system plików służący do montowania partycji z systemów zdalnych
swap - partycja dysku używana jako przestrzeń wymiany
Pole czwarte
zawiera opcje montowania danego systemu plików. Opcje podaje się jako listę
oddzieloną przecinkami. Najważniejsze opcje to :
auto - oznacza, że polecenie mount -a powinno zamontować dany system plików
noauto - zabrania montowania systemu, gdy wydano opcję : mount -a
user - opcja ta pozwala użytkownikowi na montowanie danego systemu plików
dev - pozwala na używanie plików urządzeń zapisanych w systemie plików
exec - zwykle wykorzystywany w systemach NFS. Opcja ta zezwala na uruchamianie plików
zapisanych w danym systemie
noexec - przeciwieństwo opcji exec
ro - montuje system plików w trybie tylko do odczytu
rw - montuje system plików w trybie do odczytu i zapisu
sync - wszystkie operacje zapisu będą oczekiwać na potwierdzenie ich zakończenia przez sprzęt.
Tryb ten jest wolniejszy, ale za to bezpieczniejszy
async - przeciwieństwo opcji sync
suid - pozwala na korzystanie z flag suid
nosuid - przeciwieństwo suid
defaults - włącza opcje rw,exec, auto, nouser, async, suid
Pole piąte
jest używane przez program dump do wykrycia, który system plików musi być odłączony.
Wartość 0 oznacza, że dany system nie musi być odłączony.
Pole szóste
jest używane przez program e2fsck do określenia kolejności sprawdzania systemu
Are you a developer? Try out the
plików podczas ładowania systemu.
Główny system plików powinien mieć wartość 1 zaś inne systemy plików wartość 2.
Wartość 0 oznacza, że dany system nie będzie sprawdzany.
4) Narzędzia do sprawdzania i naprawy systemu plików
Podstawowym narzędziem dla administratora do sprawdzania i naprawy uszkodzonych systemów
plików jest program e2fsck.
Program ten jest uruchamiany automatycznie przez system po nieprawidłowym jego zamknięciu.
Przed sprawdzeniem systemu plików programem e2fsck, należy system ten odmontować. Wyjątek
stanowi tylko główny system plików, który przed sprawdzeniem należy przemontować w tryb : tylko
do odczytu.
Sprawdzenie lub naprawa przykładowego systemu plików może wyglądać następująco :
odmontowanie systemu plików :
umount /dev/hda2
sprawdzenie :
e2fsck -y /dev/hda2
ponowne montowanie :
mount -t ext2 /dev/hda2/ /usr
Jeśli nie powiodła się próba naprawienia systemu plików, można skorzystać z opcji nakazującej
korzystania z zapasowej kopii superbloku :
Are you a developer? Try out the
e2fsck -t ext2 -b 8193 /dev/hda2
8193 to numer bloku zawierającego pierwszą kopię zapasową superbloku.
Kopie superbloków są zapisywane co 8192 bloki, czyli druga kopia będzie miała numer 16385.
5) Tworzenie nowego systemu plków
Do tworzenia nowych systemów plików możemy wykorzystać program mkfs o następującej składni :
mkfs [-t] [-c] urządzenie_blokowe
gdzie :
-t
- określa typ tworzonego systemu plików, domyślnie ext2
-c
- sprawdza uszkodzone bloki urządzenia przed utworzeniem systemu plików
Aby utworzyć system plików ext2 na dyskietce należy wydać następujące polecenie :
mkfs -t ext2 /dev/fd0
6) Inne narzędzia i pliki związane z systemem plików
Ciekawym narzędziem dającym sporo informacji o systemie plików jest program dumpe2fs.
Większość informacji podawanych przez ten program pochodzi z superbloku.
Are you a developer? Try out the
Pożytecznym plikiem związanym z systemem plików jest plik etc/mtab.
Plik ten zawiera informacje o aktualnie zamontowanych systemach plików.