Handbook:X86/Installation/Disks

From Gentoo Wiki
Jump to: navigation, search
This page is a translated version of the page Handbook:X86/Installation/Disks and the translation is 100% complete.

Other languages:
Deutsch • ‎English • ‎Türkçe • ‎español • ‎français • ‎polski • ‎português do Brasil • ‎русский • ‎українська • ‎中文(中国大陆)‎ • ‎日本語 • ‎한국어
X86 Handbook
Установка
Об установке
Выбор подходящего источника для установки
Настройка сети
Подготовка дисков
Установка stage3
Установка базовой системы
Настройка ядра
Настройка системы
Установка системных утилит
Настройка загрузчика
Завершение
Работа с Gentoo
Введение в Portage
USE-флаги
Возможности Portage
Система init-скриптов
Переменные окружения
Работа с Portage
Файлы и каталоги
Переменные
Смешение ветвей программного обеспечения
Дополнительные утилиты
Дополнительные репозитории пакетов
Расширенные возможности
Настройка сети
Начальная настройка
Расширенная настройка
Модульное построение сети
Беспроводная сеть
Добавляем функциональность
Динамическое управление


Contents

Введение в блочные устройства

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

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

Для начала, рассмотрим блочные устройства. Наиболее известным блочным устройством можно считать первый диск в системе Linux, именуемый /dev/sda. И SCSI-, и Serial ATA-диски обозначаются как /dev/sd*; благодаря фреймворку ядра libata даже IDE-диски обозначаются как /dev/sd*. Если же используется старый фреймворк устройств, первым IDE-диском будет /dev/hda.

Вышеназванные блочные устройства представляют абстрактный интерфейс к диску. Пользовательские приложения могут использовать их для взаимодействия с диском, не заботясь о том, какой это диск — IDE, SCSI или ещё какой-либо. Программа просто адресует пространство на диске как совокупность следующих друг за другом 512-байтных блоков с произвольным доступом.



Таблица разделов

Не смотря на то, что теоретически возможно использовать весь (raw) не разбитый диск для размещения системы Linux (например, при создании btrfs RAID), этого почти никогда не случается на практике. Вместо этого, блочные устройства (диск) разбивается на меньшие, более удобные для обращения, блочные устройства. В системах x86, они называются разделами. В настоящее время есть две стандартных технологии разметки дисков: MBR и GPT.

MBR

MBR (Master Boot Record, главная загрузочная запись) использует 32-битные идентификаторы для определения начала сектора и длины раздела, поддерживает три типа разделов: основные, расширенные и логические. Информация о расположении основных разделов хранится в самой главной загрузочной записи - очень небольшом (обычно 512 байт) месте в самом начале диска. В связи с этим небольшим размером поддерживаются только четыре основных раздела (например, от /dev/sda1 до /dev/sda4).

Для поддержки большего количества разделов один из основных разделов может быть помечен как расширенный раздел. Этот раздел может содержать логические разделы (разделы внутри раздела).

Важно
Although still supported by most motherboard manufacturers partition tables are considered legacy. Unless working with hardware that is pre-2010, it best to partition a disk using a GUID Partition Table. Readers who must proceed with MBR should acknowledge the following information:
  • Most post-2010 motherboards consider MBR a legacy (supported, but not ideal) boot mode.
  • Due to using 32-bit identifiers, master boot record partitioning tables cannot handle disks that are greater than 2 TiBs in size.
  • Unless a extended partition is created, MBR supports a maximum of four partitions.
  • The MBR setup does not provide any backup-MBR, so if an application or user overwrites the MBR, all partition information is lost.

The Handbook authors suggest using GPT whenever possible for Gentoo installations.

GPT

GPT (GUID Partition Table, таблица разделов GUID) использует 64-битные идентификаторы разделов. Место, в котором храниться информация о разделах также гораздо больше, чем 512 байт в MBR. Это подразумевает что почти нет никаких ограничений на количество разделов в разбитом с помощью GPT диске. Также предельный размер раздела гораздо больше (почти 8 ЗБ - да, зеттабайт).

