Можно ли установить Ubuntu через сеть?

11

Я хотел бы установить Ubuntu почти для 120 пользователей. Но использовать USB и накопители очень сложно.

Какие-либо предложения?

Вишну Мурали
источник

Ответы:

11

Вы можете установить одну систему 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, если вам действительно нужно установить без «физического носителя».

Элия ​​Каган
источник
Нужно ли мне менять какие-либо настройки в моем роутере?
Enkouyami
4

Вы можете сделать это, используя метод net install, запускающий установку Ubuntu по сети. описано в Netboot Install

Сетевой установщик

Сетевой установщик позволяет вам установить Ubuntu по сети. Это полезно, например, если у вас есть старая машина с не загружаемым CD-ROM или компьютер, на котором не запускается программа установки на основе графического интерфейса, либо потому, что они не соответствуют минимальным требованиям для live CD / DVD или потому, что они требуют дополнительной настройки перед использованием графического рабочего стола, или если вы хотите установить Ubuntu сразу на большое количество компьютеров. Ubuntu

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

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

Митч
источник
4

Есть так много способов сделать это.

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.

Ознакомьтесь с полной документацией по установке сервера и сети.

Ачу
источник
1

То, что сработало для меня при установке 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.

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

akavel
источник
0

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

синий луч
источник