Как установить программное обеспечение с помощью preseed.cfg на Ubuntu 18.04.4?

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

Я создаю неавторизованную установку с использованием preseed для Ubuntu Desktop 18.04.4 и хочу установить openssh-server (openssh-sftp-server для рабочего стола), чтобы после завершения установки была возможность подключаться по ssh.

Я пытался использовать такие команды, как: pkgsel/include, ubiquity/success_command и preseed/late_command, но безуспешно.

Preseed не устанавливает программное обеспечение и не обновляет пакеты.

Ссылка Как включить дополнительное программное обеспечение в preseed.cfg для Ubuntu Server 13.10

Если нужна помощь:

# Конфигурация установщика
d-i base-installer/kernel/override-image string linux-image-amd64

# GRUB
d-i grub-installer/only_debian boolean true
d-i grub-installer/with_other_os boolean true

# Настройка локалей и страны
# Поддерживаемые локали доступны в /usr/share/i18n/SUPPORTED
d-i debian-installer/language string en
d-i debian-installer/country string IN
d-i debian-installer/locale string en_US.UTF-8

# Настройка клавиатуры
d-i console-setup/ask_detect boolean false
d-i keyboard-configuration/layoutcode string us
d-i keyboard-configuration/xkb-keymap us
d-i keyboard-configuration/modelcode string pc105

# Настройка сети
d-i netcfg/choose_interface select auto
d-i netcfg/enable boolean true
d-i netcfg/get_hostname string ubuntu-bionic-desktop
d-i netcfg/get_domain string localdomain
d-i netcfg/wireless_wep string
# d-i hw-detect/load_firmware boolean true

# Настройки зеркала
choose-mirror-bin mirror/http/proxy string

# Настройка времени и часового пояса
d-i time/zone string UTC
d-i clock-setup/utc-auto boolean true
d-i clock-setup/utc boolean true
d-i clock-setup/ntp boolean true

# Настройка диска и разделов
d-i partman-auto/disk string /dev/sda
d-i partman-auto-lvm/guided_size string max
d-i partman-auto/choose_recipe select atomic
d-i partman-auto/method string lvm
d-i partman-lvm/confirm boolean true
d-i partman-lvm/confirm boolean true
d-i partman-lvm/confirm_nooverwrite boolean true
d-i partman-lvm/device_remove_lvm boolean true
d-i partman/choose_partition select finish
d-i partman/confirm boolean true
d-i partman/confirm_nooverwrite boolean true
d-i partman/confirm_write_new_label boolean true

# Создание пользователя Vagrant
d-i passwd/user-fullname string vagrant
d-i passwd/username string vagrant
d-i passwd/user-password password vagrant
d-i passwd/user-password-again password vagrant
d-i user-setup/encrypt-home boolean false
d-i user-setup/allow-password-weak boolean true
d-i passwd/user-default-groups vagrant sudo

# Установка пакетов

d-i pkgsel/include string openssh-sftp-server vim cryptsetup build-essential libssl-dev libreadline-dev zlib1g-dev linux-source dkms nfs-common
# Обновление системы
d-i pkgsel/install-language-support boolean false
d-i pkgsel/update-policy select none
d-i pkgsel/upgrade select full-upgrade
tasksel tasksel/first multiselect standard, ubuntu-desktop

ubiquity ubiquity/use_nonfree boolean true

d-i preseed/late_command string apt-install openssh-sftp-server;

# Успешная установка - задачи
ubiquity ubiquity/success_command string  \
    in-target apt install openssh-sftp-server;

