Автоматическая установка AstraLinux по сети

В первую очередь необходимо настроить установку по сети с сервера. Для этого на сервере нужно настроить DHCP-, TFTP-, FTP-сервисы, разместить файлы для установки системы в нужной папке. А чтобы система устанавливалась автоматически, необходим файл ответов. Обо всём этом ниже по шагам.

1.Установка необходимых пакетов

sudo apt install isc-dhcp-server tftpd-hpa pxelinux syslinux vsftpd

Где:

isc-dhcp-server - DНCP-сервер; tftpd-hpa - TFTP-сервер; pxelinux - загрузчик для сетевой загрузки PXE; syslinux - загрузчик для сетевой загрузки DOS FAT / NTFS; vsftpd — FTP-сервер.

Служба tftpd после установки запускается автоматически и сразу предоставляет доступ к каталогу /srv/tftp/, в котором далее и будут размещены файлы для сетевой загрузки.

2. Настройка DHCP

1) прописать сетевой интерфейс в файле /etc/default/isc-dhcp-server:

DHCPDv4_CONF=/etc/dhcp/dhcpd.conf
INTERFACESv4="eth0"

2) Настроим /etc/dhcp/dhcpd.conf.

В данной конфигурации dhcp сервер будет определять тип клиента (UEFI или Legacy BIOS) и отдавать ему нужный загрузчик.

authoritative;
option domain-name "my.dom";
default-lease-time 600;
max-lease-time 7200;
log-facility local7;
option domain-name-servers 8.8.8.8;
allow booting;
allow bootp;
option fqdn.no-client-update on;
option fqdn.rcode2 255;
option pxegrub code 150 = text ;

next-server 192.168.56.1;
option architecture code 93 = unsigned integer 16 ;
if option architecture = 00:07 {
filename "bootx64.efi";
} elsif option architecture = 00:09 {
filename "bootx64.efi";
} else {
filename "pxelinux.0";
}

subnet 192.168.56.0 netmask 255.255.255.0 {
range 192.168.56.20 192.168.56.250;
option domain-name "my.dom";
option broadcast-address 192.168.56.255;
option routers 192.168.56.1;
option subnet-mask 255.255.255.0;
}

3) После внесения изменений в настройки перезапустим сервис:

3. Настройка FTP-сервера

1) Пропишем настройки сервера в файле /etc/vsftpd.conf

2) Изменим домашний каталог пользователя:

3) Перезагрузим сервис:

4. Загрузка по сети.

Для загрузки по сети нужны следующие файлы:

  • pxelinux.0;

  • библиотеки syslinux;

  • ядро ОС;

  • специальный initrd.

Эти файлы находятся на установочном диске в каталоге netinst.

1) Создадим папку для репозитория /srv/repo/smolensk/ и примонтируем туда дистрибутив (это может быть как образ, так и непосредственно установочный диск).

При использовании установочного диска:

Или при использовании образа:

2) Создадим папку /srv/tftp/smolensk/, куда положим ядро и initrd. И скопируем эти файлы в папку:

3) Скопируем в каталог /srv/tftp/ файл pxelinux.0 и необходимые библиотеки syslinux:

Pxelinux -- это PXE-версия универсального загрузчика SYSLINUX. Функционал Pxelinux может быть расширен за счёт COM32 модулей SYSLINUX. Этими модулям мы и воспользовалисью

4) Создадим каталог /srv/tftp/pxelinux.cfg/:

5) И создадим в этом каталоге файл меню /srv/tftp/pxelinux.cfg/default со следующим содержимым:

В этом файле необходимо указать свои следующие параметры:

  • hostname - имя хоста, которое будет использована при автоматической установке ОС;

  • domain - имя домена ;

  • url - адрес, по которому должны быть доступны конфигурационные файлы.

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

5. Загрузчик

Для загрузки в режиме UEFI служит специальный EFI образ загрузчика grub, который можно скачать здесь

1)Распаковать архив netinst.tar.gz в /srv/tftp

2) Конфигурационный файл /srv/tftp/debian-installer/amd64/grub/grub.cfg привести к виду:

Не забываем указать в файле правильно все необходимые параметры (имена хоста и домена, а также путь к файлам). В пути url=tftp://192.168.56.1/smolensk/preseed.cfg указан файл ответов, который необходим для автоматической установки. В следующем пункте его и рассмотрим.

6. Автоматическая установка.

1) Для автоматической установки необходим файл preseed.cfg. Общий вид его можно скачать отсюда.

2) Этот файл скопируем в каталог установочных файлов /srv/tftp/smolensk/, переименовав в preseed.cfg:

Рассмотрим этот файл и изменим нужные строки.

3) Укажем путь к директории, где лежит репозиторий:

4) Не забудем указать учётную запись и пароли:

Если у вас остались вопросы, пишите нам ipc@nnz.ru

Last updated

Was this helpful?