Когда программным интерфейсом системы между операционной системой и прошивкой является UEFI (вместо BIOS), GPT является почти обязательным, так как с MBR будут возникать проблемы совместимости.

Также GPT использует контрольные суммы и избыточность. Он содержит контрольные суммы CRC32 для обнаружения ошибок в заголовке и таблице разделов. У GPT есть резервная таблица в конце диска. Ее можно использовать для восстановления первичной таблицы GPT, которая располагается в начале диска.

GPT или MBR

Из приведенного выше описания, можно подумать, что использование GPT должно быть априори рекомендуемым, но тем не менее есть несколько оговорок.

GPT можно использовать на компьютерах с BIOS, но тогда может не работать двойная загрузка с операционными системами Microsoft Windows. Причина в том, что Microsoft Windows системы будут загружаться в режиме UEFI, если обнаружат метку GPT раздела.

В некоторых забагованных прошивках материнских платах, настроенных на загрузку в режимах BIOS/CSM/legacy, также могут возникать проблемы с загрузкой с дисков помеченных (label) GPT. Если это так, то можно обойти проблему путем добавления флага загрузки/активности на защищенном разделе MBR, который должен быть сделан через fdisk с параметром -t dos, чтобы заставить их прочитать таблицу разделов, используя формат MBR.

В этом случае, запустите fdisk и переключите флаг, используя a. Нажмите (1) для выбора первого раздела, затем нажмите (w) для записи изменений на диск и выйдите из приложения fdisk:

user $fdisk -t dos /dev/sda
Welcome to fdisk (util-linux 2.24.1).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
  
Command (m for help): a
Partition number (1-4): 1
  
Command (m for help): w

Использование UEFI

При установке Gentoo на систему использующую UEFI для загрузки операционной системы (вместо BIOS) важно, что бы был создан системный раздел EFI (EFI System Partition ESP). Расположенные ниже инструкции для parted содержат эту информацию, чтобы правильно произвести эту операцию.

Системный раздел EFI (ESP) должен быть одним из вариантов файловой системы FAT (иногда отображаемый как vfat на системах Linux). В официальной спецификации UEFI говориться о том, что UEFI-firmware может работать с FAT12, 16 и 32, но рекомендуется использовать FAT32 для ESP. Продолжим, отформатировав ESP в FAT32.

root #mkfs.fat -F 32 /dev/sda2
Предупреждение
Если ESP не использует один из вариантов FAT, то не гарантируется, что системная прошивка UEFI сможет найти загрузчик (или ядро Linux) и, скорей всего, не сможет загрузить систему!

Продвинутое хранилище

Btrfs RAID

Как было отмечено выше, btrfs имеет возможность создавать файловые системы на нескольких устройствах. Файловые системы btrfs созданные таким образом, могут действовать в следующих режимах: RAID0, RAID1, RAID10, RAID5 и RAID6. Режимы RAID 5 и 6 значительно улучшились, но по-прежнему считаются неустойчивыми. После того как нескольких файловых устройство было создано, могут быть добавлены новые устройства а старые устройства удалены с помощью нескольких команд. Btrfs активнее других файловых систем вводит новшества, что делает его не таким дружелюбным к новичкам.

Файловая система ext4 может быть преобразована в файловую систему Btrfs, которая (ext4) будет полезна тем, кто хотел бы установить Gentoo на стабильную, хорошо испытанную файловую систему и постепенно увеличивать свои знания о новых файловых систем, таких как btrfs, экспериментальным путем.

LVM

Установочный CD x86 предоставляет поддержку Logical Volume Manager (LVM). LVM увеличивает гибкость в создании разделов. Инструкции по установке ниже будут фокусироваться на "обычных" разделах, но все же хорошо знать, что LVM поддерживается, если это необходимо. Посетите статью LVM для более подробной информации. Новички, будьте осторожны, так как полная поддержка LVM выходит за рамки данного руководства.

