Я хотел бы установить Ubuntu почти для 120 пользователей. Но использовать USB и накопители очень сложно.
Какие-либо предложения?
Я хотел бы установить Ubuntu почти для 120 пользователей. Но использовать USB и накопители очень сложно.
Какие-либо предложения?
Ответы:
Вы можете установить одну систему 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, если вам действительно нужно установить без «физического носителя».
Вы можете сделать это, используя метод net install, запускающий установку Ubuntu по сети. описано в Netboot Install
Сетевой установщик
Сетевой установщик позволяет вам установить Ubuntu по сети. Это полезно, например, если у вас есть старая машина с не загружаемым CD-ROM или компьютер, на котором не запускается программа установки на основе графического интерфейса, либо потому, что они не соответствуют минимальным требованиям для live CD / DVD или потому, что они требуют дополнительной настройки перед использованием графического рабочего стола, или если вы хотите установить Ubuntu сразу на большое количество компьютеров. Ubuntu
Есть так много способов сделать это.
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.
Ознакомьтесь с полной документацией по установке сервера и сети.
То, что сработало для меня при установке Ubuntu 18.04 LTS, было основано на руководстве Изабель Кастелло , которое, кажется, основано на руководстве LocalNet из вики Ubuntu , но было гораздо более читабельным и понятным для меня.
Вы должны быть в сети с 3 узлами:
Обязательно включите сетевую загрузку в целевом BIOS .
Вход в BIOS часто осуществляется нажатием или удержанием Delили F2при загрузке машины. В качестве альтернативы, нажатие F12часто позволяет изменить последовательность загрузки в зависимости от поставщика, что может помочь.
Узнайте следующие значения:
(Вы можете захотеть просмотреть / изменить настройки DHCP на маршрутизаторе, чтобы выяснить некоторые из них. Кроме того, если вам удастся войти в этап сетевой загрузки при загрузке целевой машины, он, вероятно, покажет как минимум MAC-адрес , так что вы могу записать это.)
Установите и настройте 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, обновлениями пакетов, управлением питанием, управлением конфигурацией и многим другим.