NetInstall: различия между версиями
Дым (обсуждение | вклад) |
мНет описания правки |
||
Строка 1: | Строка 1: | ||
=Сетевая установка ALT Linux= | == Сетевая установка ALT Linux == | ||
Требуются: | Требуются: | ||
* на новом компьютере — сетевой интерфейс с поддержкой PXE; | * на новом компьютере — сетевой интерфейс с поддержкой PXE; | ||
Строка 5: | Строка 5: | ||
* сервер TFTP; | * сервер TFTP; | ||
* сервер FTP (желательно с анонимным доступом), HTTP или NFS. | * сервер FTP (желательно с анонимным доступом), HTTP или NFS. | ||
==Сетевая установка ALT Linux 7.0== | === Сетевая установка ALT Linux 7.0 === | ||
===Минимально необходимые ручные настройки для однократной установки | ==== Минимально необходимые ручные настройки для однократной установки ==== | ||
Обычно в сети уже имеется сервер DHCP. | Обычно в сети уже имеется сервер DHCP. | ||
Особенности реализации: | Особенности реализации: | ||
Строка 12: | Строка 12: | ||
*сервер TFTP выполняется в режиме программы, но не демона — используем пакет tftpd; | *сервер TFTP выполняется в режиме программы, но не демона — используем пакет tftpd; | ||
*в качестве источника установки используется один из имеющихся серверов (демонов): FTP, HTTP или NFS. | *в качестве источника установки используется один из имеющихся серверов (демонов): FTP, HTTP или NFS. | ||
====Подготовка загрузчика==== | ===== Подготовка загрузчика ===== | ||
Пусть корень сервера TFTP будет ~/Altlinux/PXEINSTALL. | Пусть корень сервера TFTP будет ~/Altlinux/PXEINSTALL. | ||
#Создаём каталоги для сервера TFTP: {{cmd|mkdir -p ~/Altlinux/PXEINSTALL/pxelinux.cfg ~/Altlinux/PXEINSTALL/alt0}} | #Создаём каталоги для сервера TFTP: {{cmd|mkdir -p ~/Altlinux/PXEINSTALL/pxelinux.cfg ~/Altlinux/PXEINSTALL/alt0}} | ||
Строка 60: | Строка 60: | ||
</source> | </source> | ||
==== Подготовка сервера DHCP (BOOTP) ==== | ===== Подготовка сервера DHCP (BOOTP) ===== | ||
В файл конфигурации сервера DHCP добавляем секцию для нашего нового компьютера: | В файл конфигурации сервера DHCP добавляем секцию для нашего нового компьютера: | ||
<pre> | <pre> | ||
Строка 71: | Строка 71: | ||
</pre> | </pre> | ||
(Эта секция добавлена рядом с секцией "subnet 192.0.2.0 netmask 255.255.255.0 { … }", на том же уровне иерархии.) | (Эта секция добавлена рядом с секцией "subnet 192.0.2.0 netmask 255.255.255.0 { … }", на том же уровне иерархии.) | ||
====Запуск сервера TFTP==== | ===== Запуск сервера TFTP ===== | ||
Запустим программу сервера TFTP в foreground chroot в подготовленный каталог: | Запустим программу сервера TFTP в foreground chroot в подготовленный каталог: | ||
# in.tftpd -L4s ~/Altlinux/PXEINSTALL | # in.tftpd -L4s ~/Altlinux/PXEINSTALL | ||
Строка 81: | Строка 81: | ||
В другом: | В другом: | ||
# tail -F /var/log/daemons/info | # tail -F /var/log/daemons/info | ||
==== Публикация источника установки ==== | ===== Публикация источника установки ===== | ||
Монтируем загрузочный CD или DVD и раздаём его содержимое по ftp, http или nfs | Монтируем загрузочный CD или DVD и раздаём его содержимое по ftp, http или nfs | ||
Пример для FTP: | Пример для FTP: | ||
Строка 88: | Строка 88: | ||
или | или | ||
# mount -t iso9660 -o loop,ro ~/Downloads/alt-N-installdvd.iso /ftp/pub/Altlinux | # mount -t iso9660 -o loop,ro ~/Downloads/alt-N-installdvd.iso /ftp/pub/Altlinux | ||
==== Загрузка компьютера ==== | ===== Загрузка компьютера ===== | ||
Включаем новый компьютер, вызываем его BIOS SETUP, разрешаем "LAN adapter BOOT ROM", "PXE boot" или аналогичный пункт настройки, загружаем. | Включаем новый компьютер, вызываем его BIOS SETUP, разрешаем "LAN adapter BOOT ROM", "PXE boot" или аналогичный пункт настройки, загружаем. | ||
В процессе загрузки видна заставка PXELINUX, затем начинается загрузка. Если FTP или HTTP требует аутентификацию, PXELINUX предложит указать источник загрузки - в текстовой форме ввода можно задать адрес сервера, путь к содержимому установочного диска, логин и пароль. | В процессе загрузки видна заставка PXELINUX, затем начинается загрузка. Если FTP или HTTP требует аутентификацию, PXELINUX предложит указать источник загрузки - в текстовой форме ввода можно задать адрес сервера, путь к содержимому установочного диска, логин и пароль. | ||
== Сетевая инсталляция ALT Linux 9.0 == | === Сетевая инсталляция ALT Linux 9.0 === | ||
Требуется: сетевая карта с поддержкой PXE<ref>Как вариант, дискетка или ещё что-нибудь с Etherboot.</ref>. | Требуется: сетевая карта с поддержкой PXE<ref>Как вариант, дискетка или ещё что-нибудь с Etherboot.</ref>. | ||
Установить следующие пакеты: | Установить следующие пакеты: |
Версия от 10:09, 20 ноября 2023
Сетевая установка ALT Linux
Требуются:
- на новом компьютере — сетевой интерфейс с поддержкой PXE;
- сервер DHCP с поддержкой BOOTP;
- сервер TFTP;
- сервер FTP (желательно с анонимным доступом), HTTP или NFS.
Сетевая установка ALT Linux 7.0
Минимально необходимые ручные настройки для однократной установки
Обычно в сети уже имеется сервер DHCP. Особенности реализации:
- вносятся изменения в уже имеющийся сервер DHCP (ISC или совместимый по формату конфигов) — в Альтлинуксе пакет dhcp-server;
- сервер TFTP выполняется в режиме программы, но не демона — используем пакет tftpd;
- в качестве источника установки используется один из имеющихся серверов (демонов): FTP, HTTP или NFS.
Подготовка загрузчика
Пусть корень сервера TFTP будет ~/Altlinux/PXEINSTALL.
- Создаём каталоги для сервера TFTP: mkdir -p ~/Altlinux/PXEINSTALL/pxelinux.cfg ~/Altlinux/PXEINSTALL/alt0
- Копируем загрузчик из пакета syslinux: cp /usr/lib/syslinux/pxelinux.0 ~/Altlinux/PXEINSTALL
- Создаём файл конфигурации загрузчика — умолчание для всех компьютеров
- (Примечание: Размер виртуального диска в "append ... ramdisk_size=" определяется размером файла "altinst" — если места не хватит, pxelinux.0 будет бесконечно спрашивать источник загрузки.
echo " default local timeout 120 prompt 1 display pxelinux.cfg/altlinux.msg label local localboot 0 #install source: FTP label ftp kernel alt0/vmlinuz append initrd=alt0/full.cz live fastboot showopts automatic=method:ftp,network:dhcp,server:192.0.2.2,directory:/pub/ALTLinux/ stagename=altinst ramdisk_size=45000 #install source: HTTP label http kernel alt0/vmlinuz append initrd=alt0/full.cz live fastboot automatic=method:http,network:dhcp,server:192.0.2.2,directory:/Altlinux stagename=altinst ramdisk_size=45000 #install source: NFS label nfs kernel alt0/vmlinuz append initrd=alt0/full.cz ai live fastboot automatic=method:nfs,network:dhcp,server:192.0.2.2,directory:/space/ftp/pub/Altlinux/ stagename=altinst " > ~/Altlinux/PXEINSTALL/pxelinux.cfg/default
- Если известен адрес MAC сетевой карты, можно сделать копию или hardlink файла конфигурации для этого адреса MAC.
- Нельзя делать simlink из-за того, что in.tftpd с опцией -s отказывается ресолвить симлинки.
- Пример: ln default ~/Altlinux/PXEINSTALL/pxelinux.cfg/01-00-18-f3-d0-62-06
- Создаём файл с подсказкой о выборе загрузки
echo " Network install Altlinux 7.0.4 Type one of: ftp - install from ftp archive http - install from http site nfs - install from nfs directory local - boot from 1st HDD " > ~/Altlinux/PXEINSTALL/pxelinux.cfg/altlinux.msg
Подготовка сервера DHCP (BOOTP)
В файл конфигурации сервера DHCP добавляем секцию для нашего нового компьютера:
host PXE { hardware ethernet 00:18:f3:d0:62:06; # MAC сетевого интерфейса fixed-address 192.0.2.7; # такой IP будет ему назначен (не обязателено) next-server 192.0.2.6; # IP-адрес сервера TFTP filename "pxelinux.0"; # имя файла загрузчика PXELINUX }
(Эта секция добавлена рядом с секцией "subnet 192.0.2.0 netmask 255.255.255.0 { … }", на том же уровне иерархии.)
Запуск сервера TFTP
Запустим программу сервера TFTP в foreground chroot в подготовленный каталог:
# in.tftpd -L4s ~/Altlinux/PXEINSTALL
Проверить, всё ли в порядке, можно в файлах протоколов /var/log/daemons/warnings и /var/log/daemons/errors.
Если хочется увидеть, какие файлы запрашивает клиент (PXE), укажите высокий уровень протоколирования и наблюдайте лог /var/log/daemons/info. В одном окне консоли:
# in.tftpd -L4s --verbosity 10 ~/Altlinux/PXEINSTALL
В другом:
# tail -F /var/log/daemons/info
Публикация источника установки
Монтируем загрузочный CD или DVD и раздаём его содержимое по ftp, http или nfs Пример для FTP:
# mkdir /ftp/pub/Altlinux # mount -t iso9660 -o ro /dev/sdd /ftp/pub/Altlinux
или
# mount -t iso9660 -o loop,ro ~/Downloads/alt-N-installdvd.iso /ftp/pub/Altlinux
Загрузка компьютера
Включаем новый компьютер, вызываем его BIOS SETUP, разрешаем "LAN adapter BOOT ROM", "PXE boot" или аналогичный пункт настройки, загружаем.
В процессе загрузки видна заставка PXELINUX, затем начинается загрузка. Если FTP или HTTP требует аутентификацию, PXELINUX предложит указать источник загрузки - в текстовой форме ввода можно задать адрес сервера, путь к содержимому установочного диска, логин и пароль.
Сетевая инсталляция ALT Linux 9.0
Требуется: сетевая карта с поддержкой PXE[1]. Установить следующие пакеты:
# apt-get install dhcp-server syslinux tftp-server vsftpd tftp-server-xinetd apache2-base
Настройка dhcpd сервера /etc/dhcp/dhcpd.conf[2]:
option arch code 93 = unsigned integer 16; class "pxeclients" { match if substring (option vendor-class-identifier, 0, 9) = "PXEClient"; next-server 192.168.1.1; if option arch = 00:06 { filename "bootia32.efi"; } else if option arch = 00:07 { filename "shimx64.efi"; } else { filename "pxelinux.0"; } } subnet 192.168.1.0 netmask 255.255.255.0 { default-lease-time 3600; max-lease-time 3600; range 192.168.1.100 192.168.1.200; }
# mkdir -p /srv/public/netinst/mnt/ # mount /dev/sr0 /srv/public/netinst/mnt/ # cp -r /srv/public/netinst/mnt/syslinux/ /var/lib/tftpboot/ # cp /usr/lib/syslinux/pxelinux.0 /var/lib/tftpboot/ # mkdir -p /var/lib/tftpboot/pxelinux.cfg # touch /var/lib/tftpboot/pxelinux.cfg/default /var/lib/tftpboot/pxelinux.cfg/default.msg
Настройка установки в Legacy
Содержимое файла /var/lib/tftpboot/pxelinux.cfg/default:
default local display pxelinux.cfg/default.msg timeout 100 prompt 1 label local localboot 0 label ftp kernel syslinux/alt0/vmlinuz append initrd=syslinux/alt0/full.cz changedisk fastboot ramdisk_size=347909 showopts vga=normal quiet splash automatic=method:ftp,network:dhcp,server:192.168.1.1,directory:/netinst/mnt/ tz=Europe/Moscow lang=ru_RU label nfs kernel syslinux/alt0/vmlinuz append initrd=syslinux/alt0/full.cz changedisk fastboot ramdisk_size=347909 showopts vga=normal quiet splash automatic=method:nfs,network:dhcp tz=Europe/Moscow lang=ru_RU label http kernel syslinux/alt0/vmlinuz append initrd=syslinux/alt0/full.cz changedisk fastboot ramdisk_size=347909 showopts vga=normal quiet splash automatic=method:http,network:dhcp,server:192.168.1.1,directory:/ tz=Europe/Moscow lang=ru_RU label memtest linux memtest.bin
Содержимое файла /var/lib/tftpboot/pxelinux.cfg/default.msg:
Type one of: ftp - install from ftp archive http - install from http site nfs - install from nfs directory local - boot from 1st HDD mem - run memtest
Настройка установки в UEFI
Содержимое файла /var/lib/tftpboot/grub.cfg:
set timeout=120 menuentry "FTP install" { linuxefi syslinux/alt0/vmlinuz fastboot live lowmem ramdisk_size=871661 showopts quiet splash stagename=altinst automatic=method:ftp,network:dhcp,server:192.168.1.1,directory:/netinst/mnt/ initrdefi syslinux/alt0/full.cz } menuentry "NFS install" { linuxefi syslinux/alt0/vmlinuz fastboot live lowmem ramdisk_size=871661 showopts quiet splash stagename=altinst automatic=method:nfs,network:dhcp,server:19 2.168.1.1,directory:/srv/public/netinst/mnt/ initrdefi syslinux/alt0/full.cz } menuentry "HTTP install" { linuxefi syslinux/alt0/vmlinuz fastboot live lowmem ramdisk_size=871661 showopts quiet splash stagename=altinst automatic=method:http,network:dhcp,server:192.168.1.1,directory:/ initrdefi syslinux/alt0/full.cz }
Получить файлы shimx64.efi и grubx64.efi:
cp /usr/lib64/efi/shimx64.efi /var/lib/tftpboot cp /usr/lib64/efi/grubx64.efi /var/lib/tftpboot
Настройка TFTP
Отредактировать файл /etc/xinetd.d/tftp и убедиться что включен tftp сервер:
disable = no
Перезапустить сервис:
# systemctl restart xinetd
Настройка FTP
Отредактировать файл /etc/xinetd.d/vsftpd и убедиться что включен ftp сервер:
disable = no
Перезапустить сервис:
# systemctl restart xinetd
Настройка NFS
В файле /etc/exports должна быть следующая строчка:
/srv/public -ro,insecure,no_subtree_check,fsid=1,crossmnt *
Экспорт каталогов:
exportfs -r
Настройка HTTP
Для apache создать конфигурационный файл /etc/httpd2/conf/sites-available/netinst.conf со следующим содержимым:
<VirtualHost *:80> DocumentRoot /srv/public/netinst/mnt/ <Directory /srv/public/netinst/mnt/> Options +FollowSymLinks -Indexes AllowOverride None Require all granted </Directory> </VirtualHost>
Применить изменения:
a2dissite 000-default a2dissite 000-default_https a2ensite netinst systemctl restart httpd2