[FreeBSD] Восстановить /var

Rico

Есть такая проблема. Недавно прихожу домой, и вижу, что у меня FreeBSD в однопользовательском режиме,и красные сообщения kernel появляются целыми пачками - что-то случилось с ad0s1d (это директория /var) и там какие-то ошибки, что-то не может прочитать и т.п. Точно сейчас не могу написать, что там было, но /var сталапочти полностью неработоспособной со всеми вытекающими последствиями.
Отсюда появились догадки, либо что-то с жестким диском (очень боялся, что кластеры повредились либо кто-то по сети постарался (не знаю каким образом).
Чтобы восстановить рабочее состояние BSD, я удалил полностью /var и создал ее заново через загрузочный диск. Теперь-то система работает, но некоторые приложения и программы отказываются запускаться, например samba, mpd4, mysql, apache... Не работают даже после переустановки.
У кого-нибудь есть идеи, как вернуть все на свои места?
В том числе и /var/db иначе "не работает" portupgrade должным образом.
Thanks in advance!

krishtaf

ты тормоз
прежде что-нибудь удалять нужно хотябы прочитать что пишет система.
Скорее всего утебя на /var кончилось место, либо нужно было прогнать fsck.
теперь у тебя portupgrade не заработает. для других приложений нужно создать log-файлы.

Rico

там места было дофига!
я и после этого проверял
fsck делал, но безрезультатно

Marinavo_0507

> У кого-нибудь есть идеи, как вернуть все на свои места?
Восстановить из резервной копии, которую ты заблаговременно сделал.

sergey_m

Что значит создал заново? Там все каталоги, которые должны быть есть? Теперь тебе надо переставить все порты, которые стояли. Во-первых для того, чтобы они работали, во-вторых для того, что бы они в /var/db/pkg зарегистрировались.

Rico

PS я все-таки поспешил, наверное, и неправильно сделал, что потер старый /var
а с другой стороны, почему эта фигня произошла, когда комп был в idle-режиме и за ним никто не работал. Ведь несколько месяцев все работало отлично! А тут на ровном месте... Все же надеюсь, что диск физически в порядке
А можно как-нибудь автоматически сделать, чтобы информация об установленных портах записалась в /var/db/pkg?

sergey_m

я все-таки поспешил, наверное, и неправильно сделал, что потер старый /var
Ага.
а с другой стороны, почему эта фигня произошла, когда комп был в idle-режиме и за ним никто не работал. Ведь несколько месяцев все работало отлично! А тут на ровном месте... Все же надеюсь, что диск физически в порядке
Этого уже никто никогда не узнает, т.к. ты не процитировал что было написано.
А можно как-нибудь автоматически сделать, чтобы информация об установленных портах записалась в /var/db/pkg?
Нет, если бы это было возможно, то /var/db/pkg был бы не нужен

Rico

я месяц назад клонировал свою BSD на другой жесткий диск,
отличия уже появились, но не глобальные, так как я очень мало работал со вторым диском
может стоить попробовать восстановить данные со старого backup'а?
Тогда вопрос, можно ли перезаписать все, что есть в /var или лучше сделать заменить только часть, напр. /var/db/pkg и др.?

sergey_m

Можно воспользоваться старыми данными. Желательно сбэкапить текущие, чтобы потом не жалеть второй раз.

Rico

одно из сообщений, которые появлялись, было вот таким:
ad0:g_vfc_done:ad0s1d[WRITE(offset=1156251648, length=16384)]error = 6
у меня пока инета нет, потом проверю, что это такое могло быть...

sergey_m

> ad0:g_vfc_done:ad0s1d[WRITE(offset=1156251648, length=16384)]error = 6
Ага, только g_vfs_done. Это означает что твой винчестер исчез, отвалился, испарился. Проверь хорошо ли сидит SATA разъём, проверь питание. Если будет повторяться, то меняй винчестер.
Оставить комментарий
Имя или ник:
Комментарий: