Как да използвате ‘fsck’ за поправка на грешки във файловата система на Linux

Сподели

Файловите системи на Linux са отговорни за организирането на това как данните се съхраняват и възстановяват. По един или друг начин, с времето файловата система може да се повреди и определени части от нея да не са достъпни. Ако вашата файлова система развие такова несъответствие, се препоръчва да проверите нейната цялост.

Това може да се извърши чрез системна помощна програма, наречена fsck (проверка на последователността на файловата система), който проверява основната файлова система автоматично по време на зареждане или се изпълнява ръчно.

В тази статия ще прегледаме fsck команда и използването му, за да ви помогне да поправите грешки в диска на Linux.

Кога да използвате командата fsck в Linux

Има различни сценарии, когато ще искате да бягате fsck. Ето няколко примера:

  • Системата не се зарежда.
  • Файловете в системата се повреждат (често може да видите входно/изходна грешка).
  • Прикрепеното устройство (включително флаш устройства/SD карти) не работи според очакванията.

Опции на командата fsck

The fsck команда трябва да се стартира с привилегии на суперпотребител или корен. Можете да го използвате с различни аргументи. Използването им зависи от конкретния случай. По-долу ще видите някои от по-важните опции:

  • -A – Използва се за проверка на всички файлови системи. Списъкът е взет от /etc/fstab.
  • -C – Показване на лентата за прогрес.
  • -l – Заключва устройството, за да гарантира, че никоя друга програма няма да се опита да използва дяла по време на проверката.
  • -M – Не проверявайте монтирани файлови системи.
  • -N – Покажете само какво ще бъде направено – не се правят реални промени.
  • -P – Ако искате да проверите паралелно файловите системи, включително root.
  • -R – Не проверявайте основната файлова система. Това е полезно само с “-A‘.
  • -r – Предоставяне на статистика за всяко устройство, което се проверява.
  • -T – Не показва заглавието.
  • -t – Изключително посочете типовете файлови системи на Linux, които да бъдат проверени. Типовете могат да бъдат списъци, разделени със запетая.
  • -V – Дайте описание на това, което се прави.

Изпълнете командата fsck, за да поправите грешки на файловата система на Linux

За да бягате fsck, ще трябва да се уверите, че дялът, който ще проверявате, не е монтиран. За целите на тази статия ще използвам второто си устройство /dev/sdb монтиран в /mnt.

Ето какво се случва, ако се опитам да избягам fsck когато дялът е монтиран.

# fsck /dev/sdb
Стартирайте fsck на монтиран дял
Стартирайте fsck на монтиран дял

За да избегнете това, демонтирайте дяла, като използвате.

# umount /dev/sdb

Тогава fsck може да се работи безопасно с.

# fsck /dev/sdb
Стартирайте fsck на Linux дял
Стартирайте fsck на Linux дял

Разбиране на fsck изходните кодове

След бягане fsck, той ще върне код за изход. Тези кодове могат да се видят в ръководството на fsck, като се изпълни:

# man fsck

0      No errors
1      Filesystem errors corrected
2      System should be rebooted
4      Filesystem errors were left uncorrected
8      Operational error
16     Usage or syntax error
32     Checking canceled by user request
128    Shared-library error            

Fsck Поправка на файловата система на Linux

Понякога повече от една грешка могат да бъдат намерени във файлова система. В такива случаи може да искате fsck за автоматичен опит за коригиране на грешките. Това може да стане с:

# fsck -y /dev/sdb

The -y флаг, автоматично “yes” към всякакви подкани от fsck за коригиране на грешка.

По същия начин можете да стартирате същото на всички файлови системи (без корен):

$ fsck -AR -y 

Как да стартирате fsck на основния дял на Linux

В някои случаи може да се наложи да бягате fsck на корен дял на вашата система. Тъй като не можете да бягате fsck докато дялът е монтиран, можете да опитате една от следните опции:

  • Принудително fsck при зареждане на системата
  • Стартирайте fsck в режим на спасяване

Ще разгледаме и двете ситуации.

Принудително fsck при зареждане на системата

Това е относително лесно за изпълнение, единственото нещо, което трябва да направите, е да създадете файл, наречен forcefsck в основния дял на вашата система. Използвайте следната команда:

# touch /forcefsck

След това можете просто да принудите или да планирате рестартиране на вашата система. По време на следващото стартиране, the fsck ще бъдат изпълнени. Ако времето на престой е критично, препоръчително е да планирате това внимателно, тъй като ако във вашата система има много използвани inodes, fsck може да отнеме допълнително време.

След като системата ви се зареди, проверете дали файлът все още съществува:

# ls /forcefsck

Ако се случи, може да искате да го премахнете, за да избегнете fsck при всяко зареждане на системата.

Стартирайте fsck в спасителен режим

бягане fsck в спасителен режим изисква още няколко стъпки. Първо, подгответе вашата система за рестартирайте. Спрете всякакви критични услуги като MySQL/MariaDB и т.н. и след това въведете.

# reboot

По време на зареждане задръжте натиснат shift клавиш, така че да се покаже менюто grub. Изберете „Разширени опции”.

Предварителни опции на Grub
Разширени опции на Grub

След това изберете „Режим на възстановяване”.

Изберете режим на възстановяване на Linux
Изберете режим на възстановяване на Linux

В следващото меню изберете „fsck”.

Изберете fsck Utility
Изберете fsck Utility

Ще бъдете попитани дали желаете да имате своя / файловата система е премонтирана. Изберете “yes”.

Потвърдете основната файлова система
Потвърдете основната файлова система

Трябва да видите нещо подобно на това.

Изпълнява се проверка на файловата система fsck
Изпълнява се проверка на файловата система fsck

След това можете да възобновите нормалното зареждане, като изберете “Продължи”.

Изберете Нормално зареждане
Изберете Нормално зареждане
Заключение

В този урок научихте как да използвате fsck и да изпълнявате проверки за последователност на различни файлови системи на Linux. Ако имате въпроси относно fsckмоля, не се колебайте да ги изпратите в секцията за коментари по-долу.

Публикациите се превеждат автоматично с google translate

Loading


Сподели