Схема разделов по умолчанию

Далее, по ходу руководства будет использоваться следующая схема разделов как простой пример разбития диска:

Раздел Файловая система Размер Описание
/dev/sda1 (bootloader) 2M BIOS boot раздел
/dev/sda2 ext2 (или fat32, если будет использоваться UEFI) 128M Boot/EFI системный раздел
/dev/sda3 (swap) 512M или больше Swap раздел
/dev/sda4 ext4 Оставшаяся часть диска Root раздел

Если этого достаточно и читатель собирается использовать GPT, то он может сразу перейти к По умолчанию: Использование parted для создания разделов диска. Тем, кому по прежнему нужен MBR (такое бывает!), и используется разбитие диска как в примере, они могут перейти к Альтернатива: Использование fdisk для создания разделов диска.

И fdisk, и parted являются инструментами для создания разделов. fdisk широко известен, стабилен и рекомендован для создания разделов MBR, а parted был первым в Linux из менеджеров блочных устройств, который поддерживает GPT разделы. Для тех, кому нравится интерфейс fdisk могут использовать gdisk (GPT fdisk) как альтернативу parted.

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

Разрабатываем схему разделов

Сколько разделов и насколько большие?

Количество разделов очень сильно зависит от назначения системы. Например, если много пользователей, скорее всего, захочется отделить /home/ для повышения безопасности и упрощения резервного копирования. Если Gentoo устанавливается для использования в роли почтового сервера, следует отделить /var/, так как вся почта хранится в /var/. Правильный выбор файловой системы увеличит производительность. Для игровых серверов потребуется отдельный раздел /opt/, так как большинство игровых серверов устанавливается туда. Причины выделения те же, что и для /home/: безопасность и резервное копирование. Определенно не помешает побольше места для /usr/: не только потому, что там хранится большинство приложений, а еще из-за того, что лишь Gentoo репозиторий, не считая размещенных в нем архивов с исходным кодом, занимает около 500 Мб.

Все сильно зависит от того, чего хочет достигнуть администратор. Наличие отдельных разделов или томов имеет следующие плюсы:

  • Можно выбрать наиболее подходящую файловую систему для каждого раздела или тома.
  • Свободное место во всей системе не кончится "вдруг" из-за того, что одна-единственная сбойная программа постоянно записывает файлы в раздел или том.
  • Необходимая проверка файловых систем будет занимать меньше времени, так как проверка разных разделов может выполняться параллельно (еще больший выигрыш времени дает использование нескольких физических дисков).
  • Можно повысить безопасность системы, монтируя часть разделов в режиме read-only (только для чтения), nosuid (игнорируется бит setuid), noexec (игнорируется бит исполнения) и так далее.

Однако у множества разделов также есть недостатки. Если они не настроены правильно, может получиться так, что будет огромное количество свободного места на одном разделе и отсутствием его на другом. Другой проблемой является то, что отдельные разделы, особенно для важных точек монтирования, например /usr/ или /var/, часто требуют загрузки initramfs, чтобы смонтировать разделы прежде чем запустятся другие загрузочные скрипты. Это не всегда является проблемой, так что результаты могут быть разные.

Также существует лимит в 15 разделов для SCSI и SATA, если только на диске не используются метки GPT.

Что по поводу пространства подкачки?

Не существует идеального значения для раздела подкачки. Целью пространства подкачки является предоставление дискового пространства ядру, когда оперативная память (ОЗУ) сильно используется. Пространство подкачки позволяет ядру переносить страницы памяти, которые, скорее всего, не будут использоваться в ближайшее время, на диск (что называется swap, или page-out), освобождая память. Конечно, если эта память, вдруг, неожиданно понадобится, эти страницы должны быть помещены обратно в память (page-in), что займет некоторое время (так как диски - это очень медленные устройства, если сравнивать их с оперативной памятью).

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


