Unexpected soft update inconsistence. The following disk blocs could not be read.
Просто задрали доблестные электрики. Выключают электричество по пять раз на дню. После одного из выключений машина выпала в однопользовательский режим по причине неполадок с файловой системой корневого раздела. fsck выдал следующую ошибку:
Unexpected soft update inconsistence. The following disk blocs could not be read.
После этого сообщение «file system still dirty» и предложение перезапустит fsck, что приводит к тому же результату.
Я взрустнул, ибо такое сообщение вполне может говорить о бэд блоке на совершенно новом террабайтнике. Однако, взгрустнул не сильно, ибо скорее всего просто электричество вырубили в момент записи в этот блок и то, что там написано не совпадает с чексуммой блока. Потыкал этот блок викторией — все отлично читается, то есть дело в софте. Но, блин, fsck наотрез отказывается править диск. Полез в гугл, начитался, что люди советуют сдампить содержание диска, пересоздать раздел и восстановить туда содержимое. Ага, это путь истинного самурая, хорошо, рут — 8 гиг, а если раздел террабайтный? В общем, это решение мне не улыбнулось, поэтому я загрузился с загрузочной флжшки с дистрибутивом FreeBSD, прогнал оттуда битый раздел fsck, он нашел и исправил ошибку, но грохнул лэйбл раздела. Благо, это не сложно восстановить:
#glabel label root /dev/ada0p3
и все починилось :)
> загрузился с загрузочной флжшки с дистрибутивом FreeBSD,> прогнал оттуда
битый раздел fsck, он нашел и исправил ошибку,Т.е. загружающаяся с битого диска фряха не могла свой диск исправить и я так понял, что потребовалось битый диск проверять системой, которая грузится не с него, например, подключить битый диск к другой фряхе на другом компе — и диск тоже исправился бы.> но грохнул лэйбл разделаКак ты увидел, что лэйбл грохнулся? Фсцк про него чё-то страшное написала?И кто мне простыми словами объяснит — что такое label в FreeBSD?В Досе-то было просто: label — это просто метка диска, предназначенная просто для придачи какого-то названия ему. А в FreeBSD — что такое label?
Ди, Видимо, именно так, надо было лечить с другой системы.
У меня разделы смонтированы по именам (лейблам). Соответственно, после ребута рут не смонтировался, так что трудно было не заметить.
Выглядит в fstab вот так:
/dev/label/root / ufs rw 1 1
/dev/label/swap none swap sw 0 0
/dev/label/tmp /tmp ufs rw 2 2
/dev/label/var /var ufs rw 2 2
/dev/label/usr /usr ufs rw 2 2
лейблы — буквально имена разделов. Для монтирования очень удобно, если переткнул по какой-то причине диск в другой разъем, то его именование в /dev съедет, а лейбл не изменится и монтирование при загрузке не обломается.