Меню

автоматическая установка debian по сети

Установка Debian через Интернет

Этот метод установки Debian требует работающего Интернет соединения в процессе установки. В результате, по сравнению с другими методами, вы загрузите меньше данных, так как процесс будет соответствовать вашим требованиям. Поддерживаются Ethernet и беспроводные подключения. К сожалению, внутренние ISDN карты не поддерживаются.

Есть три варианта установки по сети:

Маленькие диски или USB-накопители

Ниже указаны ссылки на файлы образов. Выберите ниже архитектуру вашего процессора.

Мини CD, USB-накопители и т.д.

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

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

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

Ниже указаны ссылки на доступные файлы образов (дополнительную информацию смотрите в файле MANIFEST):

Сетевая загрузка

Вам нужно настроить серверы TFTP и DHCP (или BOOTP, RARP), которые будут предоставлять установочные носители машинам в вашей локальной сети. Вы можете запустить программу установки Debian (с помощью TFTP и PXE) и продолжить установку по сети, если BIOS вашей клиентской машины поддерживает такую функцию.

Не все машины поддерживают загрузку по сети. Так как в данном случае необходима дополнительная работа, этот метод установки Debian не рекомендуется новичкам.

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

Ниже указаны ссылки на файлы образов (дополнительную информацию смотрите в файле MANIFEST):

источник

Загрузка и установка Debian по сети для чайников

Если вам нужно установить Debian на несколько машин, то, конечно, лучше загружать и устанавливать его по сети. Ну и хотелось бы, чтобы установка проходила в полностью автоматическом режиме. Об этом и будет статья. Основная часть статьи — это вольный пересказ вики дебиана, но так же здесь описано пара нюансов, о которых не сказано в вики, но без них установка не будет полностью автоматической.

Начну с того, что в сети должен присутствовать DHCP/TFTP сервер. Если его нет, то можно сначала вручную установить на одну из машин Debian и поднять на нём DHCP и TFTP. Для этого нужно установить пакеты dhcp3-server и tftpd-hpa. Для DHCP настроим раздачу адресов для нужной подсети (далее в примерах 192.168.2.0/24) и информации о том, какой образ должен грузиться по TFTP.
Пример простого конфигурационного файла dhcp3-server:
cat /etc/dhcp/dhcpd.conf | grep -v ‘#’

option domain-name-servers 8.8.8.8;
default-lease-time 600;
max-lease-time 7200;

subnet 192.168.2.0 netmask 255.255.255.0
<
range 192.168.2.10 192.168.2.120;
option routers 192.168.2.1;
option domain-name «debianfarm.org»;
filename «pxelinux.0»;
host firstserver
<
option host-name «firstserver»;
hardware ethernet 08:00:27:91:DA:57;
fixed-address 192.168.2.21;
>
>

P. S. В примере в качестве DNS раздаётся Google Public DNS. Все сервера находятся в домене debianfarm.org, ну и для каждого желательно привязать статически IP и hostname по MAC, хотя это не обязательно. В примере это cделано только для одного хоста. Так же, TFTP сервер может находиться и на другом хосте. Для указания его адреса нужно добавить опцию next-server ;
После редактирования конфига нужно перезагрузить демон DHCP:
# /etc/init.d/isc-dhcp-server restart

Теперь нужно скачать нужные файлы и положить в корень для TFTP (по-умолчанию /srv/tftp, хотя во время установки пакета tftpd-hpa будет предложено выбрать другой путь).
# cd /srv/tftp
# wget mirror.yandex.ru/debian/dists/squeeze/main/installer-i386/current/images/netboot/netboot.tar.gz
# tar -xvf netboot.tar.gz