Что такое загрузочный раздел BIOS?

Загрузочный раздел BIOS очень маленький (1-2 Мб), в него загрузчики, такие как GRUB2, могут поместить дополнительные данные, которые не помещаются в выделенное хранилище (несколько сотен байтов в случае MBR) и не могут быть помещены в другое место.

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

Для полноты картины загрузочный раздел BIOS необходим, когда GPT разметка разделов используется совместно с GRUB2, или когда MBR разметка разделов используется совместно с GRUB2 когда начало первого раздела находится ранее 1Мб на диске.

По умолчанию: Использование parted для создания разделов диска

В этой главе, пример разметки разделов, упомянутый ранее в инструкции, будет использоваться такой:

Раздел Описание
/dev/sda1 BIOS boot раздел
/dev/sda2 Boot раздел
/dev/sda3 Swap раздел
/dev/sda4 Root раздел

Измените структуру разделов в соответствии с личными предпочтениями.

Просмотр текущей разметки разделов с помощью parted

Приложение parted предлагает простой интерфейс для разбития дисков и поддерживает очень большие разделы (более 2 ТБ). Указывайте для parted диск (например, в нашем примере мы используем /dev/sda). Рекомендуется также для parted указывать оптимальное выравнивание разделов:

root #parted -a optimal /dev/sda
GNU Parted 2.3
Using /dev/sda
Welcome to GNU Parted! Type 'help' to view a list of commands.

Выравнивание разделов означает, что разделы будут начинаться с известных границ, в пределах диска, гарантируя, что операции на диске от уровня операционной системы (извлечения страниц с диска) будут использовать наименьшее количество внутренних операций диска. Невыровненные разделы могут потребовать извлечения двух страниц, даже если операционная система запросила только одну.

Чтобы узнать обо всех опциях, поддерживаемых parted введите help.

Установка метки GPT

Большинство дисков в архитектурах x86 или amd64 создаются с меткой msdos. Используйте parted для размещения метки GPT на диске используйте команду mklabel gpt:

Предупреждение
Изменение типа разделов удалит все разделы на диске. Вся информация на диске будет потеряна.
(parted)mklabel gpt

Чтобы сделать структуру разделов MBR используйте команду mklabel msdos.

Удаление всех разделов с помощью parted

Если это не было сделано ранее (например через операцию mklabel, или если диск был недавно отформатирован), сначала удалите все существующие разделы на диске. Введите print, чтобы посмотреть текущие разделы и rm <N>, где <N> — номер раздела для удаления.

(parted)rm 2

Сделайте то же для всех других разделов, в которых нет необходимости. Однако, убедитесь, чтобы не сделали ошибок - parted применяет изменения немедленно (в отличии от fdisk, где пользователю дается возможность "отменить" изменения перед сохранением или выходом).

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

Теперь, с помощью parted, создадим разделы со следующими параметрами:

  • Используемый тип раздела. Обычно это основной раздел. Если используется для разделов метка msdos, то учтите, что основных разделов может быть только 4. Если необходимо больше чем 4 раздела, то необходимо сначала создать расширенный раздел, а затем создать внутри него логические.
  • Начальная позиция раздела (которая может быть выражена в MB, GB, ...)
  • Конечная позиция раздела (которая может быть выражена в MB, GB, ...)

Во-первых, необходимо сказать parted, что единицы, с которыми мы работаем мегабайты (на самом деле мебибайты, сокращенно MiB, являющиеся "стандартом" обозначения, но мы будем использовать MB в тексте, поскольку это намного более распространено):

(parted)unit mib

Теперь создайте 2МБ раздел, который будет использоваться загрузчиком GRUB2 позже. Используйте команду mkpart и сообщите parted, что раздел начинается с 1 МБ от начала диска и заканчивается на 3 МБ (для создания раздела размером 2 МБ).

