next up previous contents index
Дал╕: Перев╕рка з╕псованих блок╕в за Вгору: Файлов╕ системи Назад: Монтування та розмонтування

  
Перев╕рка ц╕л╕сност╕ файлових систем за допомогою fsck

Файлов╕ системи - дуже складн╕ створ╕ння, ╕ тому, в деякому сенс╕, вони схильн╕ до помилок. Ц╕л╕сн╕сть файлово╖ системи чи наявн╕сть в н╕й помилок можна перев╕рити за допомогою команди fsck . Команд╕ можна вказати, що вона повинна виправляти вс╕ незначн╕ помилки, як╕ вона в╕дшука╓, ╕ попереджати користувача, якщо трапляються так╕ з них, як╕ не можна виправити. На щастя, б╕бл╕отеки вживан╕ для файлових систем вже в╕длагоджен╕ досить добре, ╕ проблеми з ними трапляються досить р╕дко (або ╖х взагал╕ не бува╓). Збо╖ в файлових системах найчаст╕ше трапляються через перебо╖ в електропостачанн╕, збо╖ в ``зал╕з╕'' чи через помилки оператор╕в, як, наприклад, не вимкнена за правилами система.

Б╕льш╕сть систем виконують fsck  автоматино при старт╕ системи, так, що б╕льш╕сть помилок знаходяться (╕, дай Боже, виправляються) до того, як система почина╓ використовуватися. Використання з╕псовано╖ файлово╖ системи приводить до того, що погане ста╓ ще г╕ршим: якщо структури даних файлово╖ системи з╕псован╕, використання цих структур може т╕льки зробити ╖х ще г╕ршими, що приведе до ще б╕льших втрат даних. Але, з ╕ншого боку, повна перев╕рка файлово╖ системи на великих файлових системах за допомогою fsck  може займати досить довгий час. ╤, через те, що помилки практично н╕коли не трапляються при корректному вимкненн╕ системи, для того, щоб не затягувати час старту системи, в Л╕накс╕ вдаються до деяких хитрощ╕в. Перший трюк: якщо ╕сну╓ файл /etc/fastboot , то перев╕рка файлових систем не робиться. Другий трюк: файлова система ext2 ма╓ спец╕альний маркер, який вказу╓ на те, чи була ця файлова система в╕дмонтована в╕рно при попередньому монтуванн╕. Знаючи, що файлова система була розмонтована ``чистою'' (якщо прапорець вказу╓ на це) e2fsck  (верс╕я fsck  спец╕ал╕зована для перев╕рки файлово╖ системи ext2), може не перев╕ряти цю файлову систему. При цьому, звичайно, робиться припущення, що чисте розмонтування не приносить систем╕ проблем. Чи працю╓ перший з трюк╕в (з файлом /etc/fastboot ) на Ваш╕й систем╕ залежить в╕д стартових скрипт╕в системи, але трюк з прапорцем монтування ext2 спрацьову╓ кожного разу, коли Ви користу╓тесь e2fsck . Щоб змусити команду ╕гнорувати цей прапорець, це потр╕бно явно вказати за допомого параметра. (Детал╕ див╕ться в стор╕нц╕ п╕дказки e2fsck ).

Автоматична перев╕рка спрацьову╓ т╕льки для тих систем, як╕ монтуються автоматично при старт╕ системи. Для перев╕рки ╕нших файлових систем, як, наприклад, дискет, користуйтесь fsck , запускаючи ╖╖ вручну. 95

Якщо fsck  при перев╕рц╕ натрапля╓ на файлову систему, яку вона не може в╕дремонтувати, тр Вас може спасти т╕льки одне з двох: або глибок╕ п╕знання про будову файлових систем взагал╕ ╕ даного типу конкретно, або гарна резервна коп╕я. Друге - зробити просто, а першого Ви можете досягти за допомогою друз╕в, п╕дписно╖ групи новин та п╕дписного листа по Л╕наксу чи задопомогою ╕нших засоб╕в знаходження ╕нформац╕╖. Я хот╕в би розпов╕сти про це б╕льше, але б╕л╕ плями в осв╕т╕ та досв╕д╕ не дають мен╕ цього зробити. Програма Теодора Цо 96 debugfs  може Вам допомогти при цьому.

Користуйтеся fsck  т╕льки на розмонтованих файлових системах, н╕коли на змонтованих (за виключенням коренево╖ файлово╖ системи при старт╕, яка монту╓тся при цьому т╕льки на читання). Через те, що fsck  працю╓ з ``сирими'' розд╕лами диску, вона може зм╕нювати файлов╕ системи так, що система про це нав╕ть не здогада╓ться. А якщо операц╕йну систему дурити, то непри╓мност╕ трапляться.



Dmytro Kovalev
1999-06-10