Меню Рубрики

Linux создание файловой системы

Работа с файловой системой 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. Ее синтаксис выглядит следующим образом:

sudo mkfs -t тип устройство

Доступны дополнительные параметры:

  • — проверить устройство на наличие битых секторов
  • -b — размер блока файловой системы
  • -j — использовать журналирование для ext3
  • -L — задать метку раздела
  • -v — показать подробную информацию о процессе работы
  • -V — версия программы

Создаем файловую систему на нашем устройстве. Будем создавать ext3:

sudo mkfs -t ext4 -L root /dev/sda6

Creating filesystem with 7847168 4k blocks and 1962240 inodes

Filesystem UUID: 3ba3f7f5-1fb2-47af-b22c-fa4ca227744a
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000

Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

Изменение метки файловой системы

Утилита e2label позволяет изменить или посмотреть метку раздела диска. Принимает всего два параметра — устройство и новую метку если нужно.

sudo e2label /dev/sda6

sudo e2label /dev/sda6 root1

Настройка файловой системы linux

Различные параметры файловой системы, такие как размер блока данных, иноды или зарезервированное место под данные пользователя root можно настроить. Для этого существует утилита tune2fs.

Синтаксис команды очень прост:

$ tune2fs опции устройство

Поддерживаются следующие опции:

  • -j — создать файл журнала. Позволяет превратить файловую систему ext2 в ext3.
  • -J — настроить параметры журнала
  • -l — получить содержимое суперблока
  • -L — изменить метку раздела
  • -m — изменить процент дискового пространства, зарезервированного для суперпользователя
  • -M — изменить последнюю папку монтирования
  • -U — задать UUID файловой системы
  • -C — изменить значение счетчика монтирования
  • -T — изменить последнюю дату проверки файловой системы
  • — изменить периодичность проверок файловой системы с помощью fsck
  • -O — изменить опции файловой системы.

Изменить размер зарезервированного места для суперпользователя до пяти процентов:

sudo tune2fs -m 5 /dev/sda6

Setting reserved blocks percentage to 5% (392358 blocks)

Посмотреть информацию из суперблока, эта команда показывает всю доступную информацию параметрах файловой системы:

Filesystem volume name: root
Last mounted on: /
Filesystem UUID: 3ba3f7f5-1fb2-47af-b22c-fa4ca227744a
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: has_journal ext_attr resize_inode dir_index filetype extent flex_bg spar
se_super large_file huge_file uninit_bg dir_nlink extra_isize
Filesystem flags: signed_directory_hash
Default mount options: user_xattr acl
Filesystem state: clean
Errors behavior: Continue
Filesystem OS type: Linux

Изменить счетчик количества монитрований:

tune2fs -C 0 /dev/sda6

Setting current mount count to 0

Думаю тут смысл понятен, нужно только немного со всем этим поэкспериментировать.

С помощью опции -O мы вообще можем превратить нашу ext3 в ext4 следующей командой:

sudo tune2fs -O extents,uninit_bg,dir_index

После этого действия нужно выполнить проверку файловой системы на ошибки в fsck. Подробнее об этом поговорим ниже.

sudo fsck -np /dev/sda6

Таким образом вы можете изменить файловую систему linux, и настроить по своему усмотрению любые ее параметры.

Изменение размера файловой системы Linux

Раньше такая функция поддерживалась в утилите parted, но потом ее убрали и для этого действия приходится использовать утилиту из набора e2fsprogs — resize2fs.

Запустить утилиту очень просто. Ей нужно передать всего два параметра:

$ resize2fs [опции] устройство размер

Доступны также опции:

  • -M уменьшить файловую систему до минимального размера
  • -f — принудительное изменение, не смотря на потерю данных
  • -F — очистить буфер файловой системы

Размер передается, как и во многих других утилитах, целым числом с указанием единиц измерения, например, 100М или 1G.

Для примера уменьшим размер нашего раздела до 400 Мегабайт:

sudo resize2fs /dev/sda6 400M

Resizing the filesystem on /dev/sda7 to 102400 (4k) blocks.
The filesystem on /dev/sda7 is now 102400 blocks long

Проверка файловой системы Linux

При неправильном отключении носителей или неожиданном отключении питания, файловая система Linux может быть повреждена. Обычно проверка корневой файловой системы и домашнего каталога на ошибки выполняется во время загрузки. Но если эта проверка не была выполнена или нужно поверить другой носитель, придется все делать вручную. Для этого есть утилита fsck.

