Команда Fsck (восстановление файловой системы)

Thank you for reading this post, don't forget to subscribe!

fsck (про­вер­ка фай­ло­вой систе­мы) – это ути­ли­та команд­ной стро­ки, кото­рая поз­во­ля­ет выпол­нять про­вер­ки согла­со­ван­но­сти и интер­ак­тив­ное исправ­ле­ние в одной или несколь­ких фай­ло­вых систе­мах Linux. Он исполь­зу­ет про­грам­мы, спе­ци­фич­ные для типа фай­ло­вой систе­мы, кото­рую он проверяет.

Вы може­те исполь­зо­вать коман­ду fsck для вос­ста­нов­ле­ния повре­жден­ных фай­ло­вых систем в ситу­а­ци­ях, когда систе­ма не загру­жа­ет­ся или раз­дел не может быть смонтирован.

В этой ста­тье мы пого­во­рим о коман­де fsck.

 

Коман­да fsck при­ни­ма­ет сле­ду­ю­щую общую форму:

 

Толь­ко root или поль­зо­ва­те­ли с при­ви­ле­ги­я­ми sudo могут очи­стить буфер.

Если FILESYSTEM в каче­стве аргу­мен­та ука­за­но no, fsck про­ве­ря­ют­ся устрой­ства, ука­зан­ные в фай­ле fstab.

Нико­гда не запус­кай­те fsck­на смон­ти­ро­ван­ных раз­де­лах, так как это может повре­дить фай­ло­вую систе­му. Преж­де чем пытать­ся про­ве­рить или вос­ста­но­вить фай­ло­вые систе­мы, все­гда делай­те unmount­это сначала.

Коман­да fsck явля­ет­ся обо­лоч­кой для раз­лич­ных кон­трол­ле­ров фай­ло­вой систе­мы Linux ( fsck.*) и при­ни­ма­ет раз­лич­ные пара­мет­ры в зави­си­мо­сти от типа фай­ло­вой системы.

Про­верь­те спра­воч­ные стра­ни­цы для полу­че­ния допол­ни­тель­ной инфор­ма­ции о кон­крет­ном кон­тро­ле­ре. Напри­мер, что­бы про­смот­реть доступ­ные пара­мет­ры fsck.ext4, введите:

 

Про­стей­ший вари­ант исполь­зо­ва­ния коман­ды fsck – вос­ста­но­вить повре­жден­ную фай­ло­вую систе­му ext3 или ext4 без пол­но­мо­чий root.

  1. Если вы не зна­е­те имя устрой­ства, исполь­зо­вать fdisk, df или любой дру­гой инстру­мент, что­бы най­ти его.
  2. Раз­мон­ти­ро­вать устройство:
  3. Запу­сти­те fsck для вос­ста­нов­ле­ния фай­ло­вой системы:

    Опция -p ука­зы­ва­ет fsck авто­ма­ти­че­ски испра­вить все про­бле­мы, кото­рые могут быть надеж­но закреп­ле­ны без вме­ша­тель­ства пользователя.
  4. После вос­ста­нов­ле­ния фай­ло­вой систе­мы смон­ти­руй­те раздел:

 

fsck не может про­ве­рить кор­не­вую фай­ло­вую систе­му на рабо­та­ю­щей машине, пото­му что она не может быть размонтирована.

Если вы хоти­те про­ве­рить или вос­ста­но­вить кор­не­вую фай­ло­вую систе­му, у вас есть несколь­ко вари­ан­тов в вашем рас­по­ря­же­нии. Вы може­те настро­ить запуск fsck при загруз­ке, загру­зить систе­му в режи­ме вос­ста­нов­ле­ния или исполь­зо­вать live CD.

Для запус­ка fsck в режи­ме восстановления:

  1. Вой­ди­те в меню загруз­ки и выбе­ри­те «Допол­ни­тель­ные параметры»
  2. Выбе­ри­те режим вос­ста­нов­ле­ния и затем «fsck».
  3. Когда будет пред­ло­же­но пере­мон­ти­ро­вать кор­не­вую фай­ло­вую систе­му, выбе­ри­те «Да».
  4. После это­го воз­об­но­ви­те нор­маль­ную загрузку.

Что­бы запу­стить fsck из живо­го дистрибутива:

  1. Загру­зи­те живую раздачу.
  2. Исполь­зуй­те fdisk или, parted что­бы най­ти имя кор­не­во­го раздела.
  3. Открой­те тер­ми­нал и запустите:
  4. После это­го пере­за­гру­зи­те дис­три­бу­тив и загру­зи­те вашу систему.

 

В боль­шин­стве дис­три­бу­ти­вов Linux fsck запус­ка­ет­ся во вре­мя загруз­ки, если фай­ло­вая систе­ма поме­че­на как гряз­ная или после опре­де­лен­но­го коли­че­ства загру­зок или времени.

Что­бы уви­деть теку­щий счет­чик мон­ти­ро­ва­ния, про­ве­рить номер часто­ты, интер­вал про­вер­ки и вре­мя послед­ней про­вер­ки для опре­де­лен­но­го раз­де­ла, исполь­зуй­те инстру­мент tune2fs:

 

 

  • «Maximum mount count» – это коли­че­ство мон­ти­ро­ва­ний, после кото­рых будет про­ве­рять­ся фай­ло­вая систе­ма. Зна­че­ние 0 или -1 озна­ча­ет, что fsck нико­гда не будет работать.
  • «Check interval» – это мак­си­маль­ное вре­мя меж­ду дву­мя про­вер­ка­ми фай­ло­вой системы.

Если, напри­мер, вы хоти­те запус­кать fsck после каж­дых 25 загру­зок (мон­ти­ро­ва­ния), введите:

 

Вы так­же може­те уста­но­вить мак­си­маль­ное вре­мя меж­ду дву­мя про­вер­ка­ми. Напри­мер, что­бы уста­но­вить один месяц, вы долж­ны выполнить:

 

Что­бы заста­вить fsck рабо­тать во вре­мя загруз­ки на дис­три­бу­ти­вах SystemD, пере­дай­те сле­ду­ю­щие пара­мет­ры загруз­ки ядра:

 

В ста­рых дис­три­бу­ти­вах fsck будет рабо­тать при загруз­ке, если файл /forcefsck присутствует:

 

fstab это файл кон­фи­гу­ра­ции, кото­рый сооб­ща­ет систе­ме, как и где мон­ти­ро­вать разделы.

Файл /etc/fstab содер­жит спи­сок запи­сей в сле­ду­ю­щем виде:

 

Послед­ний, шестой стол­бец ( [PASS]) – это пара­метр, кото­рый кон­тро­ли­ру­ет поря­док, в кото­ром про­вер­ки фай­ло­вой систе­мы выпол­ня­ют­ся во вре­мя перезагрузки.

  • 0 – Не проверяй.
  • 1 – Фай­ло­вые систе­мы долж­ны про­ве­рять­ся пер­вы­ми и по одно­му за раз.
  • 2 – Все осталь­ные фай­ло­вые систе­мы, кото­рые про­ве­ря­ют­ся поз­же и, воз­мож­но, параллельно.

Кор­не­вая фай­ло­вая систе­ма долж­на иметь зна­че­ние 1, а все осталь­ные фай­ло­вые систе­мы, кото­рые вы хоти­те про­ве­рить, долж­ны иметь зна­че­ние 2.