Установка Debian по сети через netboot и ssh
Подходит для установки Debian Squeeze и старше. Установщик стандартный для дебиана — debian-installer (сокращенно d-i).
В случае невозможности получить физический доступ к консоли этот способ наиболее удобен для установки нового дистрибутива Debian. Достаточно включить сервер, дождаться загрузки и присоединиться по ssh.
В качестве сервера будет использован debian squeeze. На него сверху надо будет поставить dhcp3-server, tftpd, debian-installer, nginx:
1 | aptitude install dhcp3-server tftpd debian-installer-netboot-i386 nginx |
Правим в /etc/inetd.conf строчку с tftp так, чтобы корневая папка была “/tftpboot”:
1 | tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in .tftpd /tftpboot |
Конфигурация /etc/dhcp/dhcpd.conf:
01 02 03 04 05 06 07 08 09 10 11 | allow bootp; allow booting; subnet 192.168.0.0 netmask 255.255.255.0 { range 192.168.0.90 192.168.0.90; } host netinst { hardware ethernet 00:0c:29:6f:ee:ba; fixed-address 192.168.0.130; filename "pxelinux.0"; } |
Хост с фиксированным адресом необходим, что бы потом не искать его в логах dhcpd. А ещё он не даст загрузиться остальным машинам, если где-то первым пунктом стоит загрузка по сети.
Копируем файлы необходимые для загрузки:
1 2 3 4 5 6 7 8 | mkdir -p /tftpboot/pxelinux .cfg cp /usr/lib/debian-installer/images/i386/text/ {pxelinux.0,linux,initrd.gz} /tftpboot cat > /tftpboot/pxelinux .cfg /default <<EOF default install label install kernel linux append auto= true priority=critical initrd=initrd.gz preseed /url =http: //192 .168.0.139 /preseed .cfg EOF |
Теперь осталось только положить файл конфигурации preseed.cfg.
Конфигурация /var/www/preseed.cfg:
1 | d-i debian-installer /locale string en_US |
1 2 | d-i console-keymaps-at /keymap select us d-i keyboard-configuration /xkb-keymap select us |
1 2 3 | d-i anna /choose_modules string network-console d-i network-console /password password r00tme d-i network-console /password-again password r00tme |
Ссылки
Материалы, которые были использованы для написания. Хотя наиболее полезной ссылкой оказалась последняя. Я практически повторил действия автора.
- Общее описание: http://wiki.debian.org/DebianInstaller/NetworkConsole
- Описания файла preseed: http://www.debian-administration.org/articles/394
- Официальная документация Appendix B. Automating the installation using preseeding
- Самая полезная ссылка https://saz.sh/2011/07/30/preseed-debian-squeeze-using-pxe/