Выньте DNS из уравнения в течение минуты. Можете Вы telnet для портирования 25 из IP-адреса почтового сервера?
Вы можете fsck
файловую систему только для чтения, потому что монтирование только для чтения не помечает ее как «грязную», как при монтировании для чтения и записи. В кэше записи нет изменений, которые могут быть только частично сброшены на диск, поэтому все структуры на диске согласованы и безопасны для изменения fsck
.
Однако, если fsck
вносит какие-либо изменения, драйвер файловой системы ядра может запутаться, потому что вещи, которые он ожидал оставаться постоянными, вместо этого изменились из-под него. Это не повлияет на целостность самой файловой системы (поскольку драйвер не записывает в нее), но может сделать работающую систему нестабильной. Чтобы этого избежать, вам следует перезагрузиться, если fsck
внесет какие-либо изменения в вашу файловую систему.
Вы пробовали использовать переключатели -p
или -y
? Я всегда делаю это на безголовой машине Debian, и это работает.
Из справочной страницы fsck.ext2 :
-p Automatically repair ("preen") the file system. This option
will cause e2fsck to automatically fix any filesystem problems
that can be safely fixed without human intervention. If e2fsck
discovers a problem which may require the system administrator
to take additional corrective action, e2fsck will print a
description of the problem and then exit with the value 4 logi-
cally or'ed into the exit code. (See the EXIT CODE section.)
This option is normally used by the system's boot scripts. It
may not be specified at the same time as the -n or -y options.
-y Assume an answer of `yes' to all questions; allows e2fsck to be
used non-interactively. This option may not be specified at the
same time as the -n or -p options.
Помните, что вы должны перезагрузиться перед повторным монтированием чтения-записи!
Раньше я работал над проектом типа "устройство", поэтому я сделал несколько вещей, которые частично позволяют решить эту проблему.
У одного устройства было достаточно памяти, поэтому корневая файловая система запускалась непосредственно из initrd. У initrd было достаточно fsck (force), затем смонтировать «/ mounts / persistent» и «/ mount / static»; почти все файлы, необходимые после этого, находились в одной из этих двух файловых систем.
Это имело то преимущество, что корневая файловая система никогда не нуждалась в «исправлении» - если что-то пойдет не так, она перезагрузится, и initrd станет чистым (поскольку тот используемый не был на диске). Все обновления initrd были просто установлены (предыдущие были доступны для загрузки); любые файлы, не относящиеся к исходной "статике", необходимые после "обновления прошивки" (= новый initrd), с этого момента перешли на initrd. «Статическая» файловая система в любом случае была доступна только для чтения. Требовалось создать резервную копию только постоянной файловой системы и «текущей версии прошивки». У меня были копии всех прошивок до их отправки.