ћерион Ќетворкс

8 минут чтени€

”тилита Linux fsck (File System Consistency Check - проверка согласованности файловой системы) провер€ет файловые системы на наличие ошибок или нерешенных проблем. »нструмент используетс€ дл€ исправлени€ потенциальных ошибок и создани€ отчетов.

Ёта утилита по умолчанию входит в состав дистрибутивов Linux. ƒл€ использовани€ fsck не требуетс€ никаких специальных шагов или процедуры установки. ѕосле загрузки терминала вы готовы использовать функции инструмента.

—ледуйте этому руководству, чтобы узнать, как использовать fsck дл€ проверки и восстановлени€ файловой системы на Linux-машине. ¬ руководстве будут перечислены примеры того, как использовать инструмент и дл€ каких вариантов использовани€.

–уководство по команде fsck дл€ проверки и восстановлени€ файловой системы

 огда использовать fsck в Linux

»нструмент fsck можно использовать в различных ситуаци€х:

  • »спользуйте fsck дл€ запуска проверки файловой системы в качестве профилактического обслуживани€ или при возникновении проблемы с вашей системой.
  • ќдна из распространенных проблем, которые может диагностировать fsck, - это когда система не загружаетс€.
  • ƒругой - когда вы получаете ошибку ввода/вывода, когда файлы в вашей системе станов€тс€ поврежденными.
  • ¬ы также можете использовать утилиту fsck дл€ проверки состо€ни€ внешних накопителей, таких как SD-карты или USB-накопители.

Ѕазовый синтаксис fsck

Ѕазовый синтаксис утилиты fsck следует этому шаблону:

fsck <options> <filesystem>

¬ приведенном выше примере файловой системой может быть устройство, раздел, точка монтировани€ и так далее. ¬ы также можете использовать параметры, относ€щиес€ к файловой системе, в конце команды.


 ак проверить и восстановить файловую систему

ѕеред проверкой и восстановлением файловой системы необходимо выполнить несколько шагов. ¬ам нужно найти устройство и размонтировать его.


ѕросмотр подключенных дисков и разделов

„тобы просмотреть все подключенные устройства в вашей системе и проверить расположение диска, используйте один из доступных инструментов в Linux.

ќдин из способов найти диск, который вы хотите просканировать, - это перечислить диски файловой системы с помощью команды df:

df -h
df -h

»нструмент показывает использование данных в вашей системе и файловых системах. ќбратите внимание на диск, который вы хотите проверить, с помощью команды fsck.

Ќапример, дл€ просмотра разделов вашего первого диска используйте следующую команду:

sudo parted /dev/sda 'print'

sda - это то, как Linux относитс€ к вашему первому SCSI-диску. ≈сли у вас два, вторым будет sdb и так далее.

¬ нашем примере мы получили один результат, поскольку на этой виртуальной машине был только один раздел. ¬ы получите больше результатов, если у вас будет больше разделов.

sudo parted /dev/sda 'print'

»м€ диска здесь /dev/sda, а затем количество разделов отображаетс€ в столбце Number. ¬ нашем случае это один: sda1.


–азмонтировать диск

ѕрежде чем вы сможете запустить проверку диска с помощью fsck, вам необходимо отключить диск или раздел. ≈сли вы попытаетесь запустить fsck на смонтированном диске или разделе, вы получите предупреждение:

aborting

ќб€зательно выполните команду размонтировани€:

sudo umount /dev/sdb

«амените /dev/sdb устройством, которое вы хотите размонтировать.

ќбратите внимание, что вы не можете размонтировать корневые файловые системы. —ледовательно, теперь fsck нельз€ использовать на работающей машине. ѕодробнее об этом в конце руководства.


«апустить fsck дл€ проверки ошибок

“еперь, когда вы отключили диск, вы можете запустить fsck. „тобы проверить второй диск, введите:

sudo fsck /dev/sdb
sudo fsck /dev/sdb

¬ приведенном выше примере показан результат дл€ чистого диска. ≈сли на вашем диске имеетс€ несколько проблем, дл€ каждой из них по€вл€етс€ запрос, в котором вы должны подтвердить действие.

 од выхода, который возвращает утилита fsck, представл€ет собой сумму этих состо€ний:

 оды

—монтировать диск

 огда вы закончите проверку и ремонт устройства, смонтируйте диск, чтобы вы могли использовать его снова.

¬ нашем случае мы перемонтируем SDB-диск:

mount /dev/sdb

—делать пробный запуск с fsck

ѕеред выполнением проверки в реальном времени вы можете выполнить тестовый запуск с помощью fsck. ѕередайте параметр -N команде fsck, чтобы выполнить тест:

sudo fsck -N /dev/sdb

Ќа выходе печатаетс€, что могло бы произойти, но не выполн€етс€ никаких действий.


јвтоматическое исправление обнаруженных ошибок с помощью fsck

„тобы попытатьс€ устранить потенциальные проблемы без каких-либо запросов, передайте параметр -y команде fsck.

sudo fsck -y / dev / sdb

“аким образом, вы говорите Ђда, попытайтесь исправить все обнаруженные ошибкиї без необходимости каждый раз получать запрос.

≈сли ошибок не обнаружено, результат будет таким же, как и без опции -y.


ѕропускать восстановление, но выводить ошибки fsck на выходе

»спользуйте параметр -n, если вы хотите проверить потенциальные ошибки в файловой системе, не исправл€€ их.

” нас есть второй диск sdb с некоторыми ошибками журнала. ‘лаг -n печатает ошибку, не исправл€€ ее:

