Я работаю с безвентиляторным ПК (на самом деле их сотни) с разделами Debian 6 и 3 (FAT и 2x ext2). Система не имеет кнопки питания как таковой, поэтому большинство людей склонны дергать вилку, чтобы «выключить ее», а не init 0 (или эквивалентный). В результате файловая система (ы) накапливает ошибки довольно быстро.
Я пытался использовать 'shutdown -rF' для принудительного запуска fsck, но это, похоже, не работает. Мне интересно, есть ли какой-нибудь способ сказать системе проверять каждую точку монтирования / FS перед их монтированием.
Я попытался установить параметр fsck в / etc / fstab. Это обычно дает мне 'Обнаружены ошибки. Запустите fsck вручную 'сообщение.
Есть ли другие варианты, чтобы попробовать?
Ответы:
В
/etc/init.d/checkfs.sh
это линияif [ -f /forcefsck ] || grep -s -w -i "forcefsck" /proc/cmdline
, обеспечивая таким образомforcefsck
в командной строке ядра или генерации/forcefsck
файла на остановке должен вызвать FSCK при следующей перезагрузке.Чтобы предотвратить запуск fsck вручную, попросите
fsck
попытаться автоматически исправить ошибки с помощью-y
опции, раскомментировав и изменив noyes
на следующую запись / etc / default / rcS, после редактирования она должна выглядеть следующим образом:Одна опция (forcefsck или FSCKFIX) не подразумевает другую.
источник
checkfs.sh
. Ни в одном из случаев fsck не запускался при перезагрузке (через init 6). Я должен что-то здесь упустить.checkfs.sh
, только отредактируйте / etc / defaults / rcS и запуститеtouch /forcefsck
перед перезагрузкой. Последняя команда должна выполняться перед каждым перезапуском или сразу после загрузки, но сценарий инициализации fsck завершен.Добавьте
fsck.mode=force
параметр Kernel в ваш загрузчик. Добавьте эту опцию кGRUB_CMDLINE_LINUX_DEFAULT=
переменной внутри/etc/default/grub
. В качестве пользователя root создайте новый файл конфигурации grub:[root@host]# grub-mkconfig -o /boot/grub/grub.cfg
Этот параметр имеет тот же эффект, что и создание
forcefsck
файла внутри корня точки монтирования.Решение использовать
checkfs.sh
скрипт лучше подходит для Debian, но не должно работать на других дистрибутивах.источник
Я редактирую свой ответ:
Команда:
в соответствии с аргументом manpages -c для tune2fs подсчитывает количество экземпляров монтирования для раздела. Следовательно, 1 заставляет проверять fs после каждого экземпляра монтирования.
( http://man7.org/linux/man-pages/man8/tune2fs.8.html )
источник