LINUX.ORG.RU

reiserfsck при загрузке


0

0

На фс есть ошибки, никакой проверки не запускается, как на ext2-3! Если нельзя сделать автоматом, как хотябы из ком. строки лило параметром это указать? Сенкс


reiser точно так же проверяется при запуске, как и другие файловые системы. Однако reiserfsck не принимает ключ -f, поэтому сценарии init зачастую не могут проверить раздел reiserfs при загрузке. Простейшим решением является создать вместо символьной ссылки /sbin/fsck.reiserfs сценарий котрый при запуске с ключом -f будет выполнять команду echo Yes | /sbin/reiserfsck. Пример сценария (форматирование не сохраняю, потому что он достаточно длинный и без того и, собственно, никому не интересен): #!/bin/bash force=0 options="" while getopts "flbcxoqnVapr" opt do case $opt in f) force=1;; *) options="$options""$opt";; esac done shift $(($OPTIND - 1)) if [[ "$options" != "" ]]; then options="-""$options" fi if (( $force )); then echo Yes | /sbin/reiserfsck $options $@ else /sbin/reiserfsck $options $@ fi

anonymous
()

Ээээ...

/sbin/fsck.reiserfs illegal option -- y

Если можно, с форматированием...

XMASTER
() автор топика

Не хотелось мне это посылать, но по просьбам трудящихся:

#!/bin/bash
force=0
options=""
while getopts "flbcxoqnVapr" opt
do
case $opt in
f) force=1;;
*) options="$options""$opt";;
esac
done
shift $(($OPTIND - 1))
if [[ "$options" != "" ]]; then
options="-""$options"
fi
if (( $force )); then
echo Yes | /sbin/reiserfsck $options $@
else
/sbin/reiserfsck $options $@
fi

Сразу предупреждаю -- можно (и нужно) написать короче и лучше. Это было написано в состоянии сильного алкогольного опьянения левой ногой за 3 минуты когда я столкнулся с той же проблемой, что и автор исходного вопроса.

anonymous
()

Вот в том то и дело, что не работает! Ему поступает аргумент у, который прога не понимает...

XMASTER
() автор топика

Вот объясните мне дураку такую простую весч: КАК утилита reiserfsck может восстановить root fs (/), если для этого эта фс должна быть полностью размонтирована??? Даже в read-only она этого делать не может! Тогда в каком же случае root fs может быть не смонтирована? Или разработчик этого не предусмотрел?

XMASTER
() автор топика

Какая проблема? Заменяешь
"y" в строчку для getopts (будет while getopts "flbcxoqnVapry" opt
и в case вариант

y) force=1;;

и все работает

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.