Отредактируем файл ./pxelinux.cfg/default в корне TFTP так, чтобы загрузчик syslinux не ждал реакции пользователя после загрузки, а сам через секунду начинал установку. Для этого значение опции timeout установим равное 1.
Теперь нужно добавить к параметрам ядра переменную для debian-installer для загрузки файла preseed. В этом файле хранятся значения переменных, которые обычно спрашиваются у пользователя во время установки. То есть, вы заранее создаёте файл с «ответами на вопросы» установщика Debian (о его содержимом позже). Но есть один нюанс, о котором не сказано в wiki: файл preseed загружается не сразу после запуска установщика, а только после того, как будут заданы пользователю некоторые вопросы, а это значит, что используя только файл preseed нельзя добиться полностью автоматической установки. Поэтому, ответы на вопросы установщика до загрузки preseed нужно передать параметрами загрузки ядра, которые потом подхватит установщик Debian. Впрочем, можно было бы передать ядру все нужные «ответы на вопросы» установщика, но вам не позволит это зделать ограничение на максимальную длинну строки запуска ядра.
Передавая значения этих переменных ядру можно опустить первую часть названия переменной (та, которая до слеша вместе со слешем). Но так делать нельзя для таких переменных, у которых вторая часть названия конфликтует с другой переменной, например:
console-keymaps-at/keymap нужно указывать полностью, так как есть ещё переменная console-keymaps-usb/keymap.

Читайте также:  gprs tele2 запрос настроек

Конфиг syslinux теперь должен выглядеть примерно так:

cat ./debian-installer/i386/boot-screens/txt.cfg
default install
label install
menu label ^Install
menu default
kernel debian-installer/i386/linux
append vga=788 initrd=debian-installer/i386/initrd.gz locale=en_US country=BY language=en console-keymaps-at/keymap=en url=http://192.168.2.1/preseed.cfg hostname=debian domain=debianfarm.org — quiet

P. S. Имя хоста здесь нужно задавать обязательно, но помните, что значение, позже полученное по DHCP, будет иметь высший приоритет. То же относится и к домену.

На хосте 192.168.2.1 должен быть поднят http-сервер. Если его нет, можно установить nginx, в конфигурационном файле в раздел http добавить что-то вроде этого:
server
<
listen 80;
server_name localhost;

location /
<
root /path/to/dir/with/preseed/;
>
>

Впрочем, файл preseed можно разместить где угодно (dropbox, etc.)

Теперь немного о содержимом файла preseed. Пример такого файла можно посмотреть здесь www.debian.org/releases/squeeze/example-preseed.txt. Вот так выглядит рабочий вариант файла:
d-i netcfg/choose_interface select auto

d-i netcfg/wireless_wep string

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 passwd/make-user boolean false

d-i passwd/root-password password juststrongpassword
d-i passwd/root-password-again password juststrongpassword

d-i clock-setup/utc boolean true
d-i time/zone string US/Eastern
d-i clock-setup/ntp boolean true

d-i partman-auto/method string lvm

d-i partman-lvm/device_remove_lvm boolean true
d-i partman-md/device_remove_md boolean true
d-i partman-lvm/confirm boolean true

d-i partman-auto/choose_recipe select atomic

d-i partman-partitioning/confirm_write_new_label boolean true
d-i partman/choose_partition select finish
d-i partman/confirm boolean true
d-i partman/confirm_nooverwrite boolean true

d-i partman-md/confirm boolean true
d-i partman-partitioning/confirm_write_new_label boolean true
d-i partman/choose_partition select finish
d-i partman/confirm boolean true
d-i partman/confirm_nooverwrite boolean true

tasksel tasksel/first multiselect standard
d-i pkgsel/include string openssh-server

popularity-contest popularity-contest/participate boolean false

d-i finish-install/reboot_in_progress note

Что-то комментировать здесь нет смысла, ибо каждая переменная дублирует предельно понятные диалоги установщика, по каждой можно посмотреть комментарий в примере.
Способ разметки диска был просто скопипащен из примера, так как он зависит от количества жёстких дисков, их размера и нужд сервера.

Ну вот и всё, теперь останется только включить те машины, на которые нужно установить Debian, всё остальное произойдёт «само».

источник

Установка Debian 9 (Stretch) через PXE сервер сетевой загрузки

В этом руководстве я расскажу как установить последнюю версию сервера Debian 9 через PXE-сервер с удаленных зеркал.

Для настройки среды PXE мы будем использовать DHCP-сервер ISC-DHCP, а файлы Netboot Debian будут обслуживаться в локальной сети сервером TFTPD-HPA. Установка системы через PXE может увеличить скорость установки как в случае развертывания нескольких установок Debian в течение короткого периода времени так и в тех случаях, когда машины не оснащены устройством CD/DVD ROM.

