FSCK(8)

НАЗВА
fsck - перевірка і виправлення файлової системи Linux

КОРОТКИЙ ОПИС

fsck [-lsAVRTMNP] [-r [fd]] [-C [fd]] [-t fstype] [filesystem...] [--] [fs-specific-options]

ОПИС

fsck is used to check and optionally repair one or more Linux filesystems. filesystem can be a device name (e.g., /dev/hdc1, /dev/sdb2), a mount point (e.g., /, /usr, /home), or a filesystem label or UUID specifier (e.g., UUID=8868abf6-88c5-4a83-98b8-bfc24057f7bd or LABEL=root). Normally, the fsck program will try to handle filesystems on different physical disk drives in parallel to reduce the total amount of time needed to check all of them.

Якщо у рядку команди не вказано файлової системи і не вказано параметр -A, fsck, типово, перевіряє файлові системи у /etc/fstab послідовно. Це еквівалент параметрів -As.

Стан виходу, який буде повернуто fsck, є сумою таких умов:

0
    Немає помилок

1
    Виправлено помилки файлової системи

2
    Систему має бути перезавантажено

4
    Помилки файлової системи, які лишилися невиправленими

8
    Помилка обробки

16
    Помилка використання або синтаксична помилка

32
    Перевірку скасовано на запит користувача

128
    Помилка у бібліотеці спільного використання

Стан виходу, який буде повернуто при перевірці декількох файлових систем, є побітовим АБО станів виходу для кожної перевіреної файлової системи.

Насправді, fsck є простою оболонкою для різноманітних засобів перевірки файлових систем (fsck.тип-файлової-системи), які доступні у Linux Пошук засобів перевірки специфічних файлових систем відбуватиметься у каталогах змінної середовища PATH. Якщо значення PATH не визначено, резервним варіантом буде /sbin.

Докладніший опис можна знайти на сторінках підручника для специфічних для файлових систем засобів перевірки.

ПАРАМЕТРИ

-l
    Створити виключний файл блокування flock(2) (_/run/fsck/<назва-диска>.lock>) для пристрою, який є цілими диском. Цей параметр можна використовувати лише з одним пристроєм (це означає, що -A і -l не можна використовувати одночасно). Цей параметр є рекомендованим, якщо одночасно виконується декілька екземплярів fsck. Цей параметр буде проігноровано, якщо перевірка виконується для декількох пристроїв або для не обертових дисків. fsck не блокує базові пристрої при виконанні перевірки стосових пристроїв (наприклад MD або DM) - цю можливість ще не реалізовано.

-r [дескриптор-файла]
    Виводити певні статистичні дані щодо кожної перевірки fsck, коли її завершено. До цих статистичних даних буде включено стан виходу, максимальний розмір набору виконання (у кілобайтах), дані щодо усього витраченого часу, а також часу користувача і процесора, який було використано fsck під час роботи. Приклад:

    /dev/sda1: status 0, rss 92828, real 4.002804, user 2.677592, sys 0.86186

    Графічні оболонки можуть встановлювати дескриптор-файла. Якщо такий дескриптор встановлено, дані смужки поступу буде надіслано до файла із вказаним дескриптором у форматі, який є придатним для обробки комп’ютером. Приклад:

    /dev/sda1 0 92828 4.002804 2.677592 0.86186

-s
    Створити послідовність дій fsck. Це непоганий варіант, якщо ви перевіряєте декілька файлових систем, а засоби перевірки працюють у інтерактивному режимі. (Зауваження: e2fsck(8) типово працює в інтерактивному режимі. Щоб наказати e2fsck(8) працювати у неінтерактивному режимі, вам слід або вказати параметр -p чи -a, якщо ви хочете, щоб помилки було виправлено автоматично, або скористатися параметром -n, якщо не хочете цього.)