(parted)mkpart primary 1 3
(parted)name 1 grub
(parted)set 1 bios_grub on
(parted)print
Model: Virtio Block Device (virtblk)
Disk /dev/sda: 20480MiB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
  
Number   Start      End      Size     File system  Name   Flags
 1       1.00MiB    3.00MiB  2.00MiB               grub   bios_grub

Сделайте тоже самое для загрузочного раздела (128 Мб), раздела подкачки (в примере 512 МБ) и корневого раздела, который занимает все оставшееся пространство (для него конец помечается как -1, что означает конец диска минус один МБ, это подходит для последнего раздела).

(parted)mkpart primary 3 131
(parted)name 2 boot
(parted)mkpart primary 131 643
(parted)name 3 swap
(parted)mkpart primary 643 -1
(parted)name 4 rootfs

При использовании интерфейса UEFI для загрузки системы (вместо BIOS), пометьте загрузочный раздел как системный раздел EFI. Parted делает это автоматически, когда устанавливается опция boot у раздела:

(parted)set 2 boot on

Конечный результат выглядит так:

(parted)print
Model: Virtio Block Device (virtblk)
Disk /dev/sda: 20480MiB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
  
Number   Start      End      Size     File system  Name   Flags
 1       1.00MiB    3.00MiB  2.00MiB               grub   bios_grub
 2       3.00MiB    131MiB   128MiB                boot   boot
 3       131MiB     643MiB   512MiB                swap
 4       643MiB     20479MiB 19836MiB              rootfs
Заметка
При установке на UEFI, на разделе boot будут отображаться флаги boot и esp (efi system partition).

Используйте команду quit для выхода из parted.

Альтернатива: Использование fdisk для создания разделов диска

Заметка
Хотя последние версии fdisk должны поддерживать GPT, до сих пор есть некоторые проблемы. Инструкции приведеные ниже, предполагают, что для разметки разделов используется MBR.

Следующие части объяснят, как создать структуру разделов из примера с использованием fdisk. Пример структуры разделов ранее упоминался:

Раздел Описание
/dev/sda1 BIOS boot раздел
/dev/sda2 Boot раздел
/dev/sda3 Swap раздел
/dev/sda4 Root раздел

Измените структуру разделов в соответствии с личными предпочтениями.

Просмотр текущей разметки разделов

fdisk является популярным и мощным инструментом для создания разделов на диске. Запустите fdisk, передав в качестве параметра диск (в нашем примере мы используем /dev/sda):

root #fdisk /dev/sda
Заметка
Чтобы использовать поддержку GPT, добавте -t gpt. Рекомендуется внимательно исследовать вывод fdisk в случае, если более свежие разработки в fdisk изменят его поведение по умолчанию дефолтной установки MBR. Дальнейшие инструкции предполагают схему MBR.

Используйте клавишу p для отображения текущей конфигурации разделов:

Command (m for help):p
Disk /dev/sda: 240 heads, 63 sectors, 2184 cylinders
Units = cylinders of 15120 * 512 bytes
  
   Device Boot    Start       End    Blocks   Id  System
/dev/sda1   *         1        14    105808+  83  Linux
/dev/sda2            15        49    264600   82  Linux swap
/dev/sda3            50        70    158760   83  Linux
/dev/sda4            71      2184  15981840    5  Extended
/dev/sda5            71       209   1050808+  83  Linux
/dev/sda6           210       348   1050808+  83  Linux
/dev/sda7           349       626   2101648+  83  Linux
/dev/sda8           627       904   2101648+  83  Linux
/dev/sda9           905      2184   9676768+  83  Linux

Данный диск был разбит на семь файловых систем Linux (каждый раздел соответственно подписан как "Linux"), а так же раздел подкачки (названный как "Linux swap").

Удаление всех разделов с помощью fdisk

Сначала удалите все существующие разделы на диске. Введите d для удаления раздела. Например, чтобы удалить существующий /dev/sda1:

Command (m for help):d
Partition number (1-4): 1

