Aby sprawdzić integralność systemu plików w systemie Linux należy użyć polecenia
A. fstab
B. fsck
C. man
D. mkfs
Pytanie z egzaminu CKE, czerwiec 2014 (arkusz E.12-X-14.05).
Polecenie fsck jest właściwym narzędziem do sprawdzania integralności systemu plików w Linuksie. Sama nazwa pochodzi od file system check, czyli sprawdzanie systemu plików. W praktyce używa się go wtedy, gdy podejrzewamy uszkodzenie struktury systemu plików, np. po nagłym zaniku zasilania, zawieszeniu komputera, problemach z dyskiem albo niepoprawnym odmontowaniu partycji. Przykładowo administrator może uruchomić fsck /dev/sda1 albo fsck -f /dev/sda1, aby wymusić kontrolę konkretnej partycji. Ważna dobra praktyka: nie powinno się sprawdzać aktywnie zamontowanego systemu plików w trybie zapisu, bo można narobić więcej szkód niż pożytku. Najczęściej robi się to z trybu ratunkowego, live USB albo po odmontowaniu partycji poleceniem umount. fsck potrafi wykrywać niespójności metadanych, błędne wpisy i-node, problemy z katalogami czy niepoprawne liczniki bloków. Moim zdaniem to jedno z tych poleceń, które każdy użytkownik Linuksa powinien znać chociaż z podstaw, bo przy awarii potrafi naprawdę uratować sytuację. Warto też pamiętać, że fsck jest narzędziem ogólnym i często wywołuje odpowiedni program dla danego systemu plików, np. e2fsck dla ext2/ext3/ext4.
W tym pytaniu łatwo pomylić kilka pojęć, bo wszystkie odpowiedzi kojarzą się z administracją Linuksem, ale ich przeznaczenie jest zupełnie inne. Do kontroli integralności systemu plików służy fsck, natomiast man jest tylko systemem pomocy podręcznikowej. Polecenie man fsck może oczywiście pokazać dokumentację fsck, opcje i przykłady użycia, ale samo man niczego nie naprawia ani nie skanuje. To częsty błąd myślowy: skoro polecenie opisuje inne narzędzia, to ktoś traktuje je jak narzędzie diagnostyczne. Nie, ono tylko wyświetla instrukcję. mkfs też bywa mylące, bo ma w nazwie fs, czyli filesystem, ale jego zadaniem jest tworzenie systemu plików, na przykład mkfs.ext4 /dev/sdb1. W praktyce oznacza to formatowanie partycji, a nie sprawdzanie jej poprawności. Użycie mkfs na partycji z danymi może doprowadzić do ich utraty, więc tutaj trzeba być bardzo ostrożnym. fstab z kolei nie jest typowym poleceniem do sprawdzania integralności, tylko plikiem konfiguracyjnym /etc/fstab, w którym system zapisuje informacje o tym, jakie partycje i zasoby mają być montowane, gdzie i z jakimi opcjami. Z mojego doświadczenia uczniowie często kojarzą fstab z dyskami i montowaniem, więc wybierają je intuicyjnie, ale to nie ta warstwa administracji. Sprawdzanie spójności struktur systemu plików, metadanych, bloków i katalogów wykonuje właśnie fsck, najlepiej na odmontowanej partycji albo w trybie ratunkowym. To jest zgodne z dobrymi praktykami administracji systemami Linux/Unix: najpierw identyfikujemy urządzenie, wykonujemy kopię ważnych danych jeśli się da, odmontowujemy partycję, a dopiero potem uruchamiamy narzędzie diagnostyczne.