**104.2 Проверка целостности файловых систем.**

Студент должен умет управлять стандартной файловой системой, и понимать принципы работы с журналируемой файловой системой.

**Изучаем** :

- проверку целостности файловой системы;
- отслеживание айнодов и свободного пространства;
- исправление простых проблем с файловой системой.

**Термины и утилиты:       **

- du
- df
- fsck
- e2fsck
- mke2fs
- debugfs
- dumpe2fs
- tune2fs
- инструменты XFS

Linuх использует умеет работать с различными файловыми системами. Для поддержки всех возможностей отдельных файловых систем необходимо устанавливать соответствующие наборы ПО, содержащие дополнительные инструменты.

Утилита **df** (diskfree) показывает свободное место в файловых системах, например:

**df** _  (показывает в блоках килобайт)_

**df –h** _(показывает в мегабайтах и т.д.)_

**d**** f –i**_(показывает в_ _inode__)_

Inode (индексный дескриптор) – идентификатор файла, содержащий о нем всю необходимую информацию.

Утилита **du** (diskusage) показывает занятое место в файловых системах, например:

**d**** u**_(показывает размер текущей директории в блоках килобайт)_

**d**** u –h**_(показывает в мегабайтах и т.д., включая вложенные папки)_

**d**** u –h /home/\***_(показывает размер директории / __home__ , отображая размер всех подкаталогов)_

**d**** u –h –summarize /home/\***  _(показывает размер директории / __home__ , включая все подкаталоги)_

Утилита **fsck** предназначена для проверки файловых систем. Для работы с разными файловыми системами утилита запускает соответствующие им инструменты проверки. Проверку осуществляют для демонтированных файловых систем, неактивных в данный момент, например:

**f**** sck /dev/sdb1** _(будет вызван инструмент проверки файловой системы, например для_ _ext_ _это будет инструмент_ _e __2__ fsck__);_

**fsck**  **–**** t ****ext**** 4 / ****dev**** / ****sdb**** 1  **_(можно сразу указать формат файловой системы, если он известен)_

Утилита **mkfs** предназначена для создания файловых систем. Для работы с разными файловыми системами утилита запускает соответствующие им инструменты, например:

**mkfs**  **–**** t ****xfs**  **–**** f **** / ****dev**** / ****sdb**** 1  **_(создать файловую систему_ _xfs_ _на устройстве / __dev__ / __sdb__ 1);_

**mke2fs –t ext2 /dev/sdb1** _(создать файловую систему_ _ext __2 на устройстве /__ dev __/__ sdb__1);_

Для работы с файловой системой **XFS** (сейчас centos7 использует ее в качестве файловой системы по умолчанию), к примеру, используются следующие инструменты:

- **xfs**** \_ ****check** _для проверки;_
- **xfs**** \_ ****repair** _для восстановления;_
- **xfs\_info** _для получения информации_ **;**
- **xfs\_metadump** _для создания дампа._

Для отладки классической файловой системы используется утилита **debugfs**. Этот инструмент в интерактивном режиме позволяет работать с айнодами файловой системы, например, в нем доступны следующие инструменты:

- **ls** _– просмотреть данные в системе;_
- **lsdel** _– показать удаленные файлы;_
- **undel** _– отменить удаление._

Для вывода детальной информации о файловой системе (суперблоки, цилиндры, размер блока и т.д.) используется утилита **dumpfs**. Для работы с разными файловыми системами утилита запускает соответствующие им инструменты проверки, например:

**dumpe2fs /dev/sdb1 &gt;**  **output****. ****txt**  ** ** _(вывести информацию о файловой системе_ _ext_ _в файл_ _output __.__ txt__)_

Утилита **tunefs** предназначена для настройки изменяемых параметров файловых систем. Для работы с разными файловыми системами утилита запускает соответствующие им инструменты настройки. Настройку осуществляют для демонтированных файловых систем, неактивных в данный момент, например:

**tune**** 2 ****fs**  **–**** O ****has**** \_ ****journal**  **/**** dev ****/**** sdb ****1** _(включить журналирование на устройстве / __dev__ / __sdb__ 1)_

Журналирование: опция введения журнала изменений для возможности их отката.