Handbook:HPPA/Installation/Disks

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page Handbook:HPPA/Installation/Disks and the translation is 100% complete.
HPPA Handbook
Установка
Об установке
Выбор подходящего источника для установки
Настройка сети
Подготовка дисков
Установка файла stage
Установка базовой системы
Настройка ядра
Настройка системы
Установка системных утилит
Настройка загрузчика
Завершение
Работа с Gentoo
Введение в Portage
USE-флаги
Возможности Portage
Система сценариев инициализации
Переменные окружения
Работа с Portage
Файлы и каталоги
Переменные
Смешение ветвей программного обеспечения
Дополнительные утилиты
Дополнительные репозитории пакетов
Расширенные возможности
Настройка сети OpenRC
Начальная настройка
Расширенная настройка
Модульное построение сети
Беспроводная сеть
Добавляем функциональность
Динамическое управление


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

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

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

Для начала, рассмотрим блочные устройства. Устройства SCSI и Serial ATA обозначаются как /dev/sda, /dev/sdb, /dev/sdc и так далее. На более современных компьютерах твердотельные накопители NVMe на базе PCI Express имеют дескриптор вида /dev/nvme0n1, /dev/nvme0n2 и так далее.

Следующая таблица поможет определить необходимый тип блочного устройства в системе:

Тип устройства Дескриптор устройства по умолчанию Примечания и полезные сведения
IDE, SATA, SAS, SCSI или USB flash /dev/sda Данный тип устройств стал доступным примерно с 2007 года и встречается до сих пор, являясь, пожалуй, самым используемым типом в Linux. Устройства могут подключаться через шины SATA, SCSI или USB в виде устройства блочного хранилища. Например, первый раздел на первом SATA устройстве обозначается как /dev/sda1.
NVM Express (NVMe) /dev/nvme0n1 Передовая на данный момент технология твердотельных накопителей. Устройства NVMe подключаются к шине PCI Express и обладают наиболее быстрой скоростью передачи блочных данных, доступной на рынке. Системы образца 2014 года и новее могут иметь поддержку устройств NVMe. Первый раздел на первом NVMe устройстве обозначается как /dev/nvme0n1p1.
MMC, eMMC и SD /dev/mmcblk0 Устройства embedded MMC, SD-карты и другие типы карт памяти могут использоваться для хранения данных. Однако не все системы могут позволить загружаться с данного типа устройств. Не рекомендуется использовать данные устройства для установки Linux; лучше используйте их по прямому назначению — для переноса файлов. Также их можно использовать для кратковременного резервного копирования или снимков диска.

Данные блочные устройства представляют абстрактный интерфейс к диску. Пользовательские приложения могут использовать их для взаимодействия с диском, не заботясь о том, какой это диск — SATA, SCSI или какой-либо ещё. Программа просто адресует пространство на диске как совокупность следующих друг за другом 4096-байтных (4K) блоков с произвольным доступом.


Разделы и слайсы

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

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

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

Расположение разделов на диске сильно зависит от потребностей системы и файловой системы (файловых систем). Если в ней будет много пользователей, рекомендуется разместить /home на отдельном разделе, что улучшит безопасность и значительно упростит резервное копирование (а также другие операции сопровождения). Если Gentoo устанавливается для использования в роли почтового сервера, следует отделить /var, так как вся почта хранится в каталоге /var. Для игровых серверов потребуется отдельный раздел /opt, так как большинство игровых серверов устанавливается туда. Причины выделения те же, что и для каталога /home: безопасность, резервное копирование и сопровождение.

В большинстве случаев /usr и /var должны быть достаточно большого размера. В /usr хранится большинство приложений, доступных системе, а также исходные коды ядра Linux (в каталоге /usr/src). По умолчанию в /var хранится репозиторий пакетов Gentoo (расположенный в /var/db/repos/gentoo), который, в зависимости от файловой системы, занимает около 650 МиБ дискового пространства. Оценка этого пространства не включает каталоги /var/cache/distfiles и /var/cache/binpkgs, в которых будут скапливаться архивы исходных кодов и (не обязательно) двоичных пакетов, которые будут формироваться в самой системе.

Сколько именно и какого объёма разделов нужно системе — всё зависит от сочетания различных факторов, которые необходимо принимать во внимание. Наличие отдельных разделов или томов имеет следующие плюсы:

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


