Можно ли установить 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

Скачайте сетевой установщик для 12.04 LTS

Загрузите сетевой установщик для 13.04

То, что сработало для меня при установке Ubuntu 18.04 LTS, было основано на руководстве Изабель Кастелло, которое, похоже, основано на руководстве LocalNet из вики Ubuntu, но было гораздо более читабельным и понятным для меня.

Предпосылки

Вы должны быть в сети с 3 узлами:

  1. Базовый DHCP-маршрутизатор.
  2. Целевой сервер, на который вы хотите установить Ubuntu. Он должен быть подключен к маршрутизатору с помощью кабеля (не WiFi). И, очевидно, есть поддержка загрузки по сети в BIOS.
  3. Исходный сервер, который будет обслуживать исходные установочные файлы и сервисы. В этом руководстве предполагается, что это также Ubuntu; Конечно, возможны и другие ОС, но команды, очевидно, будут другими.

меры

  1. Обязательно включите сетевую загрузку в целевом BIOS.

    Вход в BIOS часто осуществляется нажатием или удерживанием Del или F2 при загрузке машины. В качестве альтернативы, нажатие клавиши F12 часто позволяет изменить последовательность загрузки в зависимости от поставщика, что может помочь.

  2. Узнайте следующие значения:

    (Возможно, вы захотите просмотреть / изменить настройки DHCP на маршрутизаторе, чтобы узнать некоторые из них. Кроме того, если вам удастся войти в этап сетевой загрузки при загрузке целевой машины, он, вероятно, покажет как минимум MAC-адрес, так что вы могу записать это.)

    • MAC-адрес цели - свойство ее сетевой карты,
    • IP-адрес цели - назначенный ей маршрутизатором,
    • IP шлюза - другими словами, IP роутера,
    • маска подсети / сети - обычно указывается в сетевых настройках источника и / или маршрутизатора.
  3. Установите и настройте 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 выше показан другой путь, скорректируйте значения в командах, перечисленных в этом и следующем шаге соответственно.

  4. Установите, настройте и запустите 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
    
  5. Перезагрузите целевой компьютер, убедившись, что включена функция сетевой загрузки (при необходимости нажмите F12, или ничего, или все, что требуется в BIOS).

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

  6. Дополнительно: для безопасности после завершения установки вы должны обязательно отключить функцию сетевой загрузки в целевом BIOS.

Надеюсь это поможет!

Cobbler - это установочный сервер Linux, который позволяет быстро настроить среды сетевой установки. Он склеивает и автоматизирует многие связанные задачи Linux, поэтому вам не нужно переключаться между различными командами и приложениями при развертывании новых систем и, в некоторых случаях, при изменении существующих. Cobbler может помочь с подготовкой, управлением DNS и DHCP, обновлениями пакетов, управлением питанием, управлением конфигурацией и многим другим.

Другие вопросы по тегам