-t список-файлових-систем
    Вказати типи файлових системи, які слід перевірити. Якщо вказано параметр -A, буде перевірено лише файлові системи зі списку список-файлових-систем. Аргумент список-файлових-систем є списком відокремлених комами файлових системи та специфікаторів параметрів. До усіх записів файлових систем у цьому списку може бути додано префікс - оператор заперечення «no» або «!», який наказує програмі перевірити лише файлові системи, яких немає у списку список-файлових-систем. Якщо у жодному із записів файлових систем в аргументі список-файлових-систем немає префікса заперечення, буде перевірено лише файлові системи зі списку.

    До списку відокремлених комами значень список-файлових-систем може бути включено специфікатори параметрів Їх слід вказувати у форматі opts=параметри-файлової-системи. Якщо вказано специфікатор параметрів, буде виконано перевірку лише файлових систем, які містять запис I<параметр-файлової-системи> у полі параметрів /etc/fstab. Якщо до специфікатора параметрів додано префікс - оператор заперечення, - буде виконано перевірку лише тих файлових систем, які не місять запису параметр-файлової-системи у полі параметрів монтування /etc/fstab.

    Наприклад, якщо буде виявлено opts=ro в аргументі список-файлових-систем, буде перевірено лише ті файлові системи зі списку /etc/fstab, для яких використано параметр ro.

    Для забезпечення сумісності із дистрибутивами Mandrake, де скрипти завантаження залежать від неуповноваженої зміни інтерфейсу програми fsck, якщо буде знайдено тип файлової системи loop у аргументі список-файлових-систем, обробка відбуватиметься так, наче було вказано opts=loop, як аргумент параметра -t.

    Зазвичай, тип файлової системи визначається шляхом пошуку аргументу файлова-система у файлі /etc/fstab із наступним використанням відповідного запису. Якщо тип не вдалося визначити, і вказано лише один аргумент файлової системи у параметрі -t, fsck використовуватиме вказаний тип файлової системи. Якщо засобів для цього типу не буде знайдено, буде використано стандартний тип файлової системи (у поточній версії ext2).

-A
    Обробити файл /etc/fstab і спробувати виконати перевірку усіх файлових систем в один прохід. Цей параметр типово використовується з файла ініціалізації системи /etc/rc, замість декількох команд для перевірки окремих файлових систем.

    Першою буде перевірено кореневу файлову систему, якщо не вказано -P (див. нижче). Потім буде перевірено файлові системи у порядку, вказаному у полі fs_passno (шостому полі) у файлі /etc/fstab. Файлові системи зі значенням fs_passno 0 буде пропущено, програма їх взагалі не перевірятиме. Файлові системи із значенням fs_passno, яке є більшим за нуль, буде перевірено за вказаним порядком, першими буде перевірено файлові системи із найменшими значеннями fs_passno. Якщо однакове число буде використано для декількох файлових систем, fsck спробує перевірити їх паралельно, хоча програма уникатиме паралельної обробки декількох файлових систем на одному фізичному диску.

    fsck does not check stacked devices (RAIDs, dm-crypt, ...) in parallel with any other device. See below for FSCK_FORCE_ALL_PARALLEL setting. The /sys filesystem is used to determine dependencies between devices.

    Отже, дуже поширеною є конфігурацію у файлах /etc/fstab є встановлення для кореневої файлової системи значення fs_passno 1 і встановлення для усіх інших файлових систем значення fs_passno 2. Це уможливлює для fsck автоматичний паралельний запуск засобів перевірки файлових систем, якщо у цьому є переваги. Адміністратори системи можуть наказати програмі не використовувати цю конфігурацію, якщо потрібно з певних причин уникати паралельного запуску декількох перевірок файлових систем, - наприклад, якщо на комп’ютері встановлено замало пам’яті, і проблемою є зайвий поділ пам’яті на сторінки.

    fsck normally does not check whether the device actually exists before calling a filesystem specific checker. Therefore non-existing devices may cause the system to enter filesystem repair mode during boot if the filesystem specific checker returns a fatal error. The /etc/fstab mount option nofail may be used to have fsck skip non-existing devices. fsck also skips non-existing devices that have the special filesystem type auto.

-C [дескриптор-файла]
    Показувати смужки завершеності або поступу для тих засобів перевірки файлових систем (у поточній версії для ext[234]), де передбачено підтримку таких смужок. fsck керуватиме засобами перевірки файлових систем так, щоб смужку поступу одночасно було показано лише для одного засобу. Графічні оболонки можуть встановлювати дескриптор-файла. Якщо такий дескриптор встановлено, дані смужки поступу буде надіслано до файла із вказаним дескриптором.

-M
    Не перевіряти змонтовані файлові системи і повернути стан виходу 0 для змонтованих файлових систем.

-N
    Не виконувати, лише показати, які дії буде виконано.

-P
    Якщо встановлено параметр -A, перевіряти кореневу файлову систему паралельно із іншими файловими системами. Це не надто мудре рішення, оскільки якщо коренева файлова система виявиться проблемною, програми, подібні до e2fsck(8), може бути пошкоджено! Цей параметр призначено, в основному, для адміністраторів, які не бажають змінювати невеличку і компактну кореневу файлову систему (що, насправді, є правильним рішенням).

