Użytkownik systemu Linux, chcąc przetestować dysk twardy pod kątem występowania na nim uszkodzonych sektorów, może użyć programu
A. scandisk.
B. chkdsk.
C. fsck.
D. defrag.
Pytanie z egzaminu CKE, styczeń 2018 (arkusz E.12-X-18.01).
W tym pytaniu chodzi o narzędzie dostępne w systemach Linux/Unix do sprawdzania systemu plików, czyli fsck. Program fsck, od file system check, służy przede wszystkim do wykrywania i naprawiania niespójności w systemach plików, na przykład po nagłym zaniku zasilania, błędnym odmontowaniu partycji albo awarii systemu. W praktyce może być też użyty przy diagnostyce nośnika pod kątem problemów z sektorami, szczególnie z opcją -c, która wykorzystuje mechanizm sprawdzania uszkodzonych bloków, często powiązany z programem badblocks. Przykładowo administrator może uruchomić fsck -c /dev/sdXn, ale najlepiej robić to na odmontowanej partycji, bo sprawdzanie aktywnego systemu plików grozi dodatkowymi uszkodzeniami danych. Z mojego doświadczenia warto też przed taką operacją zrobić kopię ważnych plików, bo diagnostyka dysku, który już zaczyna sypać błędami, czasem tylko potwierdza, że nośnik jest na końcu życia. Dobrą praktyką branżową jest łączenie fsck z odczytem parametrów S.M.A.R.T., na przykład przez smartctl, oraz analizą logów systemowych w dmesg lub journalctl. Sam fsck nie jest narzędziem do defragmentacji ani typowym programem windowsowym, tylko klasycznym narzędziem administracyjnym Linuksa do kontroli integralności systemu plików i wykrywania problemów z blokami danych.
W tym zestawie łatwo pomylić narzędzia, bo wszystkie kojarzą się z obsługą dysków, ale nie działają w tym samym systemie i nie służą dokładnie do tego samego. W Linuksie właściwym wyborem jest fsck, czyli narzędzie do sprawdzania i naprawy systemów plików. Przy diagnostyce uszkodzonych sektorów można użyć go z odpowiednimi opcjami, a w praktyce często wspiera się także narzędziami typu badblocks albo smartctl. Ważne jest, żeby rozumieć różnicę między sprawdzaniem struktury systemu plików a samym porządkowaniem danych na dysku. Defrag kojarzy się z defragmentacją, czyli układaniem fragmentów plików w bardziej ciągłe obszary, głównie w środowisku Windows i na starszych dyskach HDD. To nie jest podstawowe narzędzie do wykrywania bad sektorów, a na systemach Linux z ext4, XFS czy Btrfs defragmentacja zwykle nie jest pierwszym krokiem diagnostycznym. Chkdsk to z kolei narzędzie z Windows, używane do sprawdzania woluminów i systemów plików takich jak NTFS lub FAT. Ma podobną ideę do fsck, ale nie jest standardowym linuksowym programem administracyjnym. Scandisk również jest narzędziem znanym ze starszych systemów Microsoft, zwłaszcza DOS i Windows 9x, więc wybieranie go dla Linuksa wynika raczej z zapamiętania hasła dysk i skanowanie, a nie z faktycznej znajomości środowiska. Typowy błąd myślowy polega na tym, że ktoś wybiera dowolny program kojarzony z naprawą dysku, bez sprawdzenia, dla jakiego systemu operacyjnego jest przeznaczony. W administracji dobrą praktyką jest zawsze dobierać narzędzie do platformy, systemu plików i celu diagnostyki, a przed naprawą wykonać kopię danych, bo awarie sektorów mogą oznaczać fizyczne zużycie nośnika.