Настройка

Fedora Minimal — отличная базовая Fedora для добавления собственных настроек. Поскольку она содержит минимум и почти ничего не делает, вы можете использовать её как угодно. При настройке Fedora Minimal вам нужно решить, что вы хотите изменить или добавить, и когда это сделать.

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

Зачем?

Когда?

Настраивать Fedora Minimal можно на различных этапах.

Время сборки

Настройка на этапе сборки — предпочтительный способ настройки Fedora Minimal. Это упрощает пересборку образа с новейшим программным обеспечением, обмен настройками и распространение готового образа для других пользователей.

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

packages = [
    { name = "tmux" },
    { name = "firewalld" },
]

customizations.user = [
    { name = "user", "key" = "ssh-ed25519 XXX user@localhost", groups = ["wheel"] }
]

С помощью следующей команды:

$ sudo dnf install -y image-builder
$ sudo image-builder build --distro fedora-43 --blueprint my-changes.toml minimal-raw-zst
# ...

В результате вы получите Fedora Minimal с установленными tmux и firewalld, а также пользователем user с указанным SSH-ключом в авторизованных ключах.

Если вам нужны примеры для вдохновения, у нас есть список примеров спецификаций. Чтобы узнать больше, вы также можете прочитать документацию по формату спецификаций image-builder.

Время развёртывания

Время развёртывания — это период между сборкой образа и его запуском на системе. Его можно разделить на несколько этапов.

Образ

Настраивать образ можно и после его сборки. Наиболее частый случай — установка значений, которые обычно запрашиваются при первой загрузке. Мы не рекомендуем изменять образ напрямую, за исключением описанного здесь сценария. Любые другие настройки лучше выполнять на этапе сборки, так как они подвержены ошибкам и могут нарушить работу системы или её развёртывание.

Fedora Minimal использует systemd-firstboot для настройки при первой загрузке. systemd-firstboot также можно использовать для непосредственной настройки образа. Сделать это можно так:

$ sudo systemd-firstboot --image=disk.img --prompt
# ...

При выполнении эта команда запросит информацию, которая ещё не сохранена в образе. Она может настроить:

  1. локаль

  2. часовой пояс

  3. раскладка клавиатуры

  4. имя хоста

  5. пароль root

Если вы настроили что-либо из этого на этапе сборки, systemd-firstboot не будет запрашивать эти данные при настройке образа.

Первая загрузка

Настройка при первой загрузке происходит во время первого запуска системы. Fedora Minimal настроена так, что любые необходимые для работы системы несконфигурированные значения могут быть заданы в консоли. Это происходит только один раз — при первой загрузке. Настройку при первой загрузке можно пропустить, сконфигурировав их на этапах образа или предзагрузки.

Fedora Minimal использует systemd-firstboot для настройки при первой загрузке. Когда система обнаруживает, что загружается впервые, systemd-firstboot проверяет наличие следующей информации:

  1. локаль

  2. часовой пояс

  3. раскладка клавиатуры

  4. имя хоста

  5. пароль root

Если вы настроили что-либо из этого на этапе сборки или образа, systemd-firstboot не будет запрашивать эти данные. Если вся информация уже была предоставлена ранее, запрос будет полностью пропущен.

Время выполнения

Настройки во время выполнения — это изменения, которые производятся после загрузки системы и перехода в рабочее состояние. Любые изменения, вносимые после этого, называются настройками времени выполнения. В Fedora Minimal для этого нет ничего особенного.

Рекомендации

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

Примеры того, что можно сделать на этапе сборки:

  1. Установка пакетов.

  2. Изменение конфигурационных файлов.

  3. Добавление системных учётных записей для управления во время выполнения.

  4. Выбор схемы разметки диска, если это позволяет ваше развёртывание.

  5. Замена ядра на другое.

Примеры того, что можно оставить на этап развёртывания:

  1. Настройка часового пояса системы.

  2. Выбор раскладки клавиатуры.

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

  4. Настройка сетевой конфигурации.

  5. Создание личной учётной записи пользователя.