-R
    При перевірці усіх файлових систем із параметром -A пропустити кореневу файлову систему. (Корисно, якщо кореневу файлову систему вже було змонтовано для читання-запису.)

-T
    Не показувати заголовок при запуску.

-V
    Вивести докладні дані, включно з усіма специфічними для файлових систем командами, які було виконано.

-?, --help
    Вивести текст довідки і завершити роботу.

--version
    Вивести дані щодо версії і завершити роботу.

ПАРАМЕТРИ, ЯКІ Є СПЕЦИФІЧНИМИ ДЛЯ ФАЙЛОВИХ СИСТЕМ

Options which are not understood by fsck are passed to the filesystem-specific checker!

Цим параметрам не можна передавати аргументи, оскільки у fsck не зможе належним чином визначити, які параметри приймають аргументи, а які - ні.

Параметри і аргументи, які буде вказано після --, вважатимуться специфічними для файлової системи параметрами, які слід передати спеціалізованому засобу перевірки файлової системи.

Будь ласка, зауважте, що fsck не було розроблено для передавання параметрів довільної складності до спеціалізованих засобів перевірки файлових систем Якщо вам потрібно щось складне, будь ласка, віддайте безпосередню команду спеціалізованому засобу перевірки файлової системи Якщо ви передали fsck якісь дуже складні параметри і аргументи, і програма не виконує бажаних дій, не варто повідомляти про це, як про ваду. Найпевніше, ви робите щось таке, що не слід робити з fsck. Параметри різних спеціалізованих fsck для окремих файлових систем не стандартизовано.

СЕРЕДОВИЩЕ

На поведінку програми fsck впливають такі змінні середовища:

FSCK_FORCE_ALL_PARALLEL
    Якщо встановлено значення цієї змінної середовища, fsck спробує виконати перевірку усіх вказаних файлових систем паралельно, незалежно від того, чи розташовано файлові системи на тому самому пристрої. (Це корисно для систем RAID або високорівневих систем зберігання даних, зокрема систем, якими торгують компанії, подібні до IBM або EMC.) Зауважте, що значення fs_passno все одно буде використано.

FSCK_MAX_INST
    Ця змінна середовища обмежить максимальну кількість одночасно запущених засобів перевірки файлових систем. Це надасть змогу уникнути одночасного запуску надмірної кількості засобів перевірки fsck у системах із великою кількістю дисків. Одночасний запуск може призвести до перевантаження процесора і ресурсів пам’яті у системі. Якщо значенням змінної є нуль, програма зможе породжувати необмежену кількість процесів. У поточній версії це значення є типовим, але у майбутніх версіях fsck може спробувати автоматично визначити, скільки засобів перевірки може бути запущено, на основі зібраних облікових даних операційної системи.

PATH
    Для пошуку засобів перевірки файлової системи буде використано змінну середовища PATH.

FSTAB_FILE
    За допомогою цієї змінної середовища адміністратор системи може перевизначити стандартне місце зберігання файла /etc/fstab. Також ця змінна корисна для розробників, які тестують fsck.

LIBBLKID_DEBUG=all
    вмикає показ діагностичних повідомлень libblkid.

LIBMOUNT_DEBUG=all
    вмикає показ діагностичних повідомлень libmount.

ФАЙЛИ

/etc/fstab

ЗАУВАЖЕННЯ

Під час завантаження systemd не викликає fsck -A. Замість цього, програма планує активацію монтувань окремо, із врахуванням залежностей базових пристроїв, мережі та інших факторів. Потім програма викликає fsck окремо для кожного пристрою.

АВТОРИ

ТАКОЖ ПЕРЕГЛЯНЬТЕ

fstab(5), mkfs(8), fsck.ext2(8) or fsck.ext3(8) or e2fsck(8), fsck.cramfs(8), fsck.jfs(8), fsck.nfs(8), fsck.minix(8), fsck.msdos(8), fsck.vfat(8), fsck.xfs(8), reiserfsck(8)

ЯК НАДІСЛАТИ ЗВІТ ПРО ВАДИ

Для звітування щодо вад скористайтеся системою стеження за вадами -

ДОСТУП ДО ПРОГРАМИ

Програма fsck є частиною пакунка util-linux, який можна отримати з