Раздел был помечен для удаления. Он больше не будет отображаться при печати списка разделов при вводе p, но не будет удален, пока не будут сохранены изменения. Это дает возможность пользователю прервать операцию, если была допущена ошибка - в этом случае сразу нажмите q и Enter, раздел не будет удален.

Повторяйте ввод p чтобы вывести список разделов, вводите d и номер раздела для его удаления. В конечном счете, таблица разделов будет пуста:

Command (m for help):p
Disk /dev/sda: 30.0 GB, 30005821440 bytes
240 heads, 63 sectors/track, 3876 cylinders
Units = cylinders of 15120 * 512 = 7741440 bytes
  
Device Boot    Start       End    Blocks   Id  System

Теперь запомненная в памяти таблица разделов пуста, мы готовы создавать разделы.

Создание загрузочного раздела BIOS

Сначала создаем маленький загрузочный раздел BIOS. Нажмите n, чтобы создать новый раздел, затем p, чтобы выбрать основной раздел, следом 1 для выбора первого основного раздела. При запросе первого сектора, убедитесь, что он начинается с 2048 (который необходим для загрузчика) и нажмите Enter. При запросе последнего сектора введите +2M для создания раздела размером 2Mbyte:

Заметка
Начало с сектора 2048 - отказоустойчивое решение для обнаружения загрузчиком этого раздела, как доступного для использования.
Command (m for help):n
Command action
  e   extended
  p   primary partition (1-4)
p
Partition number (1-4): 1
First sector (64-10486533532, default 64): 2048
Last sector, +sectors +size{M,K,G} (4096-10486533532, default 10486533532): +2M

Помете раздел, в случае использования UEFI:

Command (m for help):t
Selected partition 1
Hex code (type L to list codes): 4
Changed system type of partition 1 to 4 (BIOS boot)
Заметка
Использование UEFI со структурой разделов MBR не рекомендуется. Если система использует UEFI, пожалуйста, используйте структуру GPT.

Создание загрузочного раздела

Сначала создаем маленький загрузочный раздел. Введите n, чтобы создать новый раздел, затем p, чтобы выбрать основной раздел, следом 2 для выбора второго основного раздела. При запросе первого сектора, примите предложенное по умолчанию значение, нажав Enter. При запросе последнего сектора введите +128M для создания раздела размером 128Mbyte:

Command (m for help):n
Command action
  e   extended
  p   primary partition (1-4)
p
Partition number (1-4): 2
First sector (5198-10486533532, default 5198): (Hit enter)
Last sector, +sectors +size{M,K,G} (4096-10486533532, default 10486533532): +128M

Теперь, при нажатии p, отображаются следующие разделы:

Command (m for help):p
Disk /dev/sda: 30.0 GB, 30005821440 bytes
240 heads, 63 sectors/track, 3876 cylinders
Units = cylinders of 15120 * 512 = 7741440 bytes
  
   Device Boot    Start       End    Blocks   Id  System
/dev/sda1             1         3      5198+  ef  EFI (FAT-12/16/32)
/dev/sda2             3        14    105808+  83  Linux

Введите a для переключения флага загрузки и выберите 2. После нажатия p повторно, заметите, что * находится в столбце "Boot".

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

Для создания раздела подкачки введите n, чтобы создать новый раздел, затем p, чтобы сказать fdisk, что раздел должен быть основной. Затем введите 3 для создания третьего основного раздела, /dev/sda3. При появлении запроса последнего сектора, наберите +512M (или любой другой размер, необходимый для подкачки) для создания раздела размером 512M.

После того как это будет сделано введите t для выбора типа раздела, 3 для выбора только что созданного раздела и введите 82, чтобы установить тип раздела на "Linux Swap".

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

