Ремонт файловой системы UFS2
Поимел сейчас неясного происхождения баг — домашнее хранилище, организованное на основе неттопа, зависло. Система там стоит на флэшке, на винте только своп и юзерские файлы. Перезагрузил, начал чинить ошибки на файловой системе флэшки. Ну, всё как обычно:
после одного из разделов fsck доложил, что часть ошибок исправлена, но filesystem is still dirty, please rerun fsck. Я перезапустил, а в ответ мне:
ioctl (GCINFO): Inappropriate ioctl for device
fsck_ufs: /dev/da0d: can't read disk label
Хотя визуально все разделы на месте, о чём подтверждали все утилиты. Поиск по интернету конкретного рецепта не принёс, но навёл на размышления о повреждённом суперблоке. В итоге вылечил таки.
Сначала надо выяснить, где размещаются копии суперблока. Делаем раз:
/dev/da0d: 1024.0MB (2097152 sectors) block size 32768, fragment size 4096
using 4 cylinder groups of 256.03MB, 8193 blks, 32896 inodes.
super-block backups (for fsck -b #) at:
192, 524544, 1048896, 1573248
Нужно починить файловую систему с правильным суперблоком. Сделать это можно командой fsck_ffs:
Ключ -b 1573248 указывает, что нужно при ремонте ФС нужно использовать не первый суперблок, а тот, который лежит по смещению 1573248. После этого система починилась нормально.
Samba и ZFS: расширенные ACL и их правка из винды
Обзор автомобиля Opel Meriva B
Управление Hyper-V из-под обычного пользователя
Zabbix agent + SElinux = hardcore...
Unbound, DNSSEC и локальные зоны
IPsec между Linux и Windows 2012 R2
Перенос Windows XP на другую материнку
pf и ipfw одновременно — последовательность обработки пакетов