$ fsck [опции] устройство

  • -p — автоматическое восстановление
  • -n — только проверка, без восстановления
  • -y — ответить да на все запросы программы
  • — проверить на битые сектора (аналог badblocks
  • -f — принудительная проверка, даже если раздел помечен как чистый
  • -j — внешний журнал файловой системы

Проверка файловой системы Linux выполняется такой командой, проверим диск /dev/sda6, заметьте, что диск должен быть не примонтирован:

sudo fsck -a /dev/sda6

root: clean, 11/32704 files, 37901/102400 blocks

Дефрагментация файловой системы

Хотя и фрагментация нехарактерное явление для файловых систем семейства ext, при очень интенсивном использовании может накапливаться фрагментированость, что будет замедлять работу файловой системы. Для дефрагментации можно использовать стандартную утилиту e4defrag. Просто выполните:

Чтобы проверить нужна ли дефрагментация в Linux выполните эту же команду с опцией -c:

Total/best extents 26247/24953
Average size per extent 1432 KB
Fragmentation score 0
[0-30 no problem: 31-55 a little bit fragmented: 56- needs defrag]
This device (/dev/sda6) does not need defragmentation.
Done.

В поле Fragmentation score отображен процент фрагментации, как видите, у меня 0, нормой считается до 30, 31-55 небольшие проблемы, и больше 56 — нужна дефрагментация.

Выводы

В одной из предыдущих статей мы рассмотрели как выполняется разметка диска с помощью parted. Из этой статьи вы узнали все что нужно о работе с файловой системой. Теперь у вас не возникнет проблем если у вас вдруг не будет доступа к графическим утилитам и нужно будет исправлять ошибки или настраивать файловую систему. Если остались вопросы, спрашивайте в комментариях!

Источник

Создание разделов и файловых систем

Создание разделов и управление дисковым пространством

Серия контента:

Этот контент является частью # из серии # статей: Изучаем Linux, 101

Этот контент является частью серии: Изучаем Linux, 101

Следите за выходом новых статей этой серии.

Об этой серии

Эта серия статей поможет вам освоить задачи администрирования операционной системы Linux. Вы также можете использовать материал этих статей для подготовки к экзаменам первого уровня сертификации профессионального института Linux (LPIC-1).

Чтобы посмотреть описания статей этой серии и получить ссылки на них, обратитесь к нашему перечню материалов для подготовки к экзаменам LPIC-1. Этот перечень постоянно дополняется новыми статьями по мере их готовности и содержит самые последние (по состоянию на апрель 2009 года) цели экзаменов сертификации LPIC-1. Если какая-либо статья отсутствует в перечне, можно найти ее более раннюю версию, соответствующую предыдущим целям LPIC-1 (до апреля 2009 года), обратившись к нашим руководствам для подготовки к экзаменам института Linux Professional Institute.

Краткий обзор

Из этой статьи вы узнаете о дисковых разделах и файловых системах Linux. Вы научитесь:

  • Создавать разделы на жестком диске.
  • Использовать команды mkfs для создания файловых систем ext2, ext3, xfs, reiserfs v3 и vfat.
  • Создавать и управлять областью подкачки.

Эта статья поможет вам подготовиться к сдаче экзамена LPI 101 на администратора начального уровня (LPIC-1) и содержит материалы цели 104.1 темы 104. Цель имеет вес 2.

Необходимые условия

Чтобы извлечь наибольшую пользу из наших статей, необходимо обладать базовыми знаниями о Linux и иметь работоспособный компьютер с Linux, на котором можно будет выполнять все встречающиеся команды. Иногда различные версии программ выводят результаты по-разному, поэтому содержимое листингов и рисунков может отличаться от того, что вы увидите на вашем компьютере.

Также вы должны быть знакомы с материалом статьи «Изучаем Linux, 101: разметка жесткого диска».

Блочные устройства и разделы

Как связаться с Яном

Ян – один из наших наиболее популярных и плодовитых авторов. Ознакомьтесь со всеми статьями Яна (EN), опубликованными на сайте developerWorks. Вы можете найти контактные данные в профиле Яна и связаться с ним, а также с другими авторами и участниками ресурса My developerWorks.

В нашей статье «Изучаем Linux, 101: разметка жесткого диска» мы познакомили вас с такими понятиями, как разметка и разделы жесткого диска, а также привели несколько примеров использования команды fdisk для просмотра информации о разделах. Вы узнали о разделах, включая основные, расширенные и логические разделы, а также о том, что файловая система Linux состоит из файлов, хранящихся в директориях на жестком диске или другом блочном устройстве хранения. Как и во многих других операционных системах, директории в Linux могут содержать в себе другие директории, называемые поддиректориями. В статье также были изложены некоторые соображения, которыми можно руководствоваться при создании разделов на жестком диске.

Мы начнем нашу статью с обзора блочных устройств и разделов, а затем более подробно расскажем о команде fdisk , которая используется для создания, модификации или удаления разделов на блочных устройствах. Также вы узнаете о многочисленных формах команды mkfs (сокращение от make filesystem – создать файловую систему); команды mkfs используются для форматирования разделов в файловой системе определенного типа.

Примечание. Помимо инструментов и файловых систем, требующихся для сдачи экзаменов LPI в статье могут упоминаться другие утилиты и файловые системы. Краткий обзор некоторых из них вы можете найти в разделе «Другие инструменты и файловые системы».

Блочные устройства

Блочное устройство представляет собой уровень абстракции любого устройства хранения, которое может быть отформатировано в блоках фиксированного размера; доступ к отдельным блокам осуществляется независимо от доступа к другим блокам. Такой доступ часто называют произвольным доступом.

Представление устройств в виде абстрагированных блоков фиксированного размера с произвольным доступом позволяет программам использовать их, не заботясь о том, чем на самом деле является то или иное устройство; это может быть жесткий диск, дискета, компакт-диск, твердотельный диск, сетевой диск или какое-то виртуальное устройство, например, файловая система в оперативной памяти.

Примерами блочных устройств могут являться первый IDE-диск (/dev/sda или /dev/hda) или второй SCSI-, IDE- или USB-диск (/dev/sdb) вашего компьютера. Для просмотра содержимого директории /dev используйте команду ls -l . Первым символом в каждой строке может быть либо символ b, означающий блочное (block) устройство, например, дискету, компакт-диск, жесткий диск IDE или SCSI, либо символ c, означающий символьное (character) устройство, например терминал (tty) или фиктивное (null) устройство. Некоторые примеры приведены в листинге 1.

Листинг 1. Блочные и символьные устройства Linux

Разделы

Для некоторых блочных устройств, таких как дискеты, CD- и DVD-диски, принято использовать одну файловую систему на всем носителе. Однако для больших жестких дисков и даже для USB-накопителей все доступное пространство часто делится (или разбивается) на несколько отдельных разделов.

Разделы могут отличаться по размеру, а каждый раздел может иметь свою файловую систему; таким образом, один диск может использоваться для различных целей, включая его совместное использование разными операционными системами. Например, на моих тестовых компьютерах установлено несколько различных дистрибутивов Linux (а иногда и операционная система Windows®), совместно использоующих один или два жестких диска.

Из нашей статьи «Изучаем Linux, 101: разметка жесткого диска» вы узнали, что жесткие диски имеют геометрию, которая описывается такими терминами как цилиндры, головки и секторы. Несмотря на то, что в современных жестких дисках используется логическая адресация блоков (Logical Block Addressing, LBA), которая в значительной степени скрывает геометрию, основной единицей размещения, используемой для разметки диска, обычно остается цилиндр.

Получение информации о разделах

Информация о разделах хранится на диске в таблице разделов. В этой таблице содержится информация о начале и конце каждого раздела, о его типе, а также о том, является ли раздел загрузочным или нет. Чтобы создать или удалить раздел, необходимо отредактировать таблицу разделов с помощью специальной программы. Для успешной сдачи экзамена LPI вам необходимо знать о программе fdisk , поэтому в этой статье рассматривается именно она, хотя существуют и другие инструменты, которые вы можете использовать. О некоторых из них мы расскажем в конце статьи.

Команда fdisk с опцией –l выводит на экран список разделов. Если вам требуется просмотреть все разделы на определенном диске, то добавьте имя устройства, например, /dev/sda. Обратите внимание на то, что для использования инструментов по работе с разделами вы должны обладать привилегиями пользователя root. В листинге 2 показаны списки разделов основных жестких дисков, установленных на двух моих компьютерах.

Листинг 2. Просмотр разделов с помощью fdisk

Примечания:

  1. Заголовок содержит информацию об объеме и геометрии диска. Большинство больших дисков, в которых используется LBA-адресация, имеют 255 головок на цилиндр и 63 сектора на дорожку, что в сумме составляет 16065 секторов или 8225280 байтов на цилиндр.
  2. Во втором примере первый основной раздел (/dev/sda1) помечен как загрузочный (или активный). Это позволяет загружать компьютер с указанного раздела при помощи стандартной MBR-записи DOS. Этот флаг не оказывает влияния на работу загрузчиков LILO и GRUB. В первом примере в качестве загрузчика используется GRUB, поэтому раздел /dev/sda3, вероятно, был помечен загрузочным случайно, в результате каких-то предыдущих манипуляций с диском.
  3. Столбцы Start и End показывают начальный и конечный цилиндры каждого раздела. Эти значения не должны перекрываться, и в общем случае должны быть последовательными, без промежутков.
  4. Столбец Blocks показывает количество блоков размером в 1 Кб (1024 байтов), содержащихся в разделе. Для большинства дисков, существующих на момент написания этой статьи, размер сектора равен 512 байтам, поэтому максимальное количество блоков в разделе равняется половине произведения числа цилиндров (End + 1 — Start) на число секторов в цилиндре. Символ + в конце означает, что используются не все секторы раздела.
  5. Поле Id определяет предполагаемое назначение раздела. Тип 82 означает раздел подкачки Linux, а тип 83 – раздел для хранения данных. Существует приблизительно 100 различных типов разделов. Второй диск совместно используется несколькими операционными системами, включая Windows XP, поэтому на нем присутствуют Windows-разделы NTFS (а, возможно, и FAT32).

Работа с разделами с использованием команды fdisk

Вы только что узнали, как можно получить информацию о разделах диска с помощью команды fdisk . Эта команда также содержит систему меню для редактирования таблицы разделов (т. е. для создания или удаления разделов).

Предупреждения

Прежде чем приступить к работе с разделами, запомните несколько важных правил. Если пренебрегать этими правилам, то можно потерять все имеющиеся данные.

  1. Прежде чем приступить к работе, создавайте резервную копию всех важных данных, так как любая операция может привести к потере данных.
  2. Не изменяйте разделы, которые используются в настоящий момент. Составляйте план ваших действий и четко придерживайтесь его. Загрузка Live-дистрибутива с CD-, DVD- или USB-носителя – это хороший способ гарантировать, что никакие разделы жесткого диска не будут использоваться.
  3. Вы должны знать, как работает инструмент, который вы используете. Команда fdisk не вносит никаких изменений без вашего подтверждения, однако другие утилиты, включая parted , могут вносить изменения незамедлительно.
  4. Если вы допустили ошибку, остановитесь. Инструменты по работе с разделами вносят изменения в таблицу разделов. Если инструмент, который вы используете, не выполняет с дисковым пространством действий по перемещению, изменению размера, форматированию, либо других операций записи в область данных, ваши данные останутся нетронутыми. Если вы допустили ошибку, как можно быстрее прекратите работу и обратитесь за помощью. В этом случае у вас останется шанс восстановить предыдущие значения таблицы разделов и, таким образом, восстановить раздел и хранящуюся в нем информацию.

Запуск fdisk

Для запуска команды fdisk в интерактивном режиме просто укажите в качестве параметра имя диска, например /dev/hda или /dev/sdb. В следующем примере выполняется загрузка Live-DVD дистрибутива Knoppix. Вы должны обладать привилегиями пользователя root, чтобы увидеть вывод, аналогичный выводу в листинге 3.

Листинг 3. Запуск fdisk в интерактивном режиме

Большинство современных дисков имеют более 1024 цилиндров, поэтому обычно вы будете получать предупреждение, показанное в листинге 3. Чтобы вывести список доступных односимвольных команд, наберите m , как показано в листинге 4.

Листинг 4. Встроенная справка команды fdisk

Для вывода информации о разделах выбранного диска используйте команду p ; ее вывод показан в листинге 5.

Листинг 5. Просмотр информации о существующей таблице разделов

Объем этого диска составляет 1 ТБ, на нем имеется раздел Windows/XP, занимающий чуть меньше 80 ГБ. Это основной раздел, и он помечен как загрузочный, что характерно для Windows-системы.

Добавление разделов

Теперь используем часть свободного дискового пространства для добавления нескольких разделов.

  1. Сначала мы создадим раздел подкачки /dev/sda4. Это будет основной раздел, заполняющий область из 521 цилиндра, расположенную между верхней границей раздела /dev/sda1 и нижней границей раздела /dev/sda2. Даже не спрашивайте, в результате чего мог образоваться этот разрыв; я специально создал его, чтобы мне было о чем написать в этой статье.
  2. Затем мы создадим логический раздел /dev/sda8 объемом 40 ГБ.
  3. Наконец, мы создадим небольшой логический раздел объемом 2000 МБ для обмена данными между операционными системами Linux и Windows. В конечном итоге он будет отформатирован в файловой системе FA32 (или vfat). Этот раздел будет обозначаться /dev/sda9.

Создание разделов

Давайте приступим и выполним команду n для создания нового раздела, как показано в листинге 6.

Листинг 6. Создание первого раздела

Мы взяли значение по умолчанию для первого цилиндра и указали значение +521 (количество цилиндров). Из листинга 6 видно, что размер нашего раздела составляет приблизительно 4 ГБ. Поскольку это основной раздел, он должен иметь номер от 1 до 4. Мы рекомендуем всегда нумеровать разделы последовательно; если этого не делать, то некоторые утилиты будут выдавать предупреждения, в частности, команда fdisk предупреждает о том, что записи в таблице разделов больше не соответствуют последовательности дисков.

Заметьте также, что новый раздел имеет тип 83, т. е. является Linux-разделом для хранения данных. Тип раздела можно рассматривать как метку, которая указывает операционной системе на его предполагаемое назначение. В конечном счете указанный тип должен совпадать с предполагаемым использованием этого раздела, но пока мы даже не будем форматировать его, не говоря уже о размещении на нем данных. Сначала мы создадим несколько других разделов, а затем посмотрим, как можно изменить тип раздела.

Вы могли заметить, что при вводе подкоманды n для создания нового раздела можно было выбрать один из двух вариантов: ‘l’ для создания логического раздела и ‘p’ – для создания основного. Это обусловлено тем, что в списке присутствуют только оставшиеся доступные типы разделов. Если бы диск еще не имел расширенного раздела, вы могли бы увидеть в списке опцию ‘e’, предназначенную для создания раздела этого типа. Также обратите внимание на то, что наш расширенный раздел (/dev/sda3) имеет тип 5.

Теперь создадим Linux-раздел объемом 40 ГБ и FAT32-раздел объемом 2000 МБ. На этот раз мы просто укажем значения +40G и +2000M, означающие размеры в 40 ГБ и 2000 МБ, соответственно. Вычисление количества цилиндров мы предоставим программе fdisk . Результаты представлены в листинге 7.

Листинг 7. Создание разделов для хранения данных

Изменение типа раздела

Прежде чем завершить работу с программой fdisk , мы изменим типы наших разделов, предназначенных для области подкачки (swap) и файловой системы FAT32 (vfat). Это делается с помощью подкоманды t , предназначенной для изменения типа раздела. Для раздела /dev/sda4 мы укажем тип 82 (область подкачки Linux), а для раздела /dev/sda9 – тип 9 (файловая система FAT32). Чтобы увидеть полный список поддерживаемых типов, нажмите L , как показано в листинге 8.

Листинг 8. Изменение типов раздела

Сохранение таблицы разделов

До сих пор мы просто вносили изменения в таблицу разделов в оперативной памяти. Мы в любой момент могли завершить работу без сохранения изменений с помощью команды q . Если вы хотите что-то изменить, вы можете выполнить команду d для удаления одного или нескольких разделов, а затем создать их заново. Если конфигурация вас устраивает, выполните команду v для контрольной проверки конфигурации, а затем команду w для записи изменений в таблицу разделов и выхода из программы (см. листинг 9). Если вы снова запустите команду fdisk -l , вы увидите, что теперь Linux знает обо всех новых разделах. В отличие от некоторых операционных систем, для начала работы с новыми значениями таблицы разделов перезагрузка компьютера не требуется. Перезагрузка может потребоваться, например, в том случае, если раздел /dev/hda3 становится разделом /dev/hda2 по причине удаления последнего. Если перезагрузка необходима, то fdisk сообщит от этом.

Листинг 9. Сохранение таблицы разделов

Дополнительная информация о команде fdisk

Вы могли заметить, что мы не трогали флаг загрузки ни одного раздела. Наш диск по-прежнему имеет главную загрузочную запись Windows (MBR) и, следовательно, компьютер будет загружаться с первого основного раздела, помеченного в качестве загрузочного (в нашем примере это раздел NTFS).

Ни LILO, ни GRUB, не используют флаг загрузки. Если в MBR установлен один из этих загрузчиков, можно загружать компьютер с раздела Windows/XP. Можно также установить LILO или GRUB в раздел /boot (устройство /dev/hda2), пометить этот раздел как загрузочный и удалить флаг загрузки раздела /dev/hda1. Если в дальнейшем на компьютере планируется использовать только ОС Windows, то лучше оставить исходную запись MBR.

При необходимости команду fdisk можно использовать для изменения очередности разделов в таблице разделов. Обычно при этом изменяются номера разделов, поэтому для восстановления работоспособности системы может потребоваться дополнительная работа. Чтобы внести изменения, переключитесь с помощью подкоманды f в режим эксперта, а затем используйте подкоманду f для изменения очередности разделов, как показано в листинге 10. Если вы не хотите сохранять изменения и обновлять таблицу разделов, то выполните подкоманду q для выхода без сохранения, как это было сделано в предыдущем примере.

Листинг 10. Исправление очередности разделов в таблице разделов

Вы познакомились с одним из способов добавления разделов на компьютере под управлением Linux. С другими способами вы можете познакомиться в статье «Изучаем Linux, 101: поиск и правильное размещение системных файлов».

Типы файловых систем

Linux поддерживает несколько различных файловых систем. Каждая из них имеет свои достоинства, недостатки и особенности. Важным отличительным свойством файловой системы является журналирование, позволяющее быстрее восстановить систему после сбоя. Как правило, если есть выбор, то лучше использовать журналируемую файловую систему. Также при выборе файловой системы вы можете обратить внимание на поддержку расширения Security Enhanced Linux (или SELinux) – Linux с улучшенной безопасностью. Далее мы кратко рассмотрим типы файловых систем, о которых необходимо знать на экзамене LPI. Дополнительную информацию вы можете найти в разделе Ресурсы.

Файловая система ext2

Файловая система ext2 (также известная как second extended filesystem – вторая расширенная файловая система) была разработана для устранения недостатков файловой системы Minix, использовавшейся в ранних версиях Linux. Она широко использовалась в Linux на протяжении многих лет. Файловая система ext2 не является журналируемой, и в настоящее время ей на смену пришла файловая система ext3.

Файловая система ext3

Файловая система ext3 дополняет стандартную систему ext2 возможностями журналирования и поэтому является эволюционным развитием очень стабильной файловой системы. Она обладает достаточной производительностью в большинстве ситуаций и в настоящее время продолжает совершенствоваться. Поскольку эта файловая система основана на проверенной временем системе ext2, то можно преобразовывать существующую файловую систему ext2 в ext3 и обратно в случае возникновения необходимости.

Файловая система ReiserFS

ReiserFS – это файловая система на основе B-дерева, обладающая очень хорошей общей производительностью, в особенности при использовании большого числа маленьких файлов. Файловая система ReiserFS хорошо масштабируется и является журналируемой. Сейчас новые версии ReiserFS не разрабатываются, она не поддерживает возможности SELinux, и ей на смену пришла файловая система Reiser4.

Файловая система XFS

XFS – журналируемая файловая система, обладающая надежной функциональностью и оптимизированная для масштабирования. XFS активно кэширует в ОЗУ передаваемые данные, поэтому при ее использовании рекомендуется подключить компьютер к источнику бесперебойного питания.

Файловая система раздела подкачки

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

Файловая система vfat

Эта файловая система (также известная как FAT32) не является журналируемой и не обладает многими возможностями, необходимыми для полноценной работы с файловыми системами в Linux. Полезное свойство FAT32 состоит в том, что эта файловая система может быть доступна как из Windows, так и из Linux, что делает ее подходящей для обмена данными между этими операционными системами. Не используйте эту файловую систему в Linux, если только вы не планируете организовывать обмен данными между Windows и Linux. Если распаковать gzip- или tar-архив Linux на диск с файловой системой vfat, то будут потеряны все файловые разрешения, например, разрешения на исполнение, а также все символические ссылки, которые могли храниться в архиве.

Файловая система ext3 является сформировавшейся и стабильной файловой системой, и используется по умолчанию в ряде дистрибутивов Linux. Файловая система ReiserFS на протяжении многих лет использовалась по умолчанию в некоторых дистрибутивах, включая SUSE, но на сегодняшний день она используется не так широко.

Создание файловых систем

Для создания файловых систем в Linux используется команда mkfs , а для создания области подкачки – команда mkswap . Фактически команда mkfs представляет собой внешний интерфейс к нескольким командам для работы с файловой системой, таким как mkfs.ext3 для ext3 и mkfs.reiserfs – для ReiserFS.

Чтобы узнать, какие файловые системы поддерживаются вашей системой, используйте команду ls /sbin/mk* . Пример приведен в листинге 11.

Листинг 11. Команды для создания файловых систем

В дальнейшем вы познакомитесь с различными формами некоторых команд. Например, вы увидите, что команды mke2fs, mkfs.ext2 и mkfs.ext3 являются идентичными, так же как и mkreiserfs и mkfs.reiserfs. Файловые системы, которые могут оказаться необходимыми для загрузки системы, используют несколько идентичных файлов с разными именами. В файловых системах, которые нельзя использовать в Linux для корневой файловой системы / (например, vfat или msdos), могут использоваться символические ссылки на эти файлы.

Существует несколько общих опций для всех команд mkfs . Опции, специфичные для создаваемой файловой системы, передаются соответствующей команде в зависимости от типа файловой системы, указанному в опции -type . В наших примерах используется команда mkfs -type , но можно использовать и другие равнозначные формы этой команды. Например, можно использовать форму mkfs -type ext2 , mk2fs или mkfs.ext2 . Для вызова справочных man-страниц по какой-либо определенной файловой системе используйте в качестве имени соответствующую команду mkfs , например, man mkfs.ext3 . Многие значения, выводимые в наших следующих примерах, могут управляться различными опциями mkfs .

Теперь, когда все наши разделы созданы, мы загрузим операционную систему Fedora 12 (вместо более медленного дистрибутива Knoppix, загружаемого с Live-DVD) и отформатируем их в файловых системах. Конечно, вы можете продолжать работать в Knoppix, если захотите. Помните о том, что для создания файловых систем необходимо обладать привилегиями пользователя root.

Создание файловой системы ext3

Давайте отформатируем раздел /dev/sda8 в файловой системе ext3 с помощью команды mkfs , как показано в листинге 12.

Листинг 12. Создание файловой системы ext3

Обратите внимание на то, что для файловой системы ext3 был создан журнал. Если вы хотите добавить журнал к существующей файловой системе ext2, то используйте для этого команду tune2fs с опцией -j .

Полезная опция, используемая для файловых систем ext2 и ext3 – это опция -L с именем, которое будет присвоено разделу в качестве метки. Эту метку можно использовать вместо имени устройства при монтировании файловой системы; при внесении определенных изменений, которые также необходимо отражать в управляющих файлах, метка позволяет изолировать имя устройства, которому она фактически соответствует. Для просмотра существующей метки файловой системы ext2 или ext3 или создания новой используется команда e2label . Длина метки ограничена 16 символами.

Одним из последних нововведений является универсальный уникальный идентификатор (Universally Unique Identifier, UUID), который используется вместо метки. UUID – это 128-битовый идентификатор, обычно отображаемый в виде 32 шестнадцатеричных цифр, разделенных дефисами. Для большинства файловых систем Linux UUID генерируется автоматически при их форматировании. Для просмотра UUID раздела, который мы только что отформатировали, используйте команду blkid (ее можно запустить без прав суперпользователя), как показано в листинге 13. Идентификаторы UUID обладают большей уникальностью по сравнению с метками и особенно полезны при использовании устройств с горячей заменой, например, USB-накопителей.

Листинг 13. Просмотр идентификатора UUID с помощью blkid

Создание файловой системы XFS

Теперь мы заново отформатируем наш раздел ext3, но уже в файловой системе XFS. В дистрибутиве Fedora 12 используется расширение SELinux (Security Enhanced Linux), поэтому с помощью параметра -i следует указать больший размер индексного дескриптора (inode) вместо значения по умолчанию 256. Рекомендуемое значение – 512. Заметьте, что если программа форматирования XFS обнаруживает в разделе уже существующую файловую систему, она предупреждает вас об этом. Также обратите внимание на то, что в процессе форматирования разделу был назначен другой идентификатор UUID.

Листинг 14. Создание файловой системы XFS

С помощью опции -L и имени можно задать метку для файловой системы XFS. Для добавления метки к существующей файловой системе XFS используется команда xfs_admin с опцией -L . Для просмотра метки используется команда xfs_admin с опцией -l . В отличие от файловых систем ext2, ext3 и ReiserFS, метки файловой системы XFS ограничены 12 символами.

Создание файловой системы ReiserFS

Файловая система ReiserFS создается с помощью команды mkfs с опцией -t reiserfs или с помощью команды mkreiserfs . ReiserFS не поддерживает расширение SELinux и постепенно замещается файловой системой Resier4.

С помощью опции -l (или опции –label с указанием имени) можно задать метку для файловой системы ReiserFS. Для просмотра существующей метки файловой системы ReiserFS или добавления новой используется команда reiserfstune . Метки файловой системы ReiserFS ограничены 16 символами.

Файловая система ReiserFS может быть не включена по умолчанию в дистрибутив, поэтому для ее использования может потребоваться установить на компьютере дополнительный пакет ReiserFS. Дополнительную информацию вы можете найти на man- или info-страницах.

Создание файловой системы vfat

Теперь создадим файловую систему FAT32 (vfat) на разделе /dev/sda9.

Листинг 15. Создание файловой системы vfat

Идентификаторы UUID для файловых систем vfat короче по сравнению с обычными UUID, поэтому степень их уникальности ниже. Если вместо UUID вы хотите использовать метку, воспользуйтесь командой dosfslabel . Метки для разделов DOS ограничены 11 символами.

Создание раздела подкачки

Теперь с помощью команды mkswap создадим в разделе /dev/sda4 область подкачки, как показано в листинге 16.

Листинг 16. Создание раздела подкачки

Обратите внимание на то, что последние версии команды mkswap показывают сгенерированный идентификатор UUID.

В отличие от обычных файловых систем, разделы подкачки не монтируются. Вместо этого они активизируются командой swapon . Автоматическая активация разделов подкачки выполняется в сценариях запуска при загрузке Linux.

Другие инструменты и файловые системы

В этом разделе мы рассмотрим инструменты и файловые системы, которые не входят в программу экзамена LPI. Здесь приводится очень краткий обзор некоторых инструментов и файловых систем, которые могут вам встретиться.

Инструменты для работы с разделами

Многие дистрибутивы Linux содержат команды cfdisk и sfdisk . Команда cfdisk обладает расширенным графическим интерфейсом по сравнению с fdisk, включая функции библиотеки ncurses, как показано на рисунке 1. Команда sfdisk предназначена для разработчиков, и ее можно использовать в сценариях. Используйте эту команду, только если вы уверены в том, что делаете.

Рисунок 1. Использование команды cfdisk

Другой популярный инструмент для работы с таблицей разделов – это программа parted , которая может изменять и форматировать разделы различных типов, а также создавать и удалять их. Поскольку команда parted не может изменять размер разделов NTFS, то для этой цели можно использовать команду ntfsresize . Команда qtparted имеет графический интерфейс на базе инструментария Qt и обладает всеми функциями parted и ntfsresize .

Команда gparted – это еще один графический инструмент для работы с разделами, разработанный для среды GNOME. Эта команда использует библиотеку GTK+GUI. Интерфейс gparted изображен на рисунке 2. Дополнительную информацию о командах qtparted и gparted вы можете найти в разделе Ресурсы.

Поскольку эти пакеты могут быть не включены в дистрибутив по умолчанию, то может потребоваться их отдельная инсталляция.

Рисунок 2. Использование команды gparted

Многие дистрибутивы позволяют разбивать диск на разделы, а иногда сжимать существующие разделы NTFS или FAT32 на этапе инсталляции. Руководство по инсталляции вы можете найти в документации вашего дистрибутива.

Диспетчер логических томов

Диспетчер логических томов (Logical Volume Manager, LVM) для Linux позволяет объединять несколько физических устройств хранения в единую группу томов. Например, можно добавить раздел в существующую группу томов, вместо того, чтобы пытаться выделить непрерывное дисковое пространство, необходимое для вашей файловой системы.

Технология RAID

RAID (Redundant Array of Independent Disks) – это технология, обеспечивающая надежное хранение данных с использованием недорогих дисков, стоимость которых гораздо меньше по сравнению со стоимостью дисков для систем высокого уровня. Существует несколько различных типов дисковых RAID-массивов, которые могут быть реализованы как на аппаратном, так и на программном уровне (в Linux поддерживаются оба типа).

Другие файловые системы

Помимо файловых систем рассмотренных в этой статье, существуют и другие файловые системы.

Journaled File System (JFS), разработанная IBM и в настоящее время используемая в корпоративных серверах этой компании. Она создана для использования в серверных средах с высокой пропускной способностью. Эта файловая система доступна для использования в Linux и включена в некоторые дистрибутивы. Для создания файловой системы JFS используется команда mkfs.jfs .

Файловая система btrfs (B-Tree file system), изначально разработанная корпорацией Oracle и доступная по лицензии GPL. Это новая файловая система, использующая механизм копирования при записи (Copy-On-Write, COW), реализует усовершенствованные функции обеспечения отказоустойчивости, восстановления и администрирования. Эта файловая система может отсутствовать в вашем дистрибутиве, поэтому для поддержки btrfs вам может потребоваться установить дополнительный пакет, например btrfs-progs.

Существуют и другие файловые системы, например, cramfs, которая часто используется во встраиваемых системах.

Ресурсы для скачивания

Похожие темы

  • Оригинал статьи: Learn Linux, 101: Create partitions and filesystems (EN).
  • Используйте перечень материалов для подготовки к экзаменам LPIC-1 для поиска статей developerWorks, которые помогут вам подготовиться к сдаче экзаменов программы сертификации LPIC-1, основанной на целях по состоянию на апрель 2009 года.
  • На Web-сайте программы сертификации LPIC (EN) вы найдете подробные цели, списки задач и примерные вопросы всех трех уровней сертификации на администратора Linux-систем профессионального института Linux. В частности, на этом сайте представлены цели экзаменов LPI 101 и LPI 102 по состоянию на апрель 2009 года. Всегда обращайтесь к Web-сайту программы сертификации LPIC, чтобы узнать последние цели.
  • Просмотрите всю серию статей для подготовки к экзаменам института LPI на сайте developerWorks, основанных на предыдущих целях, определенных до апреля 2009 года, чтобы изучить основы администрирования Linux и подготовиться к экзаменам для получения сертификата администратора Linux.
  • Посетите домашнюю страницу Стандарта иерархии файловой системы (Filesystem Hierarchy Standard, FHS) (EN).
  • Узнайте о стандарте Linux Standard Base (LSB) (EN) – проекте группы Free Standards Group (FSG), целью которого является стандартизация внутренней структуры операционных систем, основанных на Linux.
  • Узнайте о файловой системе btrfs (B-Tree file system) (EN).
  • Узнайте о файловой системе Reiser4 (EN) – наследнице ReiserFS.
  • Web-сайт Linux Documentation Project (EN) содержит большое количество полезной документации, в особенности, HOWTO-руководств.

Комментарии

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

  • Как скопировать текст в mac os
  • Как скопировать путь к папке в mac os
  • Как скопировать большой файл на флешку в mac os
  • Как скопировать mac os на другой жесткий диск
  • Как скинуть большой файл на флешку на mac os