Задача Установите Debian Lenny на сервер, расположенный на удаленном сайте.
На объекте уже есть один сервер на базе Linux, и есть инженер, который сможет подключить новый сервер к сети и включить его.
Решение Загрузите образ netinstall через PXE и используйте пакет сетевой консоли для установки с помощью ssh. Как обычно в интернете много документации, я постарался собрать всё воедино.
На существующем сервере (там, например, будет установлен тот же Debian Lenny) нам понадобится dhcp3-сервер, tftpd-hpa и любой http-сервер.
Настройка dhcp3-сервера:
/etc/dhcp3/dhcpd.conf ddns-update-style none; option domain-name "local"; option domain-name-servers 192.168.1.1; default-lease-time 600; max-lease-time 7200; authoritative; log-facility local7; subnet 192.168.1.0 netmask 255.255.255.0 { option routers 192.198.1.1; option domain-name-servers 192.168.1.1; option domain-name "local"; next-server 192.168.1.1; filename "pxelinux.0"; range 192.168.1.100 192.168.1.250; }Опция next-server передаст IP-адрес TFTP-сервера загрузчику PXE сетевой карты, а имя файла будет именем файла с загрузчиком Linux. TFTP не требует какой-либо специальной настройки, поэтому далее нам нужно настроить конфиги загрузчика pxelinux, они находятся в файле /var/lib/tftpboot/pxelinux.cfg/default. Это должно выглядеть так:
default lenny-ssh prompt 0 label lenny-ssh kernel linux append initrd=initrd.gz locale=en_US console-keymaps-at/keymap=us netcfg/choose_interface=eth0 netcfg/get_hostname=debian netcfg/get_domain=local url= http://192.168.1.1/preseed.cfgВнимание , в этом конфиге важны отступы! Если возникают проблемы, вы можете включить отладку, добавив параметр DEBCONF_DEBUG=5. Файлы pxelinux.0, linux и initrd.gz взяты из репозиторий , вы также можете найти его там pxelinux.0 .
Файл preseed.cfg должен выглядеть следующим образом:
d-i mirror/country string manual d-i mirror/http/hostname string mirror.yandex.ru d-i mirror/http/directory string /debian d-i mirror/http/proxy string d-i network-console/password password r00tme d-i network-console/password-again password r00tme d-i preseed/early_command string anna-install network-console d-i anna/choose_modules string network-console tasksel tasksel/first multiselect none d-i pkgsel/include string openssh-server sudo screen d-i pkgsel/upgrade select full-upgradeВо всей мане есть опции, связанные с локалью и настройками сети, у меня это не сработало, возможно из-за того, что файл preseed.cfg подключается после установки этих параметров, поэтому их нужно передавать как опции initrd. Собственно, дальше включаем новую железку, ищем в логах dhcp IP-адрес, который получил хост, и подключаемся к нему по ssh с логином установщика и паролем r00tme По аналогии можно настроить полностью автоматическую установку, добавив preseed.cfg. Лично мне этот вариант не удобен, поскольку очень часто серверы имеют разные конфигурации дисковой подсистемы и единого «рецепта» не существует.
Ссылки
Официальная документация Вторая официальная инструкция Док, который помог больше всех , на японском Теги: #linux #Системное администрирование #pxe #Debian #ssh #preseed #netinstall #network-console
Вместе с данным постом часто просматривают:
-
Алекса Ранг
19 Oct, 24 -
Биометрический 3D-Сканер
19 Oct, 24 -
Dotnext 2019 Питер: Краткий Отчет
19 Oct, 24 -
Обзор Смартфона Sony Xperia M2
19 Oct, 24 -
Поддержка Php 5.2.7 Прекращена
19 Oct, 24 -
Ixbt Заражен, По Данным Яндекса
19 Oct, 24