FSCK(8) | Керування системою | FSCK(8) |
fsck — перевірка і виправлення файлової системи Linux
fsck [-lsAVRTMNP] [-r [дескриптор-файла]] [-C [дескриптор-файла]] [-t тип-файлової-системи] [файлова-система...] [--] [специфічні-для-файлової-системи-параметри]
fsck використовують для перевірки і, якщо потрібно, виправлення однієї або декількох файлових систем Linux. Параметром файлова-система може бути назва пристрою (наприклад /dev/hdc1, /dev/sdb2), точка монтування (наприклад /, /usr, /home) або мітка файлової системи або специфікатор UUID (наприклад UUID=8868abf6-88c5-4a83-98b8-bfc24057f7bd або LABEL=root). Зазвичай, програма fsck намагатиметься обробляти файлові системи на різних фізичних дисках паралельно, щоб зменшити загальну тривалість перевірки усіх цих систем.
Якщо у рядку команди не вказано файлової системи і не вказано параметр -A, fsck, типово, перевіряє файлові системи у /etc/fstab послідовно. Це еквівалент параметрів -As.
Стан виходу, який буде повернуто fsck, є сумою таких умов:
0
1
2
4
8
16
32
128
Стан виходу, який буде повернуто при перевірці декількох файлових систем, є побітовим АБО станів виходу для кожної перевіреної файлової системи.
Насправді, fsck є простою оболонкою для різноманітних засобів перевірки файлових систем (fsck.тип-файлової-системи), які доступні у Linux. Пошук засобів перевірки специфічних файлових систем відбуватиметься у каталогах змінної середовища PATH. Якщо значення PATH не визначено, резервним варіантом буде /sbin.
Докладніший опис можна знайти на сторінках підручника для специфічних для файлових систем засобів перевірки.
-l
-r [дескриптор-файла]
/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
-t список-файлових-систем
До списку відокремлених комами значень список-файлових-систем може бути включено специфікатори параметрів. Їх слід вказувати у форматі opts=параметри-файлової-системи. Якщо вказано специфікатор параметрів, буде виконано перевірку лише файлових систем, які містять запис параметр-файлової-системи у полі параметрів /etc/fstab. Якщо до специфікатора параметрів додано префікс — оператор заперечення, — буде виконано перевірку лише тих файлових систем, які не місять запису параметр-файлової-системи у полі параметрів монтування /etc/fstab.
Наприклад, якщо буде виявлено opts=ro в аргументі список-файлових-систем, буде перевірено лише ті файлові системи зі списку /etc/fstab, для яких використано параметр ro.
Для забезпечення сумісності із дистрибутивами Mandrake, де скрипти завантаження залежать від неуповноваженої зміни інтерфейсу програми fsck, якщо буде знайдено тип файлової системи loop у аргументі список-файлових-систем, обробка відбуватиметься так, наче було вказано opts=loop, як аргумент параметра -t.
Зазвичай, тип файлової системи визначається шляхом пошуку аргументу файлова-система у файлі /etc/fstab із наступним використанням відповідного запису. Якщо тип не вдалося визначити, і вказано лише один аргумент файлової системи у параметрі -t, fsck використовуватиме вказаний тип файлової системи. Якщо засобів для цього типу не буде знайдено, буде використано стандартний тип файлової системи (у поточній версії ext2).
-A
Першою буде перевірено кореневу файлову систему, якщо не вказано -P (див. нижче). Потім буде перевірено файлові системи у порядку, вказаному у полі fs_passno (шостому полі) у файлі /etc/fstab. Файлові системи зі значенням fs_passno 0 буде пропущено, програма їх взагалі не перевірятиме. Файлові системи із значенням fs_passno, яке є більшим за нуль, буде перевірено за вказаним порядком, першими буде перевірено файлові системи із найменшими значеннями fs_passno. Якщо однакове число буде використано для декількох файлових систем, fsck спробує перевірити їх паралельно, хоча програма уникатиме паралельної обробки декількох файлових систем на одному фізичному диску.
fsck не перевірятиме паралельно стосові пристрої (RAID, dm-crypt...) на будь-якому іншому пристрої. Див. параметр FSCK_FORCE_ALL_PARALLEL нижче. Для визначення залежностей між пристроями буде використано файлову систему /sys.
Отже, дуже поширеною є конфігурацію у файлах /etc/fstab є встановлення для кореневої файлової системи значення fs_passno 1 і встановлення для усіх інших файлових систем значення fs_passno 2. Це уможливлює для fsck автоматичний паралельний запуск засобів перевірки файлових систем, якщо у цьому є переваги. Адміністратори системи можуть наказати програмі не використовувати цю конфігурацію, якщо потрібно з певних причин уникати паралельного запуску декількох перевірок файлових систем, — наприклад, якщо на комп'ютері встановлено замало пам'яті, і проблемою є зайвий поділ пам'яті на сторінки.
Зазвичай, fsck не виконує перевірки того, чи насправді існує пристрій, перед викликом спеціалізованого засобу перевірки файлової системи. Тому файлові системи, яких не існує, можуть спричинити вхід системи у режимі виправлення файлових систем під час завантаження, якщо спеціалізований засіб перевірки файлової системи поверне критичну помилку. Параметром монтування у /etc/fstab nofail можна скористатися для виключення у fsck пристроїв, яких не існує. fsck також пропустить пристрої, яких не існує, які належать до особливого типу файлової системи auto.
-C [дескриптор-файлів]
-M
-N
-P
-R
-T
-V
-?, --help
--version
Параметри, які не буде розпізнано fsck, буде передано до спеціалізованого засобу перевірки файлової системи!
Цим параметрам не можна передавати аргументи, оскільки у fsck не зможе належним чином визначити, які параметри приймають аргументи, а які — ні.
Параметри і аргументи, які буде вказано після --, вважатимуться специфічними для файлової системи параметрами, які слід передати спеціалізованому засобу перевірки файлової системи.
Будь ласка, зауважте, що fsck не було розроблено для передавання параметрів довільної складності до спеціалізованих засобів перевірки файлових систем. Якщо вам потрібно щось складне, будь ласка, віддайте безпосередню команду спеціалізованому засобу перевірки файлової системи. Якщо ви передали fsck якісь дуже складні параметри і аргументи, і програма не виконує бажаних дій, не варто повідомляти про це, як про ваду. Найпевніше, ви робите щось таке, що не слід робити з fsck. Параметри різних спеціалізованих fsck для окремих файлових систем не стандартизовано.
На поведінку програми fsck впливають такі змінні середовища:
FSCK_FORCE_ALL_PARALLEL
FSCK_MAX_INST
PATH
FSTAB_FILE
LIBBLKID_DEBUG=all
LIBMOUNT_DEBUG=all
/etc/fstab
Theodore Ts’o <tytso@mit.edu>>, Karel Zak <kzak@redhat.com>
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)
Для звітування про вади використовуйте систему стеження помилками на <https://github.com/util-linux/util-linux/issues>.
fsck є частиною пакунка util-linux, який можна отримати з Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.
Український переклад цієї сторінки посібника виконано Yuri Chornoivan <yurchor@ukr.net>
Цей переклад є безкоштовною документацією; будь ласка, ознайомтеся з умовами GNU General Public License Version 3. НЕ НАДАЄТЬСЯ ЖОДНИХ ГАРАНТІЙ.
Якщо ви знайшли помилки у перекладі цієї сторінки підручника, будь ласка, надішліть електронний лист до списку листування перекладачів: trans-uk@lists.fedoraproject.org.
11 травня 2022 року | util-linux 2.38.1 |