Автоматическая установка 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?