Як автоматично змусити fsck диски після збоїв в `systemd`?


18

Як налаштувати systemdавтоматичну примусову fsckдіску після аварії (жорсткий ресурс)?

Коли я використовував sysvinit(в Arch Linux) як /sbin/initмій хак: у rc.localствореному /forcefsckфайлі; в rc.local.shutdownI видаляю його. Під час завантаження rc.sysinitувімкніть силу fsck, якщо вона /forcefsckіснує.

Як це зробити в systemd? Може бути, він має вбудовані засоби для автоматичного fsckпісля розчавлення?


Відповіді:


20

Ви можете примусити fsckпід час завантаження, передаючи fsck.mode=force( autoза замовчуванням і skipможе бути використаний для пропускання перевірки взагалі) як параметр командного рядка ядра (станом на systemdv. 213 , є також другий параметр: fsck.repair- керувати тим fsck, як працювати з нечистими файловими системами при завантаженні; можливі значення: preenвиправити те, що можна безпечно виправити, yesвідповісти "так" на всі запитання та noза замовчуванням).


Зауважте, що systemd-fsck не відомо жодних деталей щодо конкретних файлових систем і просто виконується перевірка файлової системи, характерна для кожного типу файлової системи ( /sbin/fsck.*) .
Тепер, якщо ваша файлова система xfsабо btrfsвона буде виконувати /sbin/fsck.xfsабо /sbin/fsck.btrfsвідповідно. Якщо це, здається, не працює, можливо, ви повинні перевірити сторінку керівництва fsck.xfsабо, fsck.btrfsвідповідно, вивчити вміст цих файлів у /sbin.


1
Наприклад, з Grub: редагуйте /etc/default/grub, а потім додайте fsck.mode=forceдо значення GRUB_CMDLINE_LINUX_DEFAULT. Потім біжіть update-grubі reboot.
Іван

2
не працює для xfs btw. але ей. це майбутнє.
Флоріан Хейгл
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.