Наконец, чтобы создать корневой раздел введите n, чтобы создать новый раздел, затем p, чтобы сказать fdisk, что создаваемый раздел должен быть основным. Затем введите 4, чтобы создать четвертый основной раздел, /dev/sda4. При запросе первого сектора нажмите Enter. При запросе последнего нажмите Enter, чтобы создать раздел занимающий все оставшееся доступное пространство диска. После завершения этих шагов введите p для вывода на экран таблицы разделов, которая выглядит например так:

Command (m for help):p
Disk /dev/sda: 30.0 GB, 30005821440 bytes
240 heads, 63 sectors/track, 3876 cylinders
Units = cylinders of 15120 * 512 = 7741440 bytes
  
   Device Boot    Start       End    Blocks   Id  System
/dev/sda1             1         3      5198+  ef  EFI (FAT-12/16/32)
/dev/sda2   *         3        14    105808+  83  Linux
/dev/sda3            15        81    506520   82  Linux swap
/dev/sda4            82      3876  28690200   83  Linux

Сохранение разметки разделов

Для сохранения разметки разделов и выхода из fdisk введите w.

Command (m for help):w

Разделы созданы, теперь настало время создать на них файловые системы.



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

Введение

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

Файловые системы

На выбор доступно несколько файловых систем. Некоторые из них считаются стабильными на архитектуре x86. Рекомендуется прочитать информацию о файловых системах и об их состоянии поддержки перед тем, как выбирать экспериментальные для важных разделов.

btrfs
Файловая система следующего поколения, обеспечивающая множество дополнительных функций, таких как мгновенные снимки, самовосстановление с помощью контрольных сумм, прозрачной компрессии, субтомов и интегрированным RAID. Некоторые дистрибутивы начали предлагать ее из коробки, но она еще не готова к использованию в промышленной среде. Общедоступны отчеты об ошибках в файловой системе. Ее разработчики призывают людей для безопасности использовать последнюю версию ядра, для решения уже известных проблем. Она разрабатывается уже много лет и пока далеко до завершения. Исправления иногда портируются в более старые версии ядра. Используйте с осторожностью эту файловую систему!
f2fs
Файловая система (Flash-Friendly File System) была создана Samsung для использования на NAND накопителях. По состоянию на 2 квартал 2016 года файловая система считается не завершенной, но она может быть достойным выбором при установке на microSD карту, USB накопитель или другие накопители на основе флэш.
ext2
Это проверенная и надежная файловая система Linux, но она не обладает средствами журналирования метаданных, что означает, что проверка файловой системы ext2 при запуске может занимать довольно много времени. Существует достаточно широкий выбор журналируемых файловых систем нового поколения, целостность которых может быть проверена очень быстро, что является преимуществом перед не журналируемыми системами. Журналирование файловой системы позволяет избежать долгих задержек при загрузке системы и так же избежать ее неустойчивого состояния.
ext3
Журналируемая версия файловой системы ext2, обеспечение журналирования метаданных для быстрого восстановления в дополнение к другим режимам журналирования, таким как журналирование всех данных и упорядоченных данных.
ext4
Изначально созданная как ответвление от ext3, ext4 приносит новые возможности, повышение производительности и устранение ограничений на размер раздела на диске. Она может быть размером до 1 ЭБ и максимальный размер файла 16ТБ. Вместо классического ext2/3 блочного распределения ext4 использует экстенты, которые улучшают производительность при работе с большими файлами и уменьшают фрагментацию. Ext4 также обеспечивает более сложные алгоритмы распределения блоков (задержка распределения и мультиблочное распределение) дающие драйверу файловой системы больше возможностей по оптимизации размещения данных на диске. Ext4 рекомендуется как универсальная файловая система для всех платформ.
JFS
Высокопроизводительная журналируемая файловая система от IBM. JFS это легкая, быстрая и надежная файловая система, основанная на B+tree с хорошей производительностью в различных условиях.
ReiserFS
Основаная на B+tree журналируемая файловая система имеющая хорошую общую производительность, особенно при работе с множеством мелких файлов cost of more CPU cycles. ReiserFS, по видимому, менее поддерживаемая, чем другие файловые системы.
XFS
Файловая система с журналированием метаданных, которая поставляется с мощным набором функций и оптимизирована для масштабируемости. XFS, кажется, менее снисходительно относится к различным аппаратным проблемам.
vfat
Так же известна как FAT32, поддерживается Linux, но без поддержки каких-либо настроек разрешений. В основном используется для взаимодействия с другими операционными системами (в основном Microsoft Windows), но также необходима при использовании некоторых системных прошивок (например UEFI).
NTFS
Эта файловая система (New Technology Filesystem) считается флагманской файловой системой от Microsoft Windows. Как и vfat она не сохраняет настройки разрешений и расширенные атрибуты, необходимые для BSD или Linux для нормальной работы, поэтому она не может быть использована как корневая файловая система. Её необходимо использовать только для взаимодействия с Microsoft Windows компьютерами (обратите внимание на акцент слова только).

