FSCK(8) | Керування системою | FSCK(8) |
fsck - перевірка і виправлення файлової системи Linux
fsck [-lsAVRTMNP] [-r [дескриптор-файла]] [-C [дескриптор-файла]] [-t тип-файлової-системи] [файлова-система...] [--] [специфічні-для-файлової-системи-параметри]
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
-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=параметри-файлової-системи. Якщо вказано специфікатор параметрів, буде виконано перевірку лише файлових систем, які містять запис I<параметр-файлової-системи> у полі параметрів /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) або fsck.ext3(8) або 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 <https://www.kernel.org/pub/linux/utils/util-linux/>.
2024-12-05 | util-linux 2.39.3 |