Читайте также:  антирадар установка на андроид

Требования

  • Debian 9 установленный на выделенной или на виртуальной машине.
  • Сетевой интерфейс с настроенным статичным IP адресом в том сегменте сети, который будет использоваться для динамического выделения IP-адреса и других связанных с ним настроек DHCP и PXE.
  • Локальный или удаленный аккаунт на сервере Debian с привилегиями root или прямой доступ к root аккаунту через консоль или SSH.
  • Интернет подключение необходимое для установки Debian по сети.

Начальная конфигурация

На первом этапе вам необходимо убедиться, что система Debian, которую мы будем использовать для установки новых серверов, имеет сетевой интерфейс, который будет использоваться для привязки к нему DHCP-сервера, настроенному со статическим IP-адресом.

Чтобы вручную настроить карту сетевого интерфейса, откройте файл сетевых интерфейсов и отредактируйте его, используя ваш любимый текстовый редактор, например nano. Замените строки настроек IP, описанные ниже, в соответствии с вашими сетевыми настройками.

Примерное содержимое файла:

После правки файла сетевых настроек сохраните его, закройте и опустите сетевой интерфейс, затем снова его поднимите для применения настроек так как показано ниже. В результате, ваша сетевая карта названная (к примеру) ens33, получит настройки которые вы указали в файле.

Для проверки того что новый IP адрес был применен для сетевого интерфейса можно выполнить следующую команду:

Иногда настройки IP не применяются при простом перезапуске сети или отключении и включении сетевого интерфейса. В этом случае придётся перезапустить систему.

Так же перед продолжением советую выполнить полное обновление системы, если вы по каким-либо причинам его ещё не сделали:

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

Установка и настройка сервера ISC-DHCP

Следующий шаг — установка сервера DHCPи настройка PXE, для этого войдите в систему под root или под аккаунтом с привилегиями root и установите пакет isc-dhcp-server из репозитория Debian 9.

Теперь сохраните резервную копию основного файла настроек сервера ISC-DHCP и измените содержимое конфигурационного файла на следующие настройки:

Содержимое dhcpcd.conf:

В приведенном выше файле конфигурации замените следующие строки соответственно.

Для определения диапазона сети в котором DHCP будет выделять IP адресадля вашего сегмента сети

option routers = IP вашего шлюза

option broadcast-address = широковещательный адрес

option subnet-mask = маска подсети

option time-servers = IP адрес вашего сетевого сервера времени NTP

option domain-name = доменное имя вашей сети

option domain-name-servers = IP адреса ваших DNS серверов

if option arch = 00:07 or option arch = 00:09 = если конечное устройство это машина с UEFI, загрузка пойдет с помощью файла bootnetx64.efi все другие не UEFI машины будут грузиться используя файла pxelinux.0. Обычно это машины со старым BIOS.

next-server 192.168.1.102 = это IP адрес TFTP сервера где файлы pxelinux.0 или bootnetx64.efi в вашей сети. В нашем случае TFTP сервер расположен на той же самой машине.

default-lease-time = время по умолчанию для выделенного IP адреса, перед тем как истечет срок его аренды.

max-lease-time = максимальное время до срока истечения аренды IP адреса.

Тут показано как статичный IP адрес объявляется DHCP сервером. Устройство с MAC адресом указанным в hardware ethernet всегда будет получать один и тот же IP адрес. Имя хоста указанное как nas — не имеет ззначения. вы можете указать любую произвольную строку.

Теперь откройте файл isc-dhcp-server в директории /etc/default/ для правки, переместитесь в конец файла и добавьте вашу сетевую карту настроенную на статичный IP адрес в строку INTERFACESv4 так как показано в примере ниже. Убедитесь что вы добавили соответствующее имя вашего сетевого интерфейса. Используйте команды ip или ifconfig для вывода списка существующих сетевых интерфейсов и поиска правильного имени.

Читайте также:  настройка dvr динамический ip

Вывод файла isc-dhcp-server

