Файловите системи на 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

За да избегнете това, демонтирайте дяла, като използвате.
# umount /dev/sdb
Тогава fsck може да се работи безопасно с.
# fsck /dev/sdb

Разбиране на 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. Изберете „Разширени опции”.

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

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

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

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

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

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