Введение
Системная утилита для проверки согласованности файловой системы – альбом Farmers Manual. Системная утилита fsck (file system consistency check – проверка согласованности файловой системы) – это инструмент для проверки целостности файловой системы в операционных системах Unix и Unix-подобных, таких как Linux, macOS и FreeBSD. Эквивалентными программами в MS DOS и Microsoft Windows являются CHKDSK, SFC и SCANDISK.
The system utility fsck (file system consistency check) is a tool for checking the consistency of a file system in Unix and Unix like operating systems, such as Linux, macOS, and FreeBSD. The equivalent programs on MS DOS and Microsoft Windows are CHKDSK, SFC, and SCANDISK.
Использование
Как правило, утилита fsck запускается либо автоматически при загрузке системы, либо вручную системным администратором. Команда работает непосредственно со структурами данных, хранящимися на диске, которые являются внутренними и специфичными для используемой файловой системы, поэтому обычно требуется команда fsck, предназначенная для конкретной файловой системы. Точное поведение различных реализаций fsck может отличаться, но они, как правило, следуют единому порядку внутренних операций и предоставляют пользователю общий интерфейс командной строки. На современных системах fsck определяет тип файловой системы и вызывает специализированную программу (Linux) или (BSD, macOS) для каждого типа. Большинство утилит fsck предоставляют возможность интерактивного восстановления поврежденных файловых систем (пользователь должен самостоятельно решать, как устранять конкретные проблемы), автоматического устранения проблем (без запросов к пользователю) или просмотра проблем, требующих решения, без их фактического исправления. Частично восстановленные файлы, для которых невозможно восстановить исходное имя, обычно сохраняются в каталог "lost+found", расположенный в корне файловой системы. Системный администратор также может запустить fsck вручную, если подозревает наличие проблем с файловой системой. Проверка файловой системы обычно выполняется в отмонтированном состоянии, в режиме только для чтения или в специальном режиме обслуживания системы.
Время загрузки
Поскольку ожидается, что fsck запускается без вмешательства пользователя, по умолчанию он обычно не выполняет никаких деструктивных операций. Это может быть проверка в режиме только для чтения (остановка при обнаружении проблем) или, чаще, режим "preen", который исправляет только незначительные проблемы, обычно возникающие после некорректного завершения работы (например, сбой или отключение питания). Некоторые современные файловые системы не требуют запуска fsck при загрузке после некорректного завершения работы. Примеры: XFS, файловая система с журналированием. Она имеет пустой fsck, который ничего не делает, и отдельную утилиту xfs_repair для запуска при подозрении на проблемы. Файловая система UFS2 в FreeBSD может отложить проверку в фоновый режим, если включены мягкие обновления. В результате обычно не требуется ждать завершения fsck перед доступом к диску. Эта особенность отражена в используемом при загрузке флаге. btrfs check по-прежнему доступен для проверки на наличие подозрительных проблем в структуре файловой системы (например, при подозрении на ошибку в программном обеспечении или проблему с оборудованием). Помимо проверки структуры файловой системы, современные файловые системы могут предлагать утилиту очистки данных (scrubbing) для проверки сохраненных данных на предмет скрытой коррупции с использованием зеркала или контрольной суммы. Очистка данных обычно занимает много времени, так как охватывает все данные на диске, но периодические запуски могут предотвратить потерю данных и помочь выявить неисправные накопители.
XFS, a journaling file system. It has a dummy fsck which does nothing and an actual xfs repair tool to be run when problems are suspected. UFS2 file system in FreeBSD, which can delay the check to background if soft updates are enabled. As a result, it is usually not necessary to wait for fsck to finish before accessing the disk. This design is reflected by the flag used at boot. btrfs check is still available to check for suspected problems in filesystem structure (e. g. when a software bug or hardware issue is suspected). Independent of checking the file system structure, modern file systems may offer a data scrubbing tool to check for silent corruption in stored data against a mirror or a checksum. Scrubs tend to be slow as they cover all data on a disk, but periodic runs can defend against data rot and help identify failing drives.
История
fsck впервые появилась в 4.0BSD в 1980 году. Она приобрела свой современный вид в качестве оболочки в NetBSD 1.3 (1998). Ни один существующий стандарт не определяет fsck.