Setup!
Данный опус является частью единого цикла заметок o CLI. Для его написания использовалось множество различных источников (скилы крутых специалистов, статьи с тематических сайтов, техническая документация, комментарии с форумов и социальных сетей и т. д и т. п.). К сожалению, указать все источники точно не представляется возможным!
Установочный носитель Gentoo Linux
Минимальный установочный компакт-диск Gentoo
Минимальный установочный CD — это загрузочный образ: самодостаточная среда Gentoo. Он позволяет загружать Linux прямо с компакт-диска или других установочных носителей.
Нерегулярный Gentoo LiveDVD
Иногда проектом Gentoo Ten выпускается специальный DVD, который также может использоваться для установки Gentoo. Инструкции, описанные ниже, подразумевают использование минимального установочного CD, поэтому в случае DVD что-то может отличаться в деталях. Однако LiveDVD (или любое другое загружаемое окружение Linux) поддерживает выход в командую строку просто командой sudo su - или sudo -i в терминале:
wget https://bouncer.gentoo.org/fetch/root/all/releases/amd64/autobuilds/20220227T170528Z/admincd-amd64-20220227T170528Z.iso
Что такое stage?
Архив stage3 — это архив, содержащий минимальное окружение Gentoo, пригодное для продолжения установки Gentoo в соответствии с инструкциями данного руководства. Архивы stage3 можно загрузить из releases/amd64/autobuilds/ или с любого из официальных зеркал Gentoo. Файлы stage часто обновляются и не поставляются в официальном установочном образе.
Получение образа stage
Основной установочный образ, используемый Gentoo Linux — это минимальный установочный CD, на котором находится загружаемое, очень маленькое окружение Gentoo Linux. Это окружение содержит все необходимые утилиты для установки Gentoo Linux. Сами образы CD можно скачать со страницы загрузки (рекомендуется) или самостоятельно найдя образ ISO, доступном на одном из множества зеркал:
wget https://bouncer.gentoo.org/fetch/root/all/releases/amd64/autobuilds/20220227T170528Z/stage3-amd64-openrc-20220227T170528Z.tar.xz
Либо можете воспользоваться готовым проектом, где все собрано в одном месте - winbox-installer.
Дополнительно: Просмотр документации во время установки TTY
Для просмотра Gentoo Handbook во время установки, необходимо сначала создать учётную запись пользователя, как описано выше. Нажмите Alt+F2 для перехода в новое окно терминала. Во время установки можно использовать команду links для просмотра Руководства Gentoo — конечно, только с того момента, как заработает подключение к Интернет.
user $
links https://wiki.gentoo.org/wiki/Handbook:Parts/ru
Чтобы вернуться к первоначальному терминалу, нажмите Alt+F1.
Дополнительная загрузка модулей:
root #
modprobe 8139too
Запуск демона SSH
Чтобы разрешить другим пользователям доступ к системе во время установки (возможно, для поддержки во время установки, или даже выполнить её удаленно), необходимо предварительно создать учётную запись пользователя (как описывалось ранее) и запустить демон SSH. Чтобы запустить демон SSH, при использовании системы инициализации OpenRC, выполните следующую команду:
root #
rc-service sshd start
root # passwd
Настройка сети:
root #
net-setup
Cоздание разделов и разметка диска GPT или MBR Linux
Существует 2 типа таблиц разметки:
Устаревшая MSDOS (MBR) [обозначается как BIOS, Legacy BIOS] - гл.загрузочная запись - Master Boot Record, редакторы его могут отображать как dos или msdos.
И современная UEFI (GPT) - GUID Partition Table.
Диск можно разметить и поделить при установке операционной системы или в случае с многими установочными образами Линукса - операционная система запускается с флешки или с диска и можно в графическом режиме разметить диски. И не только - можно наставить софта, сделать какие-то изменения и все они будут записаны при установке операционной системы (это как вариант). Т.е. под рукой всегда живой образ системы с которого можно загрузиться и что-то сделать..
Диск с таблицей разделов GPT устроен по иному и имеет ряд преимуществ:
Размер диска может быть до 9.4 Зеттабайт, для сравнения:
MBR=2,2Тб против GPT=10 093 173 145,6 Тб.
Запас на будущее колоссальный, весь трафик интернета за 2016 примерно 1,1 Зеттабайт.
GPT допускает 264 = 18 446 744 073 709 552 000 основных разделов, но вот Windows допускает не более 128 разделов, хотя в реальной жизни более 3-х не используется. GPT хранит копию данных раздела в конце диска и значения контрольной суммы для проверки целостности данных, позволяя восстановить их в случае повреждения основного заголовка GPT. (MBR же такого не умеет и помнится у меня были случаи повреждения этой записи под Windows.)
Загрузка операционной системы происходит быстрее, с UEFI быстрее инициализируется железо.. (На EFI разделе находятся драйверы аппаратных компонентов, к которым может получать доступ запущенная операционная система и в этом случае загрузка происходит прямо с этого раздела, что быстрее.) Нет необходимости в boot флаге разделу. В биосе должен быть включён режим UEFI или UEFI + Legacy ищите где-то в Boot Options (загрузка итп..), обычно спаренный режим уже включен на новом железе. Естественно грузимся из под UEFI при установке с флешки (F2, F8, F10, F11, бут меню в БИОС-е или иные).Если связь между оборудованием и операционной системой (ОС) осуществляется только через режим UEFI (а не Legacy BIOS), использование GPT для разбивки разделов становится практически обязательным, иначе могут быть проблемы совместимости с MBR. Советую из консоли или при помощи редактора разделов GParted итп. установить тип таблицы gpt, при установке операционной системы, установщик может по умолчанию dos поставить.
UEFI имеет собственный загрузчик операционных систем с интегрированными менеджерами их запуска. Для загрузчика UEFI на диске должен быть создан небольшой загрузочный раздел, который называется EFI System Partition, он же ESP, он же EFISYS и имеет тип EF00. При установке Linux будет возможность обозначить тип - системный раздел EFI. EFI - Extensible Firmware Interface System Partition - системный раздел расширяемого интерфейса прошивки.
На дисках расширенного формата 4K Native (секторы по 4 Кб, по сути это неминуемо в будущем (сейчас 512кб в ходу), с 2010г операционные системы поддерживают новый формат) EFI должен быть не менее 256 Мб в виду ограничений FAT32, посему я делаю его с запасом = 260 Мб (этого хватит на несколько ОС на 1 диске), но можно и 100 Мб.. В интернете встречаются экспериментаторы советующие делать размер не менее 520 Мб (546 Мб), чтоб любой каприз влез, но Линукс занимает около 4 Мб. На каждом диске может быть не более одного раздела EFI. По стандартам, раздел должен быть отформатирован в файловой системе FAT32 (для USB HDD, USB Flash могут быть поняты при загрузке более старые FAT12, FAT16 (в том числе и EFI)). Запись GPT занимает первые 2048 секторов (1 Мб) на диске и включает в себя резерв - отступ для MBR 512 байт.
Посмотреть разметку диска:
# перечислит тома на диске, подробно с точками монтирования и удобным размером
df -h
# подробная информация о всех дисках
sudo fdisk -l
sudo gdisk -l /dev/sda
# разметка и флаги
# parted /dev/sda print
Непосредственно работа с дисками. В консоли создаем GPT и поделить можно так (пусть диск будет 30 Гб):
root #
gdisk /dev/sda
Тип таблиц на Linux (L введите чтоб уточнить, обозначение зависит от версий)
8200 Linux swap
8300 Linux filesystem
8e LVM
Gdisk:
# p - посмотреть разделы
# d - удалить разделы
# создаём новую таблицу GPT
o: y
# создаём разделы
n: enter (default 1), enter, +512M, ef00
n: enter (default 2), enter, +25G, enter (8300)
n: enter (default 3), enter, +3G, enter (8300)
# остаток 10% неразмечен для SSD или
#n: enter (default 3), enter, enter, enter (8300)
# сохраняем
w: y
# Проверям
# parted /dev/sda print
Аналогичным способом можно выполнить разметку и в другой программе:
root #
fdisk /dev/sda
Пример разбивки:
Создание файловой системы
Для создания файловых систем на разделе или томе существуют пользовательские утилиты для каждого возможного типа файловой системы.
При использовании ext2, ext3 или ext4 на малых разделах (менее 8 ГиБ) файловая система должна быть создана с особыми параметрами для резервирования достаточного количества индексных дескрипторов (inodes). Приложение mke2fs (mkfs.ext2) использует настройки «bytes-per-inode» для вычисления количества необходимых дескрипторов. На небольших разделах рекомендуется увеличивать расчётное количество дескрипторов. Образец:
root #
mkfs.ext2 -T small /dev/<device>
root #
mkfs.ext3 -T small /dev/<device>
root #
mkfs.ext4 -T small /dev/<device>
Данные команды учетверяют количество индексных дескрипторов для такой ФС, так как «bytes-per-inode» уменьшает количество байт на каждый дескриптор с 16 кб до 4 кб.
Теперь создайте файловые системы на только что созданных томах (или логических разделах). Вот пример команды для создания FS корневого раздела:
root #
mkfs.ext4 -L 'rootlabel' /dev/sda2
/boot
root #
mkfs.ext2 -T small /dev/sda1
/boot2
root #
mkfs.ext2 -L 'bootlabel' /dev/sda3
Опасная команда! Скопировать разметку на диск 2, для MBR это делается так (в случае с RAID - полезно):
root #
sudo sfdisk -d /dev/sda | sudo sfdisk /dev/sdb
Монтирование корневого раздела
Теперь, когда созданы разделы и размещённые на них файловые системы, настало время их смонтировать. Используйте команду mount, только не забудьте предварительно создать каталоги для монтирования каждого созданного раздела. В качестве примера мы смонтируем корневой раздела:
root #
mount /mnt/gentoo
Если /tmp/ находится на отдельном разделе, не забудьте после монтирования изменить права доступа:
root #
chmod 1777 /mnt/gentoo/tmp
Установка времени и даты
Перед установкой Gentoo было бы неплохо проверить корректность настройки даты и времени. Неправильно настроенные часы могут привести к странным результатам, так как базовые системные файлы должны быть извлечены с правильными временными метками. К тому же, в силу того, что часть сайтов и сервисов использует шифрование (SSL/TLS), может случиться, что будет невозможно скачать установочные файлы из-за большого расхождения системных часов! Проверьте текущую дату и время с помощью команды date:
root #
date
Mon Oct 3 13:16:22 PDT 2016
Если время и дата неверны, обновите их, используя один из методов ниже.
Материнские платы без Real-Time Clock (RTC) необходимо настроить для автоматической синхронизации системных часов с сервером времени. Это также справедливо для систем у которых есть RTC, но разряжена батарейка.
Ручная настройка времени. Например, чтобы установить дату на 13:16 3 октября 2016 года:
root #
date 100313162016
Автоматическая настройка времени:
Официальный установочный носитель Gentoo включает в себя команду ntpd (поставляется в пакете net-misc/ntp). Официальный установочный носитель включает конфигурационный файл, настроенный для синхронизации с серв