Однако у множества разделов также есть недостатки:

  • Если они не настроены правильно, может получиться так, что будет огромное количество свободного места на одном разделе и нехватка на другом.
  • Отдельный раздел для /usr/ может потребовать загрузки с initramfs, чтобы смонтировать раздел прежде, чем запустятся другие загрузочные сценарии. Так как сборка initramfs выходит за рамки данного руководства, мы рекомендуем новичкам не создавать отдельный раздел для /usr/.
  • Также существует лимит в 15 разделов для SCSI и SATA, если только на диске не используются метки GPT.
Заметка
Если планируется использовать systemd в качестве системы инициализации и управления службами, то при загрузке системы должен быть доступен каталог /usr, либо как часть корневой файловой системы, либо смонтированный через initramfs.

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

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

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

Как правило, рекомендуется создавать пространство подкачки с размером в два раза больше оперативной памяти (ОЗУ). Для систем с несколькими дисками, целесообразно создать по одному разделу подкачки на каждом диске, чтобы их можно было использовать для параллельных операций чтения/записи. Чем быстрее диск может подкачивать, тем быстрее система будет работать, когда ей необходимо прочитать данные с пространства подкачки. При выборе между жестким диском и твердотельным накопителем, с точки зрения производительности лучше создать пространство подкачки на SSD. Также вы можете использовать файлы подкачки вместо разделов подкачки; в основном это необходимо для систем с очень ограниченным дисковым пространством.


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

Используйте fdisk для создания необходимых разделов:

root #fdisk /dev/sda

Компьютеры HPPA используют стандартные таблицы разделов DOS. Чтобы создать новую таблицу, нажмите клавишу o.

Command (m for help):o
Building a new DOS disklabel.

Для PALO (начальный загрузчик HPPA) для работы необходим специальный раздел. Для этого вам необходимо создать в начале диска раздел размером не меньше 16 МБ. Тип раздела должен быть f0 (Linux/PA-RISC boot). Также в качестве /boot можно использовать раздел PALO.

Важно
Если вы проигнорируете это и продолжите без специального раздела PALO, то в конечном итоге ваша система откажется загружаться. Кроме того, если ваш диск больше 2 Гб, проверьте, что загрузочный раздел находится в первых 2 Гб диска. Иначе PALO не сможет прочитать ядро за пределами 2 Гб.
ФАЙЛ /etc/fstabПростая схема разделов по умолчанию
/dev/sda2    /boot   ext2    noauto,noatime   1 1
/dev/sda3    none    swap    sw               0 0
/dev/sda4    /       ext4    noatime          0 0

В fdisk, такая разбивка по разделам выглядит примерно так:

Command (m for help):p
Disk /dev/sda: 4294 MB, 4294816768 bytes
133 heads, 62 sectors/track, 1017 cylinders
Units = cylinders of 8246 * 512 = 4221952 bytes
  
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1               1           8       32953   f0  Linux/PA-RISC boot
/dev/sda2               9          20       49476   83  Linux
/dev/sda3              21          70      206150   82  Linux swap
/dev/sda4              71        1017     3904481   83  Linux


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

Предупреждение
При использовании SSD или NVMe диска, пожалуйста, проверьте наличие обновлений для прошивки. В частности, некоторые SSD от Intel (600p и 6000p) нуждаются в обновлении прошивки для исправления критических ошибок, чтобы не допустить повреждение данных из-за особенностей использования I/O в XFS (не по вине самой файловой системы). Программа smartctl умеет отображать модель и версию прошивки.

Введение

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

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

Linux поддерживает несколько десятков файловых систем, хотя для большинства из них необходимы достаточно веские причины их использовать. Лишь только некоторые из них можно считать стабильными на архитектуре hppa. Рекомендуется прочитать информацию о файловых системах и об их состоянии поддержки перед тем, как останавливать свой выбор на экспериментальных. XFS — рекомендуемая стабильная файловая система общего применения для всех платформ. Ниже представлен неполный список файловых систем:

