- Работа с файловой системой Linux
- Основные команды
- Работа с файловой системой в Linux
- Создание файловой системы
- Изменение метки файловой системы
- Настройка файловой системы linux
- Изменение размера файловой системы Linux
- Проверка файловой системы Linux
- Дефрагментация файловой системы
- Выводы
- Администрирование систем Linux. Файловые системы
- Глава 6. Файловые системы
- 6.1. Информация о файловых системах
- 6.2. Часто используемые файловые системы
- 6.3. Создание файловой системы в разделе
- 6.4. Настройка файловой системы
- 6.5. Проверка файловой системы
- 6.6. Практическое задание: файловые системы
- 6.7. Корректная процедура выполнения практического задания: файловые системы
Работа с файловой системой Linux
Во время выполнения различных задач по администрированию системы может понадобится работать с файловой системой Linux, форматировать разделы, изменять их размер конвертировать файловые системы, может понадобиться дефрагментация в Linux или восстановление файловых систем. Многие из этих действий выполняются в графическом интерфейсе, многие и вовсе автоматически. Но может возникнуть ситуация, в которой придется делать все через терминал. Также при администрировании удаленных серверов работать с ними приходится только через ssh, а это означает недоступность графического интерфейса.
В этой статье мы рассмотрим как выполняется работа с файловой системой Linux в терминале. За основу возьмем семейство файловых систем ext2/3/4, так как они самые распространенные среди большого многообразия дистрибутивов Linux.
Основные команды
Для управления файловой системой ext в Linux используется целый набор команд из пакета e2progs. Сюда входят как команды для управления флагами файлов, создания и изменения файловых систем, так и утилиты для отладки файловой системы.
Рассмотрим основные утилиты, которые будем использовать:
- badblocks — если у вас старый жесткий диск и на нем накопилось много битых блоков, вы можете с помощью этой утилиты пометить их все на уровне файловой системы, чтобы больше не использовать.
- e2label — позволяет изменить метку раздела с файловой системой ext.
- fsck — проверка файловой системы linux и исправление найденных ошибок
- mkfs — позволяет создать файловую систему Linux.
- resize2fs — изменить размер раздела с файловой системой
- tune2fs — позволяет изменить файловую систему Linux, настроить ее параметры.
А теперь будет рассмотрена работа с файловой системой linux на примерах.
Работа с файловой системой в Linux
Перед тем как переходить к работе с реальным жестким диском важно попрактиковаться. Если сменить метку или проверить на битые сектора можно и рабочий диск, то создавать новую файловую систему, изменять ее размер, рискуя потерять данные на реальном диске не рекомендуется. Можно отделить небольшой раздел диска для экспериментов с помощью Gparted и выполнять все действия в нем. Допустим, у нас этот раздел будет называться /dev/sda6.
Создание файловой системы
Создать файловую систему linux, семейства ext, на устройстве можно с помощью команды mkfs. Ее синтаксис выглядит следующим образом:
Доступны дополнительные параметры:
- -с — проверить устройство на наличие битых секторов
- -b — размер блока файловой системы
- -j — использовать журналирование для ext3
- -L — задать метку раздела
- -v — показать подробную информацию о процессе работы
- -V — версия программы
Создаем файловую систему на нашем устройстве. Будем создавать ext3:
Изменение метки файловой системы
Утилита e2label позволяет изменить или посмотреть метку раздела диска. Принимает всего два параметра — устройство и новую метку если нужно.
Настройка файловой системы linux
Различные параметры файловой системы, такие как размер блока данных, иноды или зарезервированное место под данные пользователя root можно настроить. Для этого существует утилита tune2fs.
Синтаксис команды очень прост:
$ tune2fs опции устройство
Поддерживаются следующие опции:
- -j — создать файл журнала. Позволяет превратить файловую систему ext2 в ext3.
- -J — настроить параметры журнала
- -l — получить содержимое суперблока
- -L — изменить метку раздела
- -m — изменить процент дискового пространства, зарезервированного для суперпользователя
- -M — изменить последнюю папку монтирования
- -U — задать UUID файловой системы
- -C — изменить значение счетчика монтирования
- -T — изменить последнюю дату проверки файловой системы
- -с — изменить периодичность проверок файловой системы с помощью fsck
- -O — изменить опции файловой системы.
Изменить размер зарезервированного места для суперпользователя до пяти процентов:
Посмотреть информацию из суперблока, эта команда показывает всю доступную информацию параметрах файловой системы:
Изменить счетчик количества монитрований:
Думаю тут смысл понятен, нужно только немного со всем этим поэкспериментировать.
С помощью опции -O мы вообще можем превратить нашу ext3 в ext4 следующей командой:
После этого действия нужно выполнить проверку файловой системы на ошибки в fsck. Подробнее об этом поговорим ниже.
Таким образом вы можете изменить файловую систему linux, и настроить по своему усмотрению любые ее параметры.
Изменение размера файловой системы Linux
Раньше такая функция поддерживалась в утилите parted, но потом ее убрали и для этого действия приходится использовать утилиту из набора e2fsprogs — resize2fs.
Запустить утилиту очень просто. Ей нужно передать всего два параметра:
$ resize2fs [опции] устройство размер
Доступны также опции:
- -M уменьшить файловую систему до минимального размера
- -f — принудительное изменение, не смотря на потерю данных
- -F — очистить буфер файловой системы
Размер передается, как и во многих других утилитах, целым числом с указанием единиц измерения, например, 100М или 1G.
Для примера уменьшим размер нашего раздела до 400 Мегабайт:
Проверка файловой системы Linux
При неправильном отключении носителей или неожиданном отключении питания, файловая система Linux может быть повреждена. Обычно проверка корневой файловой системы и домашнего каталога на ошибки выполняется во время загрузки. Но если эта проверка не была выполнена или нужно поверить другой носитель, придется все делать вручную. Для этого есть утилита fsck.
$ fsck [опции] устройство
- -p — автоматическое восстановление
- -n — только проверка, без восстановления
- -y — ответить да на все запросы программы
- -с — проверить на битые сектора (аналог badblocks
- -f — принудительная проверка, даже если раздел помечен как чистый
- -j — внешний журнал файловой системы
Проверка файловой системы Linux выполняется такой командой, проверим диск /dev/sda6, заметьте, что диск должен быть не примонтирован:
Дефрагментация файловой системы
Хотя и фрагментация нехарактерное явление для файловых систем семейства ext, при очень интенсивном использовании может накапливаться фрагментированость, что будет замедлять работу файловой системы. Для дефрагментации можно использовать стандартную утилиту e4defrag. Просто выполните:
Чтобы проверить нужна ли дефрагментация в Linux выполните эту же команду с опцией -c:
В поле Fragmentation score отображен процент фрагментации, как видите, у меня 0, нормой считается до 30, 31-55 небольшие проблемы, и больше 56 — нужна дефрагментация.
Выводы
В одной из предыдущих статей мы рассмотрели как выполняется разметка диска с помощью parted. Из этой статьи вы узнали все что нужно о работе с файловой системой. Теперь у вас не возникнет проблем если у вас вдруг не будет доступа к графическим утилитам и нужно будет исправлять ошибки или настраивать файловую систему. Если остались вопросы, спрашивайте в комментариях!
Источник
Администрирование систем Linux. Файловые системы
Глава 6. Файловые системы
После того, как вы закончите разделение жесткого диска на разделы, вы сможете создать файловую систему в каждом из созданных разделов.
В данной главе используются разделы жесткого диска , созданные в предыдущей главе, причем сама глава содержит информацию, необходимую для подготовки к чтению следующей главы, в которой мы будем монтировать созданные файловые системы.
6.1. Информация о файловых системах
Файловая система является способом организации файлов в рамках вашего раздела жесткого диска. Помимо сохранения данных в рамках файлов файловые системы обычно позволяют использовать директории и механизм контроля доступа , кроме того, они сохраняют метаданные, относящиеся к файлам, такие, как метки времени доступа и модификации, а также данные о владельце.
Ограничения имен файлов (максимальная длина, набор допустимых символов, ) определяются типом выбранной вами файловой системы. Директории обычно реализуются с помощью файлов специального типа и вам предстоит разобраться в вопросах их реализации! Механизм доступа к файлам оперирует идентификаторами пользователей, владеющих файлами (а также идентификаторами групп пользователей, владеющих файлами и учитывает членство пользователей в группах) с учетом одного или большего количества списков контроля доступа.
6.1.1. Страница руководства man fs
Страница руководства, посвященной файловым системам, может быть открыта с помощью команды man fs .
6.1.2. Файл /proc/filesystems
Ядро Linux проинформирует вас о загруженных на данный момент драйверах файловых систем с помощью файла /proc/filesystems .
6.1.3. Файл /etc/filesystems
Файл /etc/filesystems содержит список автоматически определенных файловых систем (на случай использования утилиты mount без параметра -t ).
Информация о данном файле содержится на странице руководства, которая может быть открыта с помощью команды man mount .
6.2. Часто используемые файловые системы
6.2.1. Файловые системы ext2 и ext3
В прошлом наиболее часто используемой файловой системой в Linux была файловая система ext2 («вторая расширенная файловая система»). Недостаток данной файловой системы заключался в значительных затратах времени на ее проверку.
Впоследствии на большинстве машин, работающих под управлением Linux, файловая система ext2 была заменена на файловую систему ext3 . По большей части данные файловые системы идентичны, за исключением функции журналирования , которая присутствует только в файловой системе ext3.
Функция журналирования подразумевает запись всех изменений в файловой системе в первую очередь в журнал, расположенный на диске. Периодически осуществляемая синхронизация журнала с диском приводит к записи изменений в файловую систему. Функция журналирования позволяет поддерживать файловую систему в корректном состоянии, поэтому вам не придется осуществлять полную проверку файловой системы после некорректного выключения компьютера или проблем с питанием.
6.2.2. Создание файловых систем ext2 и ext3
Вы можете создать данные файловые системы с помощью утилит /sbin/mkfs и /sbin/mke2fs . Используйте команду mke2fs -j для создания файловой системы ext3.
Также вы можете преобразовать файловую систему ext2 в ext3 с помощью команды tune2fs -j . При этом вы можете смонтировать файловую систему ext3 как ext2, но в этом случае вы потеряете функцию журналирования. Не забывайте о необходимости выполнения команды mkinitrd в том случае, если устройство с данной файловой системой должно использоваться в процессе загрузки системы.
6.2.3. Файловая система ext4
Новейшим воплощением расширенной файловой системы является файловая система ext4 , код для поддержки которой включен в состав ядра Linux в 2008 году. Файловая система ext4 поддерживает файлы большего размера (до 16 терабайт), а также позволяет создавать файловые системы на разделах больших размеров, чем в случае файловой системы ext3 (кроме того, она предоставляет множество дополнительных возможностей).
Процесс разработки данной файловой системы начался с доработки файловой системы ext3 с целью полной поддержки 64-битных операций. После того, как выяснилось, что в код должны быть внесены значительные изменения, разработчики приняли решение о присвоении созданной в итоге файловой системе имени ext4 .
6.2.4. Файловая система xfs
Файловая система xfs используется по умолчанию в дистрибутиве Redhat Enterprise Linux 7. Это хорошо масштабируемая высокопроизводительная файловая система.
Файловая система xfs была создана специально для операционной системы Irix и в течение нескольких лет также использовалась в операционной системе FreeBSD. Она поддерживается ядром Linux, но редко используется в дистрибутивах, не имеющих отношения к дистрибутивам Redhat/CentOS.
6.2.5. Файловая система vfat
Файловая система vfat существует в нескольких форматах: fat12 для дискет, fat16 для операционной системы ms-dos и fat32 для поддержки дисков большего объема. Реализация файловой системы vfat из состава ядра Linux поддерживает все упомянутые форматы, но при этом в данной реализации отсутствует поддержка ряда возможностей, таких, как механизм контроля доступа и ссылки на файлы. Диски с файловой системой fat могут читаться средствами любой операционной системы и широко используются в цифровых камерах и накопителях с интерфейсом USB, причем данная файловая система очень удобна для осуществления обмена данными между операционными системами, установленными на компьютере домашнего пользователя.
6.2.6. Файловая система iso 9660
Файловая система iso 9660 является стандартной файловой системой для оптических дисков CD-ROM. Высока вероятность того, что вы также встретите данную файловую систему на вашем жестком диске в форме образов дисков CD-ROM (которые обычно имеют расширение .iso). Стандарт iso 9660 ограничивает длину имен файлов форматом 8.3. Это ограничение было воспринято негативно в мире Unix, в результате чего в стандарт было добавлено расширение Rock Ridge , позволяющее использовать имена файлов длиной в 255 символов, режимы доступа и идентификаторы владельцев файлов в стиле Unix, а также символьные ссылки. Другим расширением для стандарта iso 9660 являются расширение Joliet , которое добавляет возможность использования до 64 символов Unicode в именах файлов. Расширение El Torito также относится к стандарту iso 9660 и позволяет осуществлять загрузку системы с дисков CD-ROM.
6.2.7. Файловая система udf
При создании большинства оптических дисков (включая диски CD и DVD) в настоящее время используется файловая система udf , название которой расшифровывается как Universal Disk Format (универсальный дисковый формат).
6.2.8. Файловая система swap
Если принимать во внимание все детали, swap не является файловой системой. Но для использования раздела в качестве раздела подкачки он должен быть отформатирован и смонтирован как пространство для хранения данных подкачки.
6.2.9. Файловая система gfs
Кластеры на основе Linux обычно используют отдельную кластерную файловую систему, такую, как GFS, GFS2, ClusterFS,
6.2.10. Другие файловые системы.
В более старых системах Linux вы можете встретить файловую систему reiserfs . Также не исключено, что вы столкнетесь с файловой системой zfs , разработанной в компании Sun, или открытой файловой системой btrfs . Для описания возможностей последней, скорее всего, потребуется отдельная глава.
6.2.11. Файл /proc/filesystems
Файл /proc/filesystems содержит список поддерживаемых файловых систем. В момент монтировании файловой системы без явного указания ее типа утилита mount в первую очередь попытается идентифицировать файловую систему как одну из файловых систем, описанных в файле /etc/filesystems , после чего в случае необходимости попытается идентифицировать эту же файловую систему как одну из файловых систем, описанных в файле /proc/filesystems за исключением тех, для которых установлена метка nodev . В том случае, если в последней строке файла /etc/filesystems расположен только символ звездочки (*), будут использоваться оба упомянутых файла.
6.3. Создание файловой системы в разделе
На данный момент у нас в распоряжении имеется недавно созданный раздел жесткого диска. Список системных бинарных файлов, предназначенных для создания файловых систем, может быть сформирован с помощью утилиты ls.
Самое время прочитать страницы руководств утилит mkfs и mke2fs . С помощью приведенного ниже примера вы можете проследить процесс создания файловой системы ext2 в разделе, представленном файлом устройства /dev/sdb1. В реальной жизни вам также могут понадобиться такие параметры данной утилиты, как -m0 и -j.
6.4. Настройка файловой системы
Вы можете использовать утилиту tune2fs для вывода списка параметров файловой системы и установки их значений. В первом примере показана методика вывода информации о зарезервированном для пользователя root пространстве в рамках раздела (текущее значение равно пяти процентам от общего размера раздела).
А в примере ниже данное значение увеличивается до 10 процентов от общего размера раздела. Вы можете использовать утилиту tune2fs в процессе эксплуатации файловой системы, даже в том случае, если данная файловая система содержит корневую директорию (как в примере ниже).
6.5. Проверка файловой системы
Команда fsck позволяет задействовать утилиту-обертку, используемую для вызова утилит, осуществляющих проверку файловых систем.
Значение из последнего столбца файла /etc/fstab используется в качестве флага проверки файловой системы в процессе загрузки операционной системы.
Проверка смонтированной файловой системы в ручном режиме приведет к выводу предупреждения и завершению работы утилиты fsck.
Но после размонтирования файловой системы ext2 утилиты fsck и e2fsck могут успешно использоваться для ее проверки.
6.6. Практическое задание: файловые системы
1. Выведите список файловых систем, известных вашей операционной системе.
2. Создайте файловую систему ext2 в разделе размером в 200 МБ.
3. Создайте файловую систему ext3 в одном из логических разделов размером в 300 МБ.
4. Создайте файловую систему ext4 в разделе размером в 400 МБ.
5. Установите размер резервируемого пространства для пользователя root в разделе с файловой системой ext3 равным 0 процентов от общего размера раздела.
6. Проверьте корректность выполненных действий с помощью утилит fdisk и df .
7. Выполните проверки всех недавно созданных файловых систем.
6.7. Корректная процедура выполнения практического задания: файловые системы
1. Выведите список файловых систем, известных вашей операционной системе.
2. Создайте файловую систему ext2 в разделе размером в 200 МБ.
mke2fs /dev/sdc1 (замените sdc1 на корректное имя файла устройства, представляющего необходимый раздел жесткого диска)
3. Создайте файловую систему ext3 в одном из логических разделов размером в 300 МБ.
mke2fs -j /dev/sdb5 (замените sdb5 на корректное имя файла устройства, представляющего необходимый раздел жесткого диска)
4. Создайте файловую систему ext4 в разделе размером в 400 МБ.
mkfs.ext4 /dev/sdb1 (замените sdb1 на корректное имя файла устройства, представляющего необходимый раздел жесткого диска)
5. Установите размер резервируемого пространства для пользователя root в разделе с файловой системой ext3 равным 0 процентов от общего размера раздела.
6. Проверьте корректность выполненных действий с помощью утилит fdisk и df .
Использование утилиты mkfs (mke2fs) не должно стать причиной принципиальных различий в выводе предложенных для осуществления диагностики утилит.
В то же время, принципиальные различия проявятся в следующей главе, посвященной монтированию файловых систем.
7. Выполните проверки всех недавно созданных файловых систем.
Источник