Можно ли установить Ubuntu через сеть?
Я хотел бы установить Ubuntu почти для 120 пользователей. Но использовать USB и накопители очень сложно.
Какие-либо предложения?
5 ответов
Вы можете установить одну систему Ubuntu (обычно это система Ubuntu Server, но это не обязательно), а затем использовать ее в качестве сервера для загрузки PXE и установки других. BIOS для клиентов (где вы хотите установить Ubuntu) должны поддерживать PXE (т.е. загрузку по сети), чтобы это работало. Но большинство BIOS'ов делают это в наши дни.
Вы должны быть в состоянии сделать это с системой не-Ubuntu в качестве хоста, если у вас уже есть эта настройка и вы знаете, как настроить необходимые серверы в вашей системе не-Ubuntu.
В справочной вики-статье PXEInstallServer Ubuntu объясняется, как настроить систему Ubuntu в качестве сервера PXE и как установить Ubuntu на другие системы с нее. Было бы сложно обобщить основные моменты - детали очень важны. Итак, вот и все (с небольшими изменениями форматирования и пунктуации):
Вступление
Это поможет вам запустить сервер Ubuntu в качестве сервера установки PXE. Вам нужно будет запустить сервер DHCP в вашей сети, не обязательно этот сервер, но он вам нужен.
Установка необходимых пакетов
Вам нужно будет установить следующие пакеты:
inetutils-inetd
(ранееnetkit-inetd
),tftpd-hpa
(см. Установка программного обеспечения).
- Для Ubuntu 10.04 есть ошибка с
inetutils-inetd
, Он только слушает на IPv6, а не на IPv4. В качестве быстрого обходного пути вы можете использоватьopenbsd-inetd
вместо.Если это также будет ваш DHCP-сервер, установите dhcp-сервер, содержащийся в следующем пакете:
dhcp3-server
(см. Установка программного обеспечения).Настройте tftpd-hpa
Вам нужно будет указать tftpd-hpa, чтобы он запустил свой демон (чего он не делает по умолчанию). Для этого отредактируйте
/etc/default/tftpd-hpa
файл и убедитесь, что он выглядит примерно так:#Defaults for tftpd-hpa RUN_DAEMON="yes" OPTIONS="-l -s /var/lib/tftpboot"
Затем запустите сценарий запуска, чтобы фактически запустить демон:
/etc/init.d/tftpd-hpa restart
Настроить dhcpd
Если ваш pxe-сервер также является вашим dhcp-сервером, вам понадобится что-то вроде этого в
/etc/dhcp3/dhcpd.conf
:subnet 192.168.0.0 netmask 255.255.255.0 { range 192.168.0.100 192.168.0.200; filename "pxelinux.0"; }
Если у вас есть существующий dhcp-сервер, вы должны указать его на свой pxe-сервер, выполнив что-то вроде следующего:
subnet 192.168.0.0 netmask 255.255.255.0 { <other config here> filename "pxelinux.0"; next-server <pxe host>; }
Обязательно перезапустите сервер dhcp, чтобы изменения вступили в силу:
sudo /etc/init.d/dhcp3-server restart
Настройте tftpd-hpa
tftpd-hpa
вызывается изinetd
, Опции переданыtftpd-hpa
когда это начинается, таким образом, находятся в/etc/inetd.conf
Значения по умолчанию нам подходят, ваши
/etc/inetd.conf
должна иметь такую запись:tftp dgram udp wait root /usr/sbin/in.tftpd /usr/sbin/in.tftpd -s /var/lib/tftpboot
(Хотя вам может понадобиться отредактировать этот файл и заменить
udp
сudp4
, какtftpd-hpa
похоже, ожидает адрес IPv6 сейчас.)Теперь мы скопируем необходимые файлы с компакт-диска Ubuntu:
sudo cp -r /media/cdrom/install/netboot/* /var/lib/tftpboot/
Если ваш dhcp-сервер выдает правильную информацию о сети и ваши клиенты pxe будут иметь доступ к сети, то в этот момент вы сможете выполнить установку Ubuntu с помощью интернет-хранилищ.
Однако я хочу пойти немного дальше и установить все с сервера установки, а также настроить некоторые пакеты для установки.
Установить апач
В настоящее время установки nfs не очень хорошо поддерживаются (пожалуйста, исправьте меня, если я ошибаюсь), поэтому мы установим через http. Для этого нам также понадобится веб-сервер на нашем сервере установки: установите следующий пакет:
apache
(см. Установка программного обеспечения).Копирование файлов Ubuntu
Создайте каталог ubuntu в корневом каталоге документа только что установленного apache и скопируйте все содержимое альтернативного компакт-диска Ubuntu в этот каталог:
mkdir /var/www/ubuntu cp -r /media/cdrom/* /var/www/ubuntu/
Настройка установки
Есть пакет под названием
system-config-kickstart
который является интерфейсом GUI для создания файлов кикстарта. Файл кикстарта сообщает установщику, откуда взять его пакеты, что устанавливать и ряд других полезных настроек. См. KickstartCompatibility для получения дополнительной информации.Этот пакет не обязательно должен быть установлен на вашем сервере установки, он может быть где-то на удобном рабочем столе Ubuntu.
Создать кастом
ks.cfg
сsystem-config-kickstart
, обязательно укажите HTTP в разделе "Способ установки". Укажите IP-адрес установленного сервера и создайте каталог HTTP./ubuntu/
, Сохраните файл и скопируйте его на сервер установки в/var/www/html/
,Очень минималистичный файл `ks.cfg, который использует только установочные файлы на сервере установки и задает все остальные вопросы, может выглядеть так:
install url --url http://192.168.0.1/ubuntu/
Используйте свой ks.cfg
Чтобы ваша сетевая установка Ubuntu использовала ваш файл кикстарта, вы должны указать, где его найти. редактировать
/var/lib/tftpboot/pxelinux.cfg/default
и добавитьks=http://<installserver>/ks.cfg
к добавленной строке. Затем он должен выглядеть примерно так (обратите внимание, что строка добавления - это одна строка):label linux kernel ubuntu-installer/i386/linux append ks=http://192.168.0.1/ks.cfg vga=normal initrd=ubuntu-installer/i386/initrd.gz ramdisk_size=16432
root = / dev / rd / 0 rw -
В Jaunty [и, вероятно, более поздних выпусках, включая любые выпуски, которые вы, вероятно, используете] 1, файл по умолчанию был разбит на включения. Строка добавления может быть найдена в
/ubuntu-installer/i386/boot-screens/text.cfg
:label install menu label ^Install (from my http server) menu default kernel ubuntu-installer/i386/linux append ks=http://192.168.0.1/ks.cfg vga=normal initrd=ubuntu-installer/i386/initrd.gz -- quiet
Загрузите и установите
Теперь вы сможете загружать другой компьютер в локальной сети по сети и автоматически устанавливать Ubuntu.:) Вы можете изменить точки установки tftp и http, чтобы в вашей сети было доступно несколько версий Ubuntu для установки.
Использование CD (или.iso) напрямую
Вы также можете достичь вышеизложенного, фактически не копируя файлы в любом месте. Вы можете смонтировать компакт-диск (или.iso), а затем выполнить дополнительное монтирование с помощью
--bind
вариант. Преимущество заключается в том, что вы можете обновить компакт-диск (или.iso) без необходимости обновления файлов установочного сервера.Например, после установки компакт-диска (или.iso) в
/media/cdrom/
Вы можете смонтировать файлы Ubuntu в веб-каталог:mount --bind /media/cdrom/ /var/www/ubuntu/
Точно так же вы можете сделать то же самое с
tftproot
:mount --bind /media/cdrom/install/netboot/ /var/lib/tftpboot/
Если бы вы должны были создать
pxelinux.cfg
каталог с соответствующим файлом по умолчанию, вы можете смонтировать его поверх смонтированного компакт-диска, чтобы сервер tftp выдавал ваш файл pxelinux.cfg / default. Например,pxelinux.cfg
каталог в~/pxelinux.cfg
может быть установлен следующим образом:mount --bind ~/pxelinux.cfg /var/lib/tftpboot/pxelinux.cfg
(Обратите внимание, что в приведенном выше примере фактическая точка монтирования каталога будет иметь вид
/var/lib/tftpboot/ubuntu-installer/i386/pxelinux.cfg
посколькуpxelinux.cfg
символическая ссылка на CD (или.iso)).
- PXEInstallServer, с небольшими изменениями форматирования, пунктуации и заглавных букв, в основном для соответствия формату Ask Ubuntu.
Эта статья взята из вики-документации по Ubuntu. Он был написан "Участниками вики-документации по Ubuntu" и лицензирован в соответствии с CC-BY-SA 3.0, что позволяет включать его здесь с надлежащим указанием авторства.
1 [Текст в скобках, выделенный курсивом] не из оригинала; это мой комментарий.
Обратите внимание на разницу между этим методом и предложенным Митчем. Этот метод включает загрузку с CD/DVD или флэш-накопителя USB, который затем устанавливает систему по сети. По умолчанию эта сеть является Интернетом; чтобы этот метод был целесообразным для установки на сотни компьютеров в сети, вы, вероятно, захотите создать и разместить репозиторий Ubuntu в своей сети и указать на это свои установки.
Усилия и инфраструктура, необходимые для этого, сопоставимы с тем, что необходимо для PXE-загрузки компьютеров, как описано выше. Поэтому, хотя этот способ может удовлетворить ваши потребности, я бы рекомендовал вам рассмотреть возможность загрузки PXE, если вам действительно нужно установить без "физического носителя".
Есть так много способов сделать это.
1 - Netboot
Вы должны изменить имена хостов и IP-адреса в этом HOWTO для своих собственных настроек. Описанные здесь принципы применимы к другим серверам DHCP и TFTP, отличным от описанных ниже; использование альтернативного серверного программного обеспечения оставлено читателю в качестве упражнения.
Для получения инструкций о том, как использовать компьютер с Windows в качестве TFTP и DHCP-сервера, перейдите в Installation/WindowsServerNetboot.
Этот HOWTO поможет вам запустить программу установки; если вы хотите выполнить автоматическую или автоматическую установку Ubuntu, см. Установка / LocalNet.
2 - LocalNet
Этот метод установки использует DHCP/BOOTP, TFTP и FTP/HTTP для получения источников установки. Сам установщик состоит из ядра Linux и initrd. Эти файлы передаются через процесс загрузки DHCP/TFTP.
Остальные источники установки могут быть переданы через FTP или HTTP. Если целевой компьютер имеет доступ к Интернету, эти источники могут быть получены непосредственно из зеркала Ubuntu. В качестве альтернативы, вы можете загрузить один из установочных ISO-файлов, смонтировать их с обратной связью и обслужить их с локальным HTTP/FTP-сервером.
3 - NetworkConsole
Загрузка с компакт-диска (может быть TFTP или аналогичного) и установка системы через SSH.
4 - Быстрая установка через SSH
Краткое руководство по установке Hardy Ubuntu 12.04 на выделенном сервере через ssh.
Ознакомьтесь с полной документацией по установке сервера и сети.
Вы можете сделать это, используя метод net install, запускающий установку Ubuntu по сети. описано в Netboot Install
Сетевой установщик
Сетевой установщик позволяет вам установить Ubuntu по сети. Это полезно, например, если у вас есть старая машина с не загружаемым компакт-диском или компьютер, на котором не запускается программа установки на основе графического интерфейса, либо потому, что они не соответствуют минимальным требованиям для live CD/DVD, или потому что они требуют дополнительной настройки перед использованием графического рабочего стола, или если вы хотите установить Ubuntu сразу на большое количество компьютеров. Ubuntu
То, что сработало для меня при установке Ubuntu 18.04 LTS, было основано на руководстве Изабель Кастелло, которое, похоже, основано на руководстве LocalNet из вики Ubuntu, но было гораздо более читабельным и понятным для меня.
Предпосылки
Вы должны быть в сети с 3 узлами:
- Базовый DHCP-маршрутизатор.
- Целевой сервер, на который вы хотите установить Ubuntu. Он должен быть подключен к маршрутизатору с помощью кабеля (не WiFi). И, очевидно, есть поддержка загрузки по сети в BIOS.
- Исходный сервер, который будет обслуживать исходные установочные файлы и сервисы. В этом руководстве предполагается, что это также Ubuntu; Конечно, возможны и другие ОС, но команды, очевидно, будут другими.
меры
Обязательно включите сетевую загрузку в целевом BIOS.
Вход в BIOS часто осуществляется нажатием или удерживанием Del или F2 при загрузке машины. В качестве альтернативы, нажатие клавиши F12 часто позволяет изменить последовательность загрузки в зависимости от поставщика, что может помочь.
Узнайте следующие значения:
(Возможно, вы захотите просмотреть / изменить настройки DHCP на маршрутизаторе, чтобы узнать некоторые из них. Кроме того, если вам удастся войти в этап сетевой загрузки при загрузке целевой машины, он, вероятно, покажет как минимум MAC-адрес, так что вы могу записать это.)
- MAC-адрес цели - свойство ее сетевой карты,
- IP-адрес цели - назначенный ей маршрутизатором,
- IP шлюза - другими словами, IP роутера,
- маска подсети / сети - обычно указывается в сетевых настройках источника и / или маршрутизатора.
Установите и настройте tftp на исходном хосте:
$ sudo apt-get install tftpd-hpa $ grep TFTP_DIRECTORY /etc/default/tftpd-hpa TFTP_DIRECTORY="/var/lib/tftpboot" $ wget http://archive.ubuntu.com/ubuntu/dists/bionic-updates/main/installer-amd64/current/images/netboot/netboot.tar.gz $ sudo tar xzvf netboot.tar.gz -C /var/lib/tftpboot/ $ rm netboot.tar.gz
Если
grep
выше показан другой путь, скорректируйте значения в командах, перечисленных в этом и следующем шаге соответственно.Установите, настройте и запустите bootp также на исходном хосте:
Примечание: заменить
$TARGET_MAC
и т.д. значения с соответствующими значениями, собранными в шаге 2. выше.$TARGET_MAC
адрес должен быть с двоеточиями, например:00:00:39:2B:54:B5
, а также$SUBNET_MASK
пунктир, например255.255.255.0
,$ sudo apt-get install bootp $ vim ./bootptab client: ha="$TARGET_MAC": ip=$TARGET_IP: gw=$GATEWAY_IP: sm=$SUBNET_MASK: td=/: hd=/: bf=pxelinux.0 $ sudo bootpd -d 4 -c /var/lib/tftpboot -s $PWD/bootptab
Перезагрузите целевой компьютер, убедившись, что включена функция сетевой загрузки (при необходимости нажмите F12, или ничего, или все, что требуется в BIOS).
Текстовый интерактивный установщик Ubuntu 18.04 должен запуститься на целевом компьютере. Продолжайте, как будто устанавливаете Ubuntu в обычном режиме.
Дополнительно: для безопасности после завершения установки вы должны обязательно отключить функцию сетевой загрузки в целевом BIOS.
Надеюсь это поможет!
Cobbler - это установочный сервер Linux, который позволяет быстро настроить среды сетевой установки. Он склеивает и автоматизирует многие связанные задачи Linux, поэтому вам не нужно переключаться между различными командами и приложениями при развертывании новых систем и, в некоторых случаях, при изменении существующих. Cobbler может помочь с подготовкой, управлением DNS и DHCP, обновлениями пакетов, управлением питанием, управлением конфигурацией и многим другим.