btrfs
Файловая система нового поколения. Предоставляет множество продвинутых функций, таких как мгновенные снимки, самовосстановление с помощью контрольных сумм, поддержка прозрачного сжатия, подтомов и интегрированный RAID. Ядра старше ветки 5.4 не обеспечивают безопасную работу btrfs, так как исправления наиболее серьёзных проблем стабильности появились только в более поздних ветках долговременной поддержки (LTS) ядра. RAID 5/6 и quota groups небезопасны на всех версиях btrfs.
ext4
Ext4 является стабильной файловой системой общего применения для всех платформ, хотя в ней отсутствуют современные возможности по типу «reflinks».
f2fs
Файловая система (Flash-Friendly File System) была создана Samsung для использования на NAND-накопителях. Она может быть достойным выбором при установке на microSD карту, USB-накопитель или другие накопители.
XFS
Файловая система с журналированием метаданных, которая поставляется с мощным набором функций и оптимизирована для масштабируемости. Она непрерывно обновляется, обрастая новым возможностями. Единственным недостатком является то, что разделы с XFS пока нельзя уменьшать (хотя и над этим ведётся работа). Примечательно, что XFS поддерживает «reflinks» и механизм «копирование при записи» (Copy-on-Write, CoW), что весьма полезно для Gentoo систем из-за частых и/или больших компиляций, которые совершает пользователь. XFS является рекомендуемой современной файловой системой общего назначения для всех платформ. Для неё требуется раздел размером не менее 300 МБ.
VFAT
Так же известная как FAT32, поддерживается Linux, но не имеет поддержку стандартных файловых разрешений UNIX. В основном используется для взаимодействия или взаимозаменяемости с другими операционными системами (в основном Microsoft Windows и Apple macOS), но также необходима при использовании некоторых системных прошивок загрузчика (например, UEFI). Пользователям систем с UEFI должны использовать эту файловую систему для EFI System Partition, чтобы иметь возможность загружаться.
NTFS
New Technology Filesystem является основной файловой системой для Microsoft Windows начиная с NT 3.5. Как и VFAT, она не сохраняет настройки UNIX разрешений и расширенные атрибуты, необходимые для нормальной работы BSD или Linux, поэтому в большинстве случаев её не следует использоваться в качестве файловой системы для корневого раздела. Её следует использовать только для взаимодействия или обмена данными с системами Microsoft Windows (обратите внимание на акцент слова только).

Более подробную информацию о файловых системах можно найти в (поддерживаемой сообществом) статье Файловая система.

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

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

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

Файловая система Команда для создания Присутствует в «живом» окружении? Пакет
btrfs mkfs.btrfs Да sys-fs/btrfs-progs
ext4 mkfs.ext4 Да sys-fs/e2fsprogs
f2fs mkfs.f2fs Да sys-fs/f2fs-tools
xfs mkfs.xfs Да sys-fs/xfsprogs
vfat mkfs.vfat Да sys-fs/dosfstools
NTFS mkfs.ntfs Да sys-fs/ntfs3g
Важно
The handbook recommends new partitions as part of the installation process, but it is important to note running any mkfs command will erase any data contained within the partition. When necessary, ensure any data that exists within is appropriately backed up before creating a few filesystem.

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

root #mkfs.xfs /dev/sda4

EFI system partition filesystem

The EFI system partition (/dev/sda2) must be formatted as FAT32:

root #mkfs.vfat -F 32 /dev/sda2

Legacy BIOS boot partition filesystem

Systems booting via legacy BIOS with a MBR/DOS disklabel can use any filesystem format supported by the bootloader.

For example, to format with XFS:

root #mkfs.xfs /dev/sda2

Small ext4 partitions

При использовании ext4 на малых разделах (менее 8 ГиБ) файловая система должна быть создана с особыми параметрами для резервирования достаточного количества индексных дескрипторов (inodes). Для этого используется одна из следующих команд:

root #mkfs.ext4 -T small /dev/<раздел>

Данная команда учетверит количество индексных дескрипторов для такой ФС, так как мы уменьшили количество байт на каждый дескриптор («bytes-per-inode») с 16 кб до 4 кб.

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

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

root #mkswap /dev/sda3

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

root #swapon /dev/sda3

This 'activation' step is only necessary because the swap partition is newly created within the live environment. Once the system has been rebooted, as long as the swap partition is properly defined within fstab or other mount mechanism, swap space will activate automatically.

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

Заметка
Installations which were previously started, but did not finish the installation process can resume the installation from this point in the handbook. Use this link as the permalink: Resumed installations start here.
Совет
Если в качестве установочного носителя используется не Gentoo-образ, необходимо дополнительно создать точку монтирования:
root #mkdir --parents /mnt/gentoo
root #mkdir --parents

For EFI installs only, the ESP should be mounted under the root partition location:

root #mkdir --parents /efi

Continue creating additional mount points necessary for any additional (custom) partition(s) created during previous steps by using the mkdir command.

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

Mount the root partition:

root #mount /dev/sda4

Continue mounting additional (custom) partitions as necessary using the mount command.

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

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