Наконец, перезапустите демона DHCP для применения изменений. Проверьте статус сервиса DHCP используя приведенную ниже команду, для проверки того, что сервис был корректно запущен.

так же, выполните команду ss или netstat для вывода списка открытых сокетов и проверки что DHCP сервер работает.

Если утилита netstat не установлена в системе вы можете установить её этой командой:

Установка TFTP сервера

Чтобы обслуживать файлы netboot, нужные клиентам для загрузки Debian удаленно через PXE и TFTP, вам также необходимо установить TFTP-сервер в вашей системе. Одним из наиболее распространенных и защищенных TFTP-серверов, доступных для локальных сетей, является сервер tftpd-hpa. Пакеты TFTP-HPA можно установить из официальных репозиториев, предлагаемых Debian 9. Выполните следующую команду, чтобы установить сервер tftpd-hpa в Debian 9.

После того как пакет будет установлен, откройте файл конфигурации TFTPD-HPA и убедитесь что он имеет следующее содержимое.

Вывод файла tftpd-hpa:

Если строка TFTP_OPTIONS имеет содержимое как показано ниже, убедитесь, что вы удалили флаг —create, для защиты TFTP-сервера.

Флаг create позволяет удалённым клиентам загружать файлы на tftp сервер. Этот параметр опасен, поскольку произвольные пользователи могут загружать или удалять файлы из корневого пути сервера TFTP.

Наконец, включите службу в вашей системе и запустите TFTP-сервер. проверьте статус демона tftp, выполнив следующую серию команд:

Вы так же можете использовать команду netstat или ss для получения списка всех открытых сетевых сокетов которые слушает ваша система. 67 и 69 порты UDP должны быть открытыми в вашей сети для корректной работы DHCP и TFTP сервера. Вы можете открыть эти порты в вашем фаерволле следующей командой:

Если вы используете правила iptables для управления политикой брандмауэра на своем сервере Debian, добавьте следующие правила, чтобы разрешить входящий трафик на портах 67 и 69 UDP, чтобы клиенты могли обращаться к серверам DHCP и TFTP.

На следующем шаге мы установим утилиты загрузчика Syslinux, выполнив следующую команду.

Развертывание файлов сетевой загрузки Debian 9

Далее, идем на страницу Debian с файлами сетевой установки по адресу https://www.debian.org/distrib/netinst и качаем последнюю версию архива Debian netboot используя утилиту wget.

После загрузки архива Debian netinstall распакуйте его содержимое напрямую в корень TFTP следующей командой.

Так же скопируйте файл memdisk поставляемый пакетом Syslinux в корень TFTP и осмотрите содержимое директории TFTP. Директория /srv/tftp должна иметь содержимое как показано на скриншоте.

Теперь, создайте символьную ссылку для загрузочного файла UEFI предоставляемого пакетом Debian netinstall в корень TFTP. И выполните длинный вывод списка файлов директории TFTP чтобы проверить что символьная ссылка правильно указывает на файл сетевой загрузки UEFI.

Сервер PXE читает и запускает конфигурационные файлы расположенные в директории pxelinux.cfg из корня TFTPв таком порядке: GUID файлы, MAC файлы и файл по умолчанию. Директория pxelinux.cfg уже была нами создана и размещена с конфигурационным по умолчанию файлом PXE потому как ранее мы извлекли требуемые файлы из архива Debian netinstall в директорию/srv/tftp. Нет необходимости дополнительно изменять конфигурационный файл PXE по умолчанию из каталога pxelinux.cfg. Однако, который контролирует актуальное загрузочное меню для Debian называется txt.cfg и расположен в директории /srv/tftp/debian-installer/amd64/boot-screens/ . Дефолтный конфигурационный файл pxe из директории pxelinux.cfg это по сути символьная ссылка на файл txt.cfg. Чтобы изменить или добавить другие параметры, которые нужно передать ядру в процессе сетевой загрузки или добавить другие записи или загрузить другие дистрибутивы Linux через PXE-сервер, вы должны открыть файл конфигурации txt.cfg PXE по умолчанию с помощью следующей команды и сделать соответствующие изменения.

источник

Добавить комментарий

Adblock
detector