# Установка - финал
d-i finish-install/reboot_in_progress note
ubiquity ubiquity/summary note
ubiquity ubiquity/reboot boolean true`

Удалите ненужные строки

Ubiquity игнорирует preseed/late_command, поэтому не имеет смысла его использовать.
Поэтому вы включили пакет openssh-sftp-server в этой строке:

d-i pkgsel/include string openssh-sftp-server vim cryptsetup build-essential libssl-dev libreadline-dev zlib1g-dev linux-source dkms nfs-common

Таким образом, эти строки можно удалить:

d-i preseed/late_command string apt-install openssh-sftp-server;

# Успешная установка - задачи
ubiquity ubiquity/success_command string  \
    in-target apt install openssh-sftp-server;

Как использовать ubiquity

Я протестировал ваш файл preseed, используя минимальный iso-образ Ubuntu, который можно найти здесь. На экране выбора я переместил курсор на командный установщик и нажал клавишу tab. Обратите внимание на атрибуты, которые появились внизу экрана:

Установщик Ubuntu

Затем добавьте эти атрибуты, не стесняйтесь изменять значения:

locale=en_US hostname=ubuntu keyboard-configuration/modelcode=SKIP ubiquity url=http://192.168.0.1:8000/preseed-ubuntu.cfg

Файл preseed может быть размещен на локальном хосте вашей машины, например, с помощью python3 -m http.server. Ваш IP-адрес, очевидно, будет другим. Нажмите Enter, и установка продолжится, установщик только запросит вас указать сервер репозитория, так как он не определен в вашем файле preseed.

После завершения установки вы можете войти в систему и подтвердить, что openssh-sftp-server и другие пакеты установлены.

Ответ или решение

Для установки программного обеспечения с использованием файла preseed.cfg в процессе бездумной установки Ubuntu Desktop 18.04.4, необходимо правильно сформировать конфигурационный файл. Вопрос, который вы задали, касается установки пакета openssh-sftp-server таким образом, чтобы он был доступен для SSH после завершения установки.

Вот полезные шаги и рекомендации для успешной настройки вашего preseed.cfg:

Этапы настройки preseed.cfg

  1. Удаление ненужных команд: Из вашего кода видно, что вы включили команды, которые не будут выполняться с инструментом Ubiquity. Вам нужно сосредоточиться на использовании строки d-i pkgsel/include, чтобы убедиться, что нужные пакеты будут установлены во время установки.

    Уберите следующие строки, так как они не будут применяться:

    d-i preseed/late_command string apt-install openssh-sftp-server;
    ubiquity ubiquity/success_command string in-target apt install openssh-sftp-server;
  2. Использование pkgsel для установки пакетов: Убедитесь, что строка d-i pkgsel/include корректно включает все нужные пакеты для установки. В вашем случае строчка выглядит следующим образом:

    d-i pkgsel/include string openssh-sftp-server vim cryptsetup build-essential libssl-dev libreadline-dev zlib1g-dev linux-source dkms nfs-common

    Это гарантирует, что во время установки будет установлен openssh-sftp-server и другие указанные пакеты.

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

  4. Тестирование: Чтобы протестировать ваш preseed.cfg, вы можете использовать минимальный ISO-образ, как предложено. Инициализируйте установку с параметрами командной строки, чтобы указать необходимый preseed:

    locale=en_US hostname=ubuntu keyboard-configuration/modelcode=SKIP ubiquity url=http://192.168.0.1:8000/preseed-ubuntu.cfg

    Убедитесь, что ваш preseed.cfg доступен по указанному URL.

Пример полного preseed.cfg

# Конфигурация установщика
d-i base-installer/kernel/override-image string linux-image-amd64

# Настройки GRUB
d-i grub-installer/only_debian boolean true
d-i grub-installer/with_other_os boolean true

# Настройка локали и страны
d-i debian-installer/language string en
d-i debian-installer/country string IN
d-i debian-installer/locale string en_US.UTF-8

# Настройка клавиатуры
d-i console-setup/ask_detect boolean false
d-i keyboard-configuration/layoutcode string us
d-i keyboard-configuration/xkb-keymap us
d-i keyboard-configuration/modelcode string pc105

# Настройка сетевого интерфейса
d-i netcfg/choose_interface select auto
d-i netcfg/enable boolean true
d-i netcfg/get_hostname string ubuntu-bionic-desktop
d-i netcfg/get_domain string localdomain

# Настройки зеркала
choose-mirror-bin mirror/http/proxy string

# Настройка времени
d-i time/zone string UTC
d-i clock-setup/utc-auto boolean true
d-i clock-setup/utc boolean true
d-i clock-setup/ntp boolean true

# Настройка дисков и разделов
d-i partman-auto/choose_recipe select atomic
# ... (другие настройки разделов)

# Создание пользователя
d-i passwd/user-fullname string vagrant
d-i passwd/username string vagrant
d-i passwd/user-password password vagrant
d-i passwd/user-password-again password vagrant
d-i user-setup/encrypt-home boolean false

# Установка пакетов
d-i pkgsel/include string openssh-sftp-server vim cryptsetup build-essential libssl-dev libreadline-dev zlib1g-dev linux-source dkms nfs-common
d-i pkgsel/install-language-support boolean false
d-i pkgsel/upgrade select none

# Завершение установки
d-i finish-install/reboot_in_progress note

Заключение

При корректной конфигурации preseed.cfg использование инструмента Ubiquity для автоматической установки программного обеспечения должно пройти успешно. Следите за тем, чтобы ваша машина была подключена к интернету во время установки, что поможет избежать проблем с зависимостями пакетов. После завершения установки вы сможете войти в систему и проверить установленные пакеты, включая openssh-sftp-server.

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

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