sudo fsck -n /dev/sdb
sudo fsck -n /dev/sdb

«аставить fsck выполнить проверку файловой системы

 огда вы выполн€ете fsck на чистом устройстве, инструмент пропускает проверку файловой системы. ≈сли вы хотите принудительно проверить файловую систему, используйте параметр -f.Ќапример:

sudo fsck -f /dev/sdb
sudo fsck -f /dev/sdb

ѕри сканировании будут выполнены все п€ть проверок дл€ поиска повреждений, даже если будет обнаружено, что проблем нет.


«апустить fsck сразу дл€ всех файловых систем

≈сли вы хотите выполнить проверку всех файловых систем с помощью fsck за один раз, передайте флаг -A. Ёта опци€ будет проходить через файл etc/fstab за один проход.

ѕоскольку корневые файловые системы нельз€ размонтировать на работающей машине, добавьте параметр -R, чтобы пропустить их:

fsck -AR

„тобы избежать запросов, добавьте параметр -y, о котором мы говорили.


ѕропустить проверку fsck в определенной файловой системе

≈сли вы хотите, чтобы fsck пропустил проверку файловой системы, вам нужно добавить -t и no перед файловой системой.

Ќапример, чтобы пропустить файловую систему ext3, выполните эту команду:

sudo fsck -AR -t noext3 -y

ћы добавили -y, чтобы пропускать запросы.


ѕропустить Fsck в подключенных файловых системах

„тобы убедитьс€, что вы не пытаетесь запустить fsck на смонтированной файловой системе, добавьте параметр -M. Ётот флаг указывает инструменту fsck пропускать любые смонтированные файловые системы.

„тобы показать вам разницу, мы запустим fsck на sdb, пока он смонтирован, а затем, когда мы его размонтируем.

sudo fsck -M /dev/sdb
sudo fsck -M /dev/sdb

ѕока sdb смонтирован, инструмент выходит без проверки. «атем мы размонтируем sdb и снова запускаем ту же команду. Ќа этот раз fsck провер€ет диск и сообщает, что он чистый или с ошибками.

ѕримечание. „тобы удалить первую строку заголовка инструмента fsck Ђfsck from util-linux 2.31.1ї, используйте параметр -T.

«апустить fsck в корневом разделе Linux

 ак мы уже упоминали, fsck не может проверить корневые разделы на работающей машине, поскольку они смонтированы и используютс€. ќднако даже корневые разделы Linux можно проверить, если вы загрузитесь в режиме восстановлени€ и запустите проверку fsck:

1. ƒл€ этого включите или перезагрузите компьютер через графический интерфейс или с помощью терминала:

sudo reboot

2. Ќажмите и удерживайте клавишу Shift во врем€ загрузки. ѕо€витс€ меню GNU GRUB.

3. ¬ыберите Advanced options for Ubuntu (ƒополнительные параметры дл€ Ubuntu).

Advanced options for Ubuntu

4. «атем выберите запись с (recovery mode - режим восстановлени€) в конце. ѕодождите, пока система загрузитс€ в меню восстановлени€.

5. ¬ыберите fsck в меню.

fsck

6. ѕодтвердите, выбрав Yes в ответ на запрос.

Yes

7. ѕо завершении выберите resume в меню восстановлени€, чтобы загрузить машину.


„то делать, если fsck прерываетс€?

¬ам не следует прерывать работу инструмента fsck, пока он работает. ќднако, если процесс будет прерван, fsck завершит текущую проверку, а затем остановитс€.

≈сли утилита обнаружила ошибку во врем€ проверки, она не будет пытатьс€ что-либо исправить, если ее прервать. ¬ы можете повторно запустить проверку в следующий раз и дождатьс€ ее завершени€.


ќбзор параметров команды Linux fsck

ѕодвод€ итоги, ниже приведен список параметров, которые вы можете использовать с утилитой fsck Linux.

  • - ѕопробует автоматически исправить ошибки файловой системы. ѕодсказок не будет, поэтому используйте его с осторожностью.
  • - ѕровер€ет все файловые системы, перечисленные в /etc/fstab.
  • -C - ѕоказать прогресс дл€ файловых систем ext2 и ext3.
  • -f - «аставл€ет fsck проверить файловую систему. »нструмент провер€ет, даже если файлова€ система кажетс€ чистой.
  • -l - «аблокирует устройство, чтобы другие программы не могли использовать раздел во врем€ сканировани€ и восстановлени€.
  • -M - Ќе провер€ет смонтированные файловые системы. »нструмент возвращает код выхода 0, когда файлова€ система смонтирована.
  • -N - ƒелает пробный запуск. ¬ выводе печатаетс€, что fsck будет делать без выполнени€ каких-либо действий. “акже печатаютс€ предупреждени€ или сообщени€ об ошибках.
  • - »спользуетс€ дл€ параллельного сканировани€ нескольких файловых систем. Ёто может вызвать проблемы, в зависимости от ваших настроек. »спользуйте с осторожностью.
  • -– - —ообщает инструменту fsck, чтобы он не провер€л корневые файловые системы при использовании параметра -A.
  • - –аспечатать статистику устройства.
  • -t - ”кажите типы файловых систем дл€ проверки с помощью fsck. ќбратитесь к странице руководства дл€ получени€ подробной информации.
  • -T - —крыть заголовок при запуске инструмента.
  • - ѕопытаетс€ автоматически исправить ошибки файловой системы во врем€ проверки.
  • -V - ѕодробный вывод.

—кидки 50% в Merion Academy

¬ыбрать курс