Установка Ubuntu 22.04 с использованием autoinstall

Вопрос или проблема

Я пытаюсь установить 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 или другие проблемы с доступностью указанных ресурсов.

Рекомендации по устранению неисправностей

  1. Проверка доступа к зеркалам: Убедитесь, что указанные зеркала доступны и работают. Вы можете протестировать их в браузере или с помощью команды curl или wget.

  2. Форматирование YAML: Проверьте, что ваш файл user-data правильно отформатирован, так как YAML чувствителен к пробелам и отступам.

  3. Использование кавычек: Для строковых значений, особенно для URI, рекомендуется использовать кавычки, чтобы избежать ошибок в интерпретации. Например, вместо:

    uri: http://archive.ubuntu.com/ubuntu/

    используйте:

    uri: "http://archive.ubuntu.com/ubuntu/"
  4. Правильный выбор архитектуры: Убедитесь, что архитектура (arches) задана верно для используемого оборудования. Неправильный выбор архитектуры может вызовет сбои в установке.

Заключение

Установка Ubuntu 22.04 Server с использованием PXE Boot и автопроцессов может быть сложной задачей, особенно из-за потенциальных ошибок в файле настройки user-data. Следуя предложенным рекомендациям и внимательно проверяя конфигурацию, вы сможете успешно выполнить установку. Если у вас возникли дополнительные вопросы или проблемы, не стесняйтесь обратится за помощью в сообщество Ubuntu или к профессионалам в данной области.

Оцените материал
Добавить комментарий

Капча загружается...