Содержание

Skip to end of metadata
Go to start of metadata

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

Установить и настроить пакеты isc-dhcp-server и vsftpd (инструкции по настройке имеются в статьях по ссылкам)

Установить пакет tftpd-hpa. Установить его можно из графического менеджера пакетов, или из командной строки командой:

sudo apt install tftpd-hpa

Настройка tftp-hpa

Настройки пакета хранятся в файле /etc/default/tftpd-hpa. Приведём его к следующему виду (жирным шрифтом выделены рекомендованные к добавлению параметры):

# /etc/default/tftpd-hpa

TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/srv/tftp"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="–secure"
TFTP_OPTIONS="--ipv4 --secure --create --umask 027 --permissive"

В настройках указаны дополнительные опции:

ОпцияЗначение

--create

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

--ipv4

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

--umask 027

Предписывает сбрасывать бит записи для группы и все биты доступа для остальных пользователей, необязательный параметр.

--permissive

Предписывает не проводить никаких проверок прав доступа к файлу сверх производимых операционной системой, необязательный параметр.

Можно также поменять домашний каталог пользователя tftp в файле /etc/passwd на /srv/tftp.

Чтобы сервис начал работу с новыми настройками, его нужно перезапустить:

sudo systemctl restart tftpd-hpa

Размещение данных для загрузки

Создать директорию с репозиторием и примонтировать туда установочный диск:

sudo mkdir -p /srv/ftp/astra
sudo mount /dev/sr0 /srv/ftp/astra

В каталог /srv/tftp поместить содержимое каталога netinst и библиотеки *.c32 с установочного диска:

sudo cp /srv/ftp/astra/netinst/* /srv/tftp/
sudo cp /srv/ftp/astra/isolinux/*.c32 /srv/tftp/

Создать в /srv/tftp директорию pxelinux.cfg

sudo mkdir /srv/tftp/pxelinux.cfg

В этой директории создать файл default. Содержимое файла default  для полной автоматизации должно содержать параметры, передаваемые файлу preseed.cfg:

/srv/tftp/pxelinux.cfg/default
DEFAULT astra
LABEL astra
kernel linux
append initrd=initrd.gz vga=788 auto=true priority=critical debian-installer/locale=en_US console-keymaps-at/keymap=ru hostname=test2 domain=my.dom astra-license/license=true url=ftp://10.0.2.254/preseed.cfg interface=auto netcfg/dhcp_timeout=60

TIMEOUT 5

В примере выше предполагается, что IP-адрес сервера для загрузки 10.0.2.254

ВНИМАНИЕ

Файл preesed.cfg из вложения является образцом. Его применение уничтожит все данные на носителе без запроса подтверждения.

Подготовленный файл ответов preseed.cfg  положить в директорию /srv/ftp.

В файле preseed.cfg с помощью текстового редактора указать источник, из которого должны будут скачиваться пакеты при установке, например репозиторий на сервере Яндекс (адрес сервера и путь к репозиторию выделены жирным шрифтом):


# Если вы выберете ftp, то mirror/country string устанавливать не нужно.
d-i mirror/protocol string ftp
d-i mirror/country string manual
d-i mirror/ftp/hostname string ### mirror.yandex.ru


d-i mirror/ftp/directory string /astra/current/orel/repository
d-i mirror/ftp/proxy string


Выставить права на этот файл:

chmod 664 /srv/ftp/preseed.cfg

Получить файл ответов можно выполнив команду:

sudo debconf-get-selections --installer > seedlog.txt

из пакета debconf-utils на ранее установленной типовой системе.

На  машине, на которую будет произведена установка ОС, выставить загрузку по сети.