Вопрос или проблема
Я пытаюсь установить Ubuntu 22.04 Server с помощью PXE-загрузки. Я настроил свои пользовательские данные следующим образом:
Однако я продолжаю получать эту ошибку, когда загружаю свой сервер (я запускаю это в VirtualBox для тестирования):
Если кто-то может помочь, спасибо!
Возможно, используйте кавычки для аргумента параметра uri
? Как показано, например, здесь:
# Используйте первое подходящее зеркало. Не ограничивайтесь конкретными архитектурами.
autoinstall:
apt:
mirror-selection:
primary:
- uri: "http://mirror1.internal/ubuntu"
- uri: "http://mirror2.internal/ubuntu"
# Используйте одно зеркало для amd64 и другое для i386.
autoinstall:
apt:
mirror-selection:
primary:
- uri: "http://jp.archive.ubuntu.com/ubuntu"
arches: [amd64]
- uri: "http://tw.archive.ubuntu.com/ubuntu"
arches: [i386]
Проблема заключается в форматировании mirror-selection
. Смотря на сообщение об ошибке, вы увидите, что оно начинает обрабатывать apt-config
относительно Mirror
, но заканчивает с ошибкой:
start: subiquity/Mirror/cmd-apt-config: curtin command apt-config
finish: subiquity/Mirror/apply_autoinstall_config: Command '['systemd-run', '--wait', '--same-dir', '--property', 'SyslogIdentifier=subiquity_log.2129', '--property', 'PrivateMount=yes', '--setenv', 'PATH=/snap/subiquity/5495/bin:/snap/subiquity/5496/usr/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/snap/subiquity/5495/bin:/snap/subiquity/5495/sbin', '--setenv', 'PYTHONPATH=:/snap/subiquity/5495/lib/python3.10/site-packages', '--setenv', /snap/subiquity/5495/usr/bin/python3.10', '-m', 'curtin', '--showtrace', '-vvv', '--set', 'json:reporting={"subiquity": {"type": "journald", "identifier": "curtin_event.2199.1"}}', '-c', '/var/log/installer/subiquity-curtin-apt.conf', 'apt-config', '-t', '/tmp/tmpzni38iqq/mount']' returned non-zero exit status 1.
Смотря на вашу конфигурацию, вы в настоящее время имеете arches
на том же уровне, что и primary
, но они работают в паре с отображением uri
. Таким образом, следующее некорректно:
mirror-selection:
primary:
- country-mirror
- arches:
- amd64
- i386
uri: http://archive.ubuntu.com/ubuntu/
- arches:
- s390x
- arm64
- armhf
- powerpc
- ppc64el
- riscv64
uri: http://ports.ubuntu.com/ubuntu-ports
Если вы посмотрите на руководство по конфигурации Autoinstall, вы увидите:
В новом формате раздел primary ожидает список зеркал,
который может быть представлен двумя различными способами:
Специальное значение country-mirror
Отображение с следующими ключами:
uri (Обязательно): URI зеркала, которое нужно использовать, например, http://fr.archive.ubuntu.com/ubuntu.
arches (Необязательно): Список архитектур, поддерживаемых зеркалом. По умолчанию этот список содержит текущую архитектуру процессора.
И пример, который он приводит:
# Используйте первое подходящее зеркало. Не ограничивайтесь конкретными архитектурами.
autoinstall:
apt:
mirror-selection:
primary:
- uri: "http://mirror1.internal/ubuntu"
- uri: "http://mirror2.internal/ubuntu"
# Используйте одно зеркало для amd64 и другое для i386.
autoinstall:
apt:
mirror-selection:
primary:
- uri: "http://jp.archive.ubuntu.com/ubuntu"
arches: [amd64]
- uri: "http://tw.archive.ubuntu.com/ubuntu"
arches: [i386]
Поэтому отображение ключей uri
и arches
сгруппировано вместе. Поэтому отредактируйте ваш файл user-data
, чтобы раздел mirror-selection
выглядел следующим образом:
mirror-selection:
primary:
- country-mirror
- uri: "http://archive.ubuntu.com/ubuntu/"
arches: [amd64, i386]
- uri: "http://ports.ubuntu.com/ubuntu-ports"
arches: [s390x, arm64, armhf, powerpc, ppc64el, riscv64]
Ответ или решение
Установка Ubuntu 22.04 с использованием autoinstall через PXE Boot
Введение
В этой статье мы подробно рассмотрим процесс установки Ubuntu 22.04 Server с использованием автопроцессов через PXE Boot. Важно обратить внимание на правильность конфигурации файла user-data
, так как ошибки в этом файле могут приводить к сбоям в процессе установки.
Настройка user-data
Во-первых, вам необходимо правильно настроить секцию mirror-selection
в вашем файле user-data
. Ошибки в формате конфигурации являются частой причиной сбоев установки. Вот пример корректной конфигурации:
autoinstall:
apt:
mirror-selection:
primary:
- country-mirror
- uri: "http://archive.ubuntu.com/ubuntu/"
arches: [amd64, i386]
- uri: "http://ports.ubuntu.com/ubuntu-ports"
arches: [s390x, arm64, armhf, powerpc, ppc64el, riscv64]
Обратите внимание, что секции uri
и arches
должны быть правильно сгруппированы. Это ключ к успешной настройке.
Проверка ошибок
Если, несмотря на корректную настройку, установка по-прежнему не удаётся, стоит обратить внимание на сообщения об ошибках, которые отображаются в процессе загрузки. Например, ошибка может выглядеть следующим образом:
start: subiquity/Mirror/cmd-apt-config: curtin command apt-config
finish: subiquity/Mirror/apply_autoinstall_config: Command '['systemd-run', '--wait', ... 'apt-config', '-t', '/tmp/tmpzni38iqq/mount']' returned non-zero exit status 1.
Это сообщение указывает на проблему в части, отвечающей за конфигурацию APT. Причиной может быть неправильно указанный URL в mirror-selection
или другие проблемы с доступностью указанных ресурсов.
Рекомендации по устранению неисправностей
-
Проверка доступа к зеркалам: Убедитесь, что указанные зеркала доступны и работают. Вы можете протестировать их в браузере или с помощью команды
curl
илиwget
. -
Форматирование YAML: Проверьте, что ваш файл
user-data
правильно отформатирован, так как YAML чувствителен к пробелам и отступам. -
Использование кавычек: Для строковых значений, особенно для URI, рекомендуется использовать кавычки, чтобы избежать ошибок в интерпретации. Например, вместо:
uri: http://archive.ubuntu.com/ubuntu/
используйте:
uri: "http://archive.ubuntu.com/ubuntu/"
-
Правильный выбор архитектуры: Убедитесь, что архитектура (
arches
) задана верно для используемого оборудования. Неправильный выбор архитектуры может вызовет сбои в установке.
Заключение
Установка Ubuntu 22.04 Server с использованием PXE Boot и автопроцессов может быть сложной задачей, особенно из-за потенциальных ошибок в файле настройки user-data
. Следуя предложенным рекомендациям и внимательно проверяя конфигурацию, вы сможете успешно выполнить установку. Если у вас возникли дополнительные вопросы или проблемы, не стесняйтесь обратится за помощью в сообщество Ubuntu или к профессионалам в данной области.