При использовании ext2, ext3 или ext4 на малых разделах (менее 8 Гб) файловая система должна быть создана с надлежащими опциями резервирования достаточного количества inodes. Приложение mke2fs (mkfs.ext2) использует настройки "bytes-per-inode" для вычисления сколько inodes должна иметь файловая система. На небольших разделах рекомендуется увеличивать расчетное количество inodes.

Для ext2, ext3 или ext4 может быть выполнена одна из следующих команд:

root #mkfs.ext2 -T small /dev/<device>
root #mkfs.ext3 -T small /dev/<device>
root #mkfs.ext4 -T small /dev/<device>

Как правило необходимо увеличивать в четыре раза количество inodes для таких систем, снижая "bytes-per-inode" с одного на 16kB до одного на 4kB. Это может быть настроено далее с помощью рейтинга:

root #mkfs.ext2 -i <ratio> /dev/<device>

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

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

Файловая система Команда для создания На установочном CD? Пакет
btrfs mkfs.btrfs Да sys-fs/btrfs-progs
ext2 mkfs.ext2 Да sys-fs/e2fsprogs
ext3 mkfs.ext3 Да sys-fs/e2fsprogs
ext4 mkfs.ext4 Да sys-fs/e2fsprogs
f2fs mkfs.f2fs Да sys-fs/f2fs-tools
jfs mkfs.jfs Да sys-fs/jfsutils
reiserfs mkfs.reiserfs Да sys-fs/reiserfsprogs
xfs mkfs.xfs Да sys-fs/xfsprogs
vfat mkfs.vfat Да sys-fs/dosfstools
NTFS mkfs.ntfs Да sys-fs/ntfs3g

Например, чтобы сделать загрузочный раздел (/dev/sda2) в ext2 и корневой раздел (/dev/sda4) в ext4 при использовании структуры разделов из примера, используются следующие команды:

root #mkfs.ext2 /dev/sda2
root #mkfs.ext4 /dev/sda4

Теперь созданы файловые системы на вновь созданных томах (или логических разделах).

Активация раздела подкачки

Для инициализации разделов подкачки используется команда mkswap:

root #mkswap /dev/sda3

Чтобы активировать раздел подкачки, используйте swapon:

root #swapon /dev/sda3

Создайте и активируйте раздел подкачки командами выше:

Монтирование корневого раздела

Теперь, когда созданы разделы и файловые системы на них, настало время их смонтировать. Используйте команду mount, но не забывайте, что необходимо создать каталоги для монтирования каждого созданного раздела. В качестве примера мы смонтируем корневой раздела:

root #mount /dev/sda4 /mnt/gentoo
Заметка
Если /tmp/ должен находится на отдельном разделе, не забудьте после монтирования изменить права доступа:
root #chmod 1777 /mnt/gentoo/tmp
Это так же справедливо для /var/tmp.

Позже в инструкции будут смонтированы файловая система proc (виртуальный интерфейс с ядром) и другие псевдо-файловые системы ядра. Но сначала мы устанавливаем установочные файлы Gentoo.