Установка Linux по сети
Ubuntu → Установка Ubuntu по сети (DHCP, PXE, boot-menu) / На примере Ubuntu 14.04
Уже довольно давно, мной была написана статья о сетевой установке Ubuntu, по локальной сети, без использования различных носителей, только загрузка по PXE и все. В этот раз я решил обновить статью и сделать ее ближе к современным реалиям, а главное, расширить функционал. Все будет выполняться на примере Ubuntu 14.04!
Под разные требования, должны быть и разные решения, главная загвоздка в том, что зачастую, нам требуется не одна операционная система, а несколько. Вот я и решил написать на эту тему статью. С предыдущей статьей, можно ознакомиться по ссылке, Установка Ubuntu по сети.
Главная идея заключаться в том что у нас появится возможность, выбирать какую операционную систему мы будем устанавливать, а также ее разрядность, фактически, у нас появится меню загрузки, после загрузки системы по локальной сети.
Все это мы реализуем, на примере, только что вышедшей Ubuntu 14.04
Для тех кто не понял, все затевается ради того чтобы появилась возможность выбора, какую операционную систему устанавливать, а также ее разрядность т.е. должно появиться меню где будут представлены все ОС доступные для установи по сети, которое будет иметь следующий вид:
Для работы нам понадобится:
Обязательно!
1) Настроенный шлюз, для примера, воспользуйтесь статьей: Настройка шлюза локальной сети, на базе Ubuntu
2) DHCP сервер, для примера, можно воспользоваться статьёй: Настройка DHCP сервера под управлением Ubuntu
3) Настроенный TFTP сервер, загружающий PXE загрузчик, воспользоваться статьёй: Настройка PXE Boot меню с мемтестом и паролями
Опционально!
3) Дополнительным, но не обязательным моментом, может быть настроенный DNS сервер, пример есть в статье Настройка DNS сервера для локальной сети
Предполагается что у вас настроен шлюз, DHCP, TFTP севрер, а также добавлено меню загрузки PXE т.к. на этом моменте я останавливаться не буду.
Переходим к настройке инсталлируемой системы.
Для начала мы создадим пункт установки для Ubuntu 14.04×86, для чего нам понадобится установочный диск соответствующей разрядности. Нам его необходим скачать и примонтировать, для того чтобы извлечь файлы загрузчика инасталятора системы.
Т.к. файл сетевого загрузчика у нас лежат в директории директории /var/lib/tftpboot/ откуда они и подтягиваются TFTP сервером, то в ней нам нужно создать директорию Ubuntu, чтобы в нее сложить файлы с дисков установки, сделаем это:
В директории Uubntu мы создаем дополнительные директории для файлов загрузчика инсталлятора ОС для x86 разрядных систем и ADM64-соответсвенно.
Теперь нам требуется скачать установочный диск посмотреть можно тут mirror.yandex.ru/ubuntu-releases/14.04/
Мы качнем версию х86 для сервера т.к. она меньше весит
После завершения закачки ISO образа, нам нужно его смонтировать, чтобы извлечь нужные нам файлы, а для этого, в директории /media мы создадим директорию iso, давайте сделаем это:
Монтируем образ диска в эту директорию:
Система выдаст что диск смонтирован в режиме чтения:
mount: warning: /media/iso/ seems to be mounted read-only. Идем забирать загрузчик и ядро инсталятора:
Нас интересуют 2 файла linux и initrd.gz, которые нам нужно забрать и перенести в директорию /var/lib/tftpboot/ubuntu/x86
давайте скопируем их:
Все, установочный образ нам больше не нужен, для начала отмонтируем его из директории iso:
После этого ISO-образ можно удалить.
Похожие действия проводим для образа установочного диска с разрядностью x64, я не буду расписывать что и куда, просто приведу листинг команд, действия все те же, только пути немного отличаются, там прописано amd64
С файлами установки закончили, теперь настроим PXE меню загрузки.
Настройка меню загрузки PXE
Для начала добавим пункт меню с названием Linux Install, для этого нам нужно отредактировать файл:
В конец файла добавим запись:
Как видно из записи, у нас будет другая страница с выбором дисирибутивов для установки, создадим ее:
Добавим в нее названия пунктов для загрузки с возможностью выбора операционной системы для установки, пока это будет Ubuntu 14.04 x86 и amd64 архитектуры:
На этом настройка закончена, можно подключать клиентскую машину и пытаться загрузиться по PXE, в результате после загрузки системы по сети, у нас появится меню такого вида:
Выбираем то что мы хотим установить, установка начнется автоматически, ну а далее только следовать указаниям инсталятора системы.
Другие операционные системы добавляются аналогичным способом.
На этом, я пожалуй и закончу на сегодня.
Ну и как всегда, если возникли вопросы прошу в комментарии, нашли ошибку пишите в личку ну или на почту.
21 комментарий
Опционально!
3) Дополнительным, но не обязательным моментом, может быть настроенный DNS сервер, пример есть в статье Настройка DNS сервера для локальной сети
вот это пункт я пропустил, его тоже настраивать?
dnsmasq и на тесте с виндой пашет все норм
а при установки ubuntu дохожу до проверки зеркала архива ubntu затем выдает ошибку проблема с зеркалом архива убунту
Установка Ubuntu по сети через PXE
PXE это среда загрузки компьютера с помощью сетевой карты без использования локальных носителей. Возможности применения достаточно широки: от просто начальной загрузки системы, до запуска полноценных рабочих систем без использования локального диска.
Некоторое время назад автору этих строк в руки попал старенький IBM ThinkCentre S51 8171 с неисправным CD-приводом. С загрузкой с флэшки, созданной с помощью UNetBootin, так же возникли проблемы и осталась последняя надежда: загрузка инсталлятора по PXE. Далее будет кратко описан полученный опыт.
IBM ThinkCentre S51 8171 имеет очень неплохую начинку для машины 2006-го года выпуска: Pentium 4 540, 2x512MB DDR, 30GB ATA HDD. Но в 2018-м она смотрится блекло, хотя и сейчас ей можно найти множество применений. Основная проблема: процессор не поддерживает EMT64 и потому операционная система должна быть обязательно 32-битной. К счастью Ubuntu 16.04 существует в редакции i386 и было решено ставить её.
В качестве сервера загрузки решено было использовать домашний сервер под управлением Ubuntu 16.04. Для раздачи адресов в локальной сети используется isc-dhcp-server. В остальном конфигурация сервера достаточно типична. Для создания PXE-окружения нам понадобится TFTP-сервер. Мы будем использовать пакет “tftpd-hpa”. Установим его, а так же (на всякий случай) tftp-клиент:
По умолчанию tftpd-hpa использует директорию “/var/lib/tftpboot”. Если по какой-то причине необходимо это изменить то нужно соответствующим образом отредактировать файл “/etc/default/tftpd-hpa” и перезапустить сервис “tftpd-hpa”. Но нас вполне устроит конфигурация по умолчанию.
Список доступным инсталляторов Ubuntu 16.04 для загрузки через PXE и сетевой установки можно найти на этой странице. Нас интересует архив под названием “netboot.tar.gz” для архитектуры i386. Скачиваем и распаковываем его в директорию tftp-сервера:
На этом подготовка TFTP-сервера заканчивается и остаётся настроить DHCP-сервер. Вся конфигурация сводится к добавлению строки:
Эту строку можно добавить в описание подсети, группы хостов или даже конкретного хоста. Главное чтобы машина, ради которой это всё делается, получила нужную конфигурацию. После этого можно включить машину и выбрав загрузку по PXE приступить к установке системы. После загрузки инсталлятора установка будет происходить обычным образом, так, будто бы была произведена загрузка с “MinimalCD”.
На этом можно было бы закончить, но есть ещё интересный момент: автоматическая установка. Инсталлятор Ubuntu частично поддерживает формат конфигурации kickstart от RedHat Linux. Подробнее можно прочитать тут. Если есть необходимость в использовании сценария автоматической установки то сначала необходимо создать файл сценария и разместить его на веб-сервере в локальной сети, затем надо немного модифицировать файл “/var/lib/tftpboot/ubuntu/ubuntu-installer/i386/boot-screens/txt.cfg”:
Здесь параметр “ks=” указывает URL, по которому расположен сценарий настройки kickstart. Более детальное изучение этой темы оставим читателю.
Как просто и быстро установить Linux по сети на примере CentOS 5
В серверных всё чаще попадаются сервера без CD/DVD-приводов. Время от времени на них нужно ставить операционную систему, и в этом может сильно помочь установка по сети. Вы просто включаете сервер и начинаете установку. Сетевая карта должна поддерживать технологию PXE. PXE – Pre-Boot Execution Environment – позволяет осуществлять загрузку по сети.
Но PXE недостаточно для полного счастья, технология, которая позволит полностью автоматизировать установку – kickstart (разработчиком которой является компания Red Hat). Суть её проста – мы заранее составляем файл, содержащий значения всех опций, которые могут понадобиться в ходе установки. Более того, мы можем выполнять свои скрипты до установки и после, тем самым задавая настройки будущей ОС.
Установка с помощью kickstart типового комплекта Linux занимает 5-7 минут.
Для Install-сервера нужно 3 службы и 1 пакет.
- DHCP предоставляет клиентам сетевые реквизиты
- TFTP – простой способ предоставить доступ к файлам по сети
- Syslinux содержит загрузчик pxelinux.0 и некоторые другие файлы
- NFS предоставляет доступ к файловой системе по сети
Процесс установки можно разбить на этапы:
- pxe – прошивка pxe начинает свою работу, когда мы в BIOS выставляем установку по сети, или когда на HDD не найдена MBR.
- DHCP фаза 1 – клиент получает сетевые реквизиты и адрес tftp-сервера, а также название файла-загрузчика (pxelinux.0). По умолчанию TFTP-сервер – это DHCP-сервер.
- TFTP – загрузчик pxelinux.0 обращается к TFTP-серверу и запрашивает у него initrd.img (Initial RAM disk, временная файловая система), ядро Linux.
- Kernel – передача управления ядру Linux.
- DHCP фаза 2 – ядро Linux делает запрос к DHCP-серверу, чтобы получить сетевые реквизиты и в дальнейшем адрес NFS-сервера.
- NFS – этап, когда монтируется NFS-раздел
- init – происходит запуск /sbin/init, и управление передаётся ему. Init – это главный процесс в системе, другие процессы являются дочерними процессами init.
В свободном изложении:
DHCP-сервер ожидает bootp-запросы в своей сети; после того, как он получает запрос, он смотрит MAC-адрес источника, и если о таком MAC-адресе у него имеется соответствующая запись, он начинает с ним работать. DHCP-сервер выдаёт клиенту сетевые реквизиты (IP-адрес, gateway, DNS-сервера. ) и по протоколу TFTP, с помощью TFTP-сервера, отправляет загрузочный образ pxelinux.0. Этого образа хватает, чтобы вывести меню выбора ОС.
Выбрав ОС, мы начинаем загрузку ядра и начинаем инсталляцию, в процессе выбрав источник установки — NFS-сервер. На NFS-сервер нужно выложить подготовленный контент будущей операционной системы и убедиться, что соответствующие каталоги экспортированы.
Устанавливаем DHCPD и добавляем его в автозагрузку:
# yum -y install dhcp
# chkconfig dhcpd on
Файл /etc/dhcpd.conf делаем такой:
ddns-update-style interim;
ignore client-updates;
subnet 192.168.146.0 netmask 255.255.255.0 <
option routers 192.168.146.1;
option subnet-mask 255.255.255.0;
option domain-name «domain.local»;
option domain-name-servers 192.168.146.1;
default-lease-time 21600;
max-lease-time 43200;
Allow bootp;
Allow booting;
host unixbox <
hardware ethernet 00:0c:29:77:9c:9c;
fixed-address 192.168.146.128;
filename «pxelinux.0»;
option host-name «unixbox»;
next-server 192.168.146.1;
>
>
Запускаем DHCPD или перезагружаем, если он был запущен:
# service dhcpd restart
Отключаем файрвол, включённый по умолчанию (иначе на целевом компьютере при загрузке будет ошибка "ICMP Destination unreachable (Host administratively prohibited)"):
# service iptables stop
# chkconfig iptables off
Устанавливаем пакет tftp-server из репозитория:
# yum -y install tftp-server
Теперь необходимо включить tftp в конфигурацию xinetd, для этого в файле /etc/xinetd.d/tftp меняем “disable = yes” на “disable = no” и включаем xinetd:
# service xinetd start
Проверяем, что порт tftp-сервера прослушивается (tftp работает на порту 69):
# netstat -nlp | grep :69
udp 0 0 0.0.0.0:69 0.0.0.0:* 3105/xinetd
Syslinux
Пакет содержит набор файлов для загрузки по сети. Нам нужны pxelinux.0, который как загрузочный образ мы будем отдавать через DHCP, и menu.c32, с помощью которого будет рисоваться более привлекательное меню пользователя. (Для CentOS 4 обновлённый syslinux с зависимостями надо скачать с rpmfind.net.)
# cp $(rpm -ql syslinux | grep menu.c32) /tftpboot/
# cp $(rpm -ql syslinux | grep pxelinux.0) /tftpboot/
По умолчанию в системе, скорее всего, есть NFS, если нет, то поставьте с помощью yum.
# chkconfig nfs on
В файл /etc/exports добавляем запись:
echo “/var/install-server/ *(ro,no_root_squash)” >> /etc/exports
Запускаем nfs-сервер:
# service nfs start
Проверяем, что каталог экспортирован:
# exportfs
/var/install-server
Создаём структуру tftp-сервера, добавляем контент на сервер:
# mkdir -p /tftpboot/
Монтируем наш DVD с CentOS 5 и закачиваем содержимое в /var/install-server/centos5_x86:
# mount /dev/cdrom /mnt/
# cp -r /mnt/* /var/install-server/centos5_x86/
# cp /var/install-server/centos5_x86/images/p xeboot/* /tftpboot/centos5_x86/
В каталоге /tftpboot/pxelinux.cfg создаём файл default и заполняем его как показано ниже:
default menu.c32
menu title Linux Install Server. Please choose OS to install.
prompt 0
timeout 100
label CentOS 5 x86 Custom install
kernel /centos5_x86/vmlinuz
append initrd=/centos52_x86/initrd.img
label Quit
localboot 0
Устанавливаем ОС по сети
После всех манипуляций, описанных выше, можем приступить к установке ОС. Стартуем нашу машину с MAC-адресом 00:0c:29:77:9c:9c, включив в BIOS загрузку по сети. Когда начнётся установка, всё делаем стандартным образом, кроме того, что в списке, откуда ставить ОС, нужно выбрать NFS, и далее, когда попросят, указать:
NFS server name : 192.168.146.1
CentOS directory: /var/install-server/centos5_x86
Дальше устанавливаем ОС и пользуемся на здоровье.
Автоматизация установки с помощью Kickstart
Для автоматизации нужно создать файл, содержащий всю нужную информацию, которая может потребоваться в процессе установки. Такой файл создаётся программой system-config-kickstart (GUI tool) в любой CentOS с X Window:
# yum -y install system-config-kickstart
# system-config-kickstart
После того, как мы создали файл с помощью system-config-kickstart, его нужно перенести на Install-сервер и сделать доступным по одному из протоколов HTTP, NFS или FTP. Поскольку в работе Install-сервера активно используется NFS, то и будем использовать её.
В моём случае kickstart-файл лежит в /var/install-server/centos5_x86/centos5_ x86_ks.cfg.
В файл /tftpboot/pxelinux.cfg/default нужно всего лишь добавить директиву ks с указанием местоположения kickstart-файла. Пример с kickstart-файлом:
default menu.c32
menu title Linux Install Server. Please choose OS to install.
prompt 0
timeout 100
label CentOS 5 x86 Custom install
kernel /centos5_x86/vmlinuz
append initrd=/centos5_x86/initrd.img
label CentOS 5 x86 Kickstart Install
kernel /centos52_x86/vmlinuz
append initrd=/centos5_x86/initrd.img ks=nfs:192.168.146.1:/var/install-server/c entos5_x86/centos5_x86_ks.cfg
label Quit
localboot 0
Теперь, выбрав «CentOS 5 x86 Kickstart Install» в меню выбора ОС, нам останется только подождать сервера с установленной на нём ОС.
Ниже пример моего Kickstart-файла. Мне захотелось, чтобы в установленной ОС в настройках sshd была опция «PermitRootLogin yes». Kickstart-файл позволяет не только задавать параметры установки ОС, но и выполнять скрипты, до инсталляции (%pre) и после (%post). Таким образом можно написать массу скриптов по тюнингу и за 5-10 минут инсталляции получить полностью готовую ОС.
#platform=x86, AMD64, or Intel EM64T
# System authorization information
auth --useshadow --enablemd5
# System bootloader configuration
bootloader --location=mbr
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart --all --initlabel
# Use text mode install
text
# Firewall configuration
firewall --disabled
# Run the Setup Agent on first boot
firstboot --disable
# System keyboard
keyboard us
# System language
lang en_US
# Installation logging level
logging --level=info
# Use NFS installation media
nfs --server=192.168.146.1 --dir=/var/install-server/centos5_x86
# Network information
network --bootproto=dhcp --device=eth0 --onboot=on
#Root password
rootpw --iscrypted $1$Bz09jb2I$hfzh2vApqMjG0sEPsAwNr/
# SELinux configuration
selinux --disabled
# Do not configure the X Window System
skipx
# System timezone
timezone Europe/Moscow
# Install OS instead of upgrade
install
# Disk partitioning information
part swap --bytes-per-inode=4096 --fstype=”swap” --size=512
part / --bytes-per-inode=4096 --fstype=”ext3” --grow --size=1
%post --interp /bin/bash
PATH=/somework
/bin/mkdir $PATH
/bin/sed -e ‘s/#PermitRootLogin yes/PermitRootLogin yes/g’ /etc/ssh/sshd_config > $PATH/sshd_config_edited
/bin/cp $PATH/sshd_config_edited /etc/ssh/sshd_config
/bin/rm -rf $PATH
Установка Linux по сети
Каждому, кто хоть изредка промышляет администрированием хотя бы раз нужно было установить операционку на комп. И зачастую происходит всё так: скачивается образ, записывается на диск или флешку, грузимся и ставим. Но может оказаться что ни флешки ни диска под рукой нет, а установку нужно выполнить на вчера. Тогда можно загрузится по сети, и с линуксом в этом плане особо проблем нет. Типичная конфигурация – это связка DHCP, TFTP и NFS. Но у меня под рукой не было настроенного NFS, зато была Samba. Поэтому пришлось разобраться как использовать Samba вместо NFS.
Вроде бы ничего такого, поменял настройки и всё, но что-то не работало поначалу, пришлось шаманить.
Но я тут начну с самого начала. Итак для начала нужно обзавестись дистрибутивом. Так как ставим мы Linux Mint, ищем свежий образ здесь. Скачиваем дистрибутив, подходящий именно нам (я ставил тот, что с MATE, но очевидно это не имеет особого значения). Скачав образ, нужно получить доступ к файлам образа. В некоторых руководствах рекомендуют распаковать образ, но я не вижу в этом смыла, поэтому поддерживаю мнение, которое заключается в том, чтобы смонтировать образ как loop. Чтобы не вмешиваться в существующий порядок, просто создаём новый каталог, куда и монтируем образ:
Далее нужно сделать файлы доступными по сети для чтения установщиком. Как я говорил выше, у меня для этого служит Samba. Поэтому открываем файл конфигурации и добавляем новую шару, добавив такую секцию:
Должно работать поверх дефолтных настроек Samba. Если же не работает, то скорее всего вы что-то меняли сами, а значит найдёте как решить проблему. Итак мы добавили шару mint, через которую можно с сети получить файлы для установки. Не забудьте перезапустить Samba для принятия новых настроек.
Для Archlinux:
Для Gentoo:
Далее нужно подготовить сетевой загрузчик. В этом нам поможет программа tftp-hpa. В Archlinux и в Gentoo пакет называется именно так. Нужно расположить файлы загрузчика в рабочем каталоге ftp-сервера (в арче /srv/tftp). Копируем туда ядро и initrd со смонтированного образа:
Далее нам нужен syslinux. С него нужно собственно PXE-загрузчик:
Далее нужно подготовить файл конфигурации для загрузчика. Для этого создаём файл /srv/tftp/pxelinux.cfg/default. Туда пишем такое:
Где 192.168.0.1 – наш IP-адрес относительно машины, на которую быдем ставить. Ах да, и про nfs там – это не опечатка, в режиме работы с cifs, нужно передавать опции типа как для nfs, не могу сказать почему. Особое внимание нужно обратить на опцию toram, поскольку без неё всё отваливается на полпути и загрузится мы не можем (может это особенности самбы). Но с этой опцией нужно помнить о том, что на целевой машине должно быть достаточно оперативки, чтобы скопировать туда установщик. TFTP-сервер нужно запустить. Для Archlinux:
Для Gentoo:
Теперь нужно биосу целевой машины как-то сказать откуда грузится. В этом нам поможет dnsmasq (хотя не обязательно, можно использовать и другой DHCP сервер, здесь описываю то, что было под рукой). Настраиваем раздачу IP (опция dhcp-range) на своё усмотрение, под свою “сеть” между машинами. Для установки нам важны лишь три опции:
Их нужно добавить к конфигурации dnsmasq, ну и естественно запустить его (или перезапустить).
Для Archlinux:
Для Gentoo:
Помните, чтобы всё заработало необходимо, чтобы порты на DHCP (UDP 67,68), TFTP (UDP 69), Samba (UDP 137,138, TCP 139,445) должны быть обязательно открыты, обязательно учтите это в конфигурации своего фаерволла. Если же фаерволла нет или полностью открыт интерфейс – ну и ладно, должно работать.
Вобщем далее подключаемся к сети (куда смотрят dnsmasq, tftp-hpa и samba), выбиарем Network boot и ставим систему. По завершении останавливаем серверы, размонтируем ISO.
Примечание: в связи с тем, что системы постоянно обновляются, приведённые пути файлов могут оказаться недействительными, то есть отличными от тех, что на Вашей системе. Поэтому внимательно смотрите на структуру пакетов Вашей системы.
Sidelnikov blog
Блог Александра Сидельникова
Установка Ubuntu по сети
В данной статье будет рассмотрена установка Ubuntu Linux из репозитория с сетевой загрузкой.
Итак, на клиентские компьютеры будем устанавливать Ubuntu 10.04 с сервера 192.168.0.3, на котором находится сервер сетевой загрузки и dhcpd. Для установки в репозитории обязательно должен быть каталог dists/lucid/main/debian-installer. Если добавить подобные каталоги для других репозиториев (multiverse, universe, restricted), то на этапе «Выбор и установка программного обеспечения» список ПО будет больше. В данном руководстве рассмотрю именно этот вариант. Если вы делали зеркало debmirror, то у вас его, скорее всего, этих каталогов вообще нет. Скачать их можно, например, с ftp://mirror.yandex.ru. Так же во время установки инсталлятор вне зависимости от выбранного репозитория часто обращается к security.ubuntu.com.
Шаг 1: Установка сервера
Установка необходимых приложений:
apt-get install tftpd-hpa openbsd-inetd
Скачиваем и распаковываем образ для сетевой установки:
tar -xvzf netboot.tar.gz -C /var/lib/tftpboot/
chown -R nobody:nogroup /var/lib/tftpboot
Для сетевой загрузки необходимо передать клиенту 2 параметра: имя файла загрузки и сервер загрузочного файла (в dhcpd это параметры filename и next-server) :
next-server 192.168.0.3;
filename «pxelinux.0»;
Сервер установлен, можно ставить систему.
Шаг 2: Установка системы
Для установки системы с сервера в сети необходимо разрешить в BIOS загрузку по сети (PXE). Если ваш bios поддерживает boot menu, то лучше для выбора загрузочного устройства воспользоваться именно им — чтобы не было проблем, если забудешь изменить порядок загрузки.
Если всё хорошо, то перед вами будет экран приветствия установщика:
Дальше установка проходит точно так же как и у редакции Alternate. В конце установки будет предложено установить наборы программного обеспечения. Среди них:
- Basic Ubuntu Server
- Сервер имён (DNS)
- Edubuntu server
- LAMP server
- Почтовый сервер
- OpenSSH server
- PostgreSQL database
- Сервер печати
- Samba file server
- Ubuntu Enterprise Cloud
- Virtual Machine host
- 2D/3D creation and editing suite
- Audio creation and editing suite
- Edubuntu KDE desktop
- Edubuntu desktop
- Kubuntu desktop
- Kubuntu netbook
- LADSPA and DSSI audio plugins
- Large selection of font packages
- Mythbuntu additional roles
- Mythbuntu frontend
- Mythbuntu master backend
- Mythbuntu slave backend
- Ubuntu Netbook
- Ubuntu Desktop
- Video creation and editing suite
- Xubuntu desktop
- Manual package selection
Дальше всё снова как обычно, поэтому, на этом статью можно заканчивать. 🙂
Можно ли установить Ubuntu через сеть?
Спасибо за предложение. Я закончил переустановку в прежнем режиме загрузки (который я должен был сделать с помощью CD, в моем случае) вместо этого, и это устранило проблему для меня.
5 ответов
Вы можете сделать это, используя метод net install, запускающий установку Ubuntu по сети. описано в Установка Netboot
Сетевой установщик позволяет устанавливать Ubuntu по сети. Это полезно, например, если у вас есть старая машина с не загружаемым компакт-диском или компьютер, на котором не запускается программа установки на основе графического интерфейса, либо потому, что они не соответствуют минимальным требованиям для live CD / DVD или потому, что они требуют дополнительной настройки перед использованием графического рабочего стола, или если вы хотите установить Ubuntu сразу на большое количество компьютеров. / blockquote>
Есть так много способов сделать это.
Вы должны изменить имена хостов и IP-адреса в этом HOWTO для собственных настроек. Описанные здесь принципы применимы к другим серверам DHCP и TFTP, отличным от описанных ниже; использование альтернативного серверного программного обеспечения оставлено читателю в качестве упражнения.
Инструкции по использованию компьютера с Windows в качестве сервера TFTP и DHCP см. В разделе «Установка / WindowsServerNetboot».
Этот HOWTO поможет вам запустить программу установки; если вы хотите выполнить автоматическую или автоматическую установку Ubuntu, см. Установка / LocalNet.
Этот метод установки использует DHCP / BOOTP, TFTP и FTP / HTTP для получения источников установки. Сам установщик состоит из ядра Linux и initrd. Эти файлы передаются через процесс загрузки DHCP / TFTP.
Остальные источники установки могут быть переданы через FTP или HTTP. Если целевой компьютер имеет доступ к Интернету, эти источники могут быть получены непосредственно из зеркала Ubuntu. В качестве альтернативы, вы можете загрузить один из установочных ISO-файлов, смонтировать их с обратной связью и обслужить их с локальным HTTP / FTP-сервером.
Загрузка с компакт-диска (также может быть TFTP или аналогичным) и установка системы через SSH.
Краткое руководство по установке Hardy Ubuntu 12.04 на выделенном сервере через ssh.
Ознакомьтесь с полной документацией по Установка сервера и сети
Можно установить одну систему Ubuntu (обычно система Сервера Ubuntu, но это не должно быть), и затем используйте ее в качестве сервера к начальной загрузке PXE и установите другие. BIOS на клиентах (где Вы хотите установить Ubuntu) должны поддерживать PXE (т.е. сетевая загрузка), чтобы это работало. Но большинство BIOS делает в эти дни.
Необходимо смочь сделать это с системой не-Ubuntu как хост также, если Вы уже имеете, которые настраивают, и Вы знаете, как настроить необходимые серверы в Вашей системе не-Ubuntu.
Статья Wiki справки PXEInstallServer Ubuntu объясняет, как настроить систему Ubuntu как Ваш сервер PXE, и как установить Ubuntu в других системах от него. Было бы трудно суммировать основные моменты – детали очень важны. Таким образом, вот все это (с незначительным форматированием и изменениями пунктуации):
Введение
Это будет вести Вас посредством выполнения сервера Ubuntu как сервер установки PXE. Необходимо будет выполнить сервер DHCP в сети, не обязательно этот сервер, но Вам действительно нужен тот.
Установка необходимых пакетов
Необходимо будет установить следующие пакеты: inetutils-inetd (ранее netkit-inetd ), tftpd-hpa (см. InstallingSoftware).
- Для Ubuntu 10.04 существует ошибка с inetutils-inetd . Это только слушает на IPv6, а не на IPv4. Как быстрое обходное решение, можно использовать openbsd-inetd вместо этого.
Если это также будет Вашим сервером DHCP, установка dhcp сервер, содержавшийся в follwing пакете: dhcp3-server (см. InstallingSoftware).
Настройте tftpd-hpa
Необходимо будет сказать tftpd-hpa запускать своего демона (который он не делает по умолчанию). Чтобы сделать это, отредактируйте /etc/default/tftpd-hpa файл, и удостоверяется, что выглядит примерно так:
Затем запустите скрипт запуска для фактического запуска демона:
Настройте dhcpd
Если Ваш pxe сервер будет также Вашим dhcp сервером, то Вам будет нужно что-то вроде этого в /etc/dhcp3/dhcpd.conf :
Если у Вас есть существующий dhcp сервер, необходимо указать на него на pxe сервер путем выполнения чего-то как следующее:
Обязательно перезапустите Ваш dhcp сервер так, чтобы изменения вступили в силу:
Настройте tftpd-hpa
tftpd-hpa от называют inetd . Опции передали tftpd-hpa когда это запускается, таким образом найдены в /etc/inetd.conf
Значения по умолчанию хорошо для нас, Вашего /etc/inetd.conf должен иметь запись как это:
(Хотя Вы, возможно, должны отредактировать этот файл и замену udp с udp4 , как tftpd-hpa кажется, ожидает адрес IPv6 теперь.)
Теперь мы скопируем необходимые файлы с CD Ubuntu:
Если Ваш dhcp сервер выпустит информацию о нужной сети, и у Ваших pxe клиентов будет доступ к сети, то в этой точке Вы сможете сделать установку Ubuntu с помощью интернет-репозиториев.
Я хочу пойти немного далее однако и установить все с сервера установки, а также настроить некоторые пакеты для установки.
Апач установки
В настоящее время установки nfs не хорошо поддерживаются (исправьте меня, если я неправ), таким образом, мы установим по http. Для этого нам нужен веб-сервер на нашем сервере установки также: установите следующий пакет: apache (см. InstallingSoftware).
Копирование файлов Ubuntu
Создайте каталог человечности в соответствии с документом своего недавно установленного апача, базируются и копируют все содержание Альтернативы Ubuntu CD к тому каталогу:
Настройка установки
Существует названный пакет system-config-kickstart который является GUI frontend к созданию, запускают файлы. Запускать файл говорит установщик, где получить его пакеты от, что установить и много других полезных настроек. Посмотрите KickstartCompatibility для большего количества информации.
Этот пакет не должен быть установлен на Вашем сервере установки, это может быть на удобном рабочем столе Ubuntu где-нибудь.
Создайте пользовательское ks.cfg с system-config-kickstart , обязательно укажите HTTP под “Методом установки”. Обеспечьте IP Вас сервер установки и сделайте Каталог HTTP /ubuntu/ . Сохраните файл и скопируйте его в свой сервер установки под /var/www/html/ .
Очень минималистское ‘ks.cfg файл, который только использует файлы установки на сервере установки и просит все другие вопросы, могло бы быть похожим на это:
Используйте свой ks.cfg
Для Вашей установки сети Ubuntu на использовании Ваш запускать файл, необходимо сказать это, где найти его.Править /var/lib/tftpboot/pxelinux.cfg/default и добавьте ks=http:// /ks.cfg к добавлять строке. Это должно затем выглядеть примерно так (обратите внимание, что добавлять строка является одной строкой):
базируйтесь =/dev/rd/0 rw-
В Бойком [и по-видимому более поздние выпуски, включая любой выпуск Вы, вероятно, используете] 1 , файл по умолчанию был разбит в, включает. Добавлять строка может быть найдена в /ubuntu-installer/i386/boot-screens/text.cfg :
Начальная загрузка и установка
Необходимо теперь смочь загрузиться, другой ПК на LAN по сети и иметь его устанавливают Ubuntu автоволшебно.:) Можно варьироваться, установка tftp и http указывает для имения нескольких версий в наличии Ubuntu для установки в сети.
Используя CD (или .iso) непосредственно
Можно также достигнуть вышеупомянутого, на самом деле не копируя файлов нигде. Можно смонтировать CD (или .iso) и затем сделать дополнительное монтирование с –bind опция. Преимущество состоит в том, что можно обновить CD (или .iso), не будучи должен обновить файлы сервера установки.
Например, после монтирования CD (или .iso) к /media/cdrom/ , можно смонтировать файлы человечности к веб-каталогу:
Точно так же можно сделать то же с tftproot :
Если необходимо было создать a pxelinux.cfg каталог с соответствующим файлом по умолчанию, можно смонтировать, что поверх смонтированного CD, так, чтобы tftp сервер выделил pxelinux.cfg/default файл. Например, a pxelinux.cfg каталог в
/pxelinux.cfg мог быть смонтирован как это:
(Обратите внимание, что в вышеупомянутом примере, фактическая точка монтирования каталога закончилась бы как /var/lib/tftpboot/ubuntu-installer/i386/pxelinux.cfg потому что pxelinux.cfg символьная ссылка на CD (или .iso)).
— PXEInstallServer, с небольшим форматированием, пунктуацией и изменениями капитализации, главным образом для размещения Спросить Формата Ubuntu.
Той статьей является из документации Ubuntu Wiki. Это было записано “Участниками документации Ubuntu Wiki” и лицензируется под CC SA 3.0, который позволяет включение здесь с надлежащей атрибуцией.
1 [Заключенный в скобки выделенный курсивом текст] не из оригинала; это – мой комментарий.
Отметьте различие между этим методом и методом предложенный Mitch. Тот метод включает начальную загрузку с CD/DVD или карты флэш-памяти с интерфейсом USB, которая затем устанавливает систему по сети. По умолчанию эта сеть является Интернетом; чтобы тот метод был разумен для установки на сотнях машин в сети, Вы, вероятно, захотите создать и разместить репозиторий Ubuntu в Вашей сети и указать на Ваши установки на этом.
Усилие и инфраструктура, необходимая, чтобы сделать, который сопоставим с тем, что было бы необходимо для PXE, загружают машины, как описано выше. Таким образом, в то время как тот путь мог бы удовлетворить Ваши потребности, я поощрю Вас рассматривать начальную загрузку PXE, если действительно необходимо установить без “физических сред”.
Cobbler – это установочный сервер Linux, который позволяет быстро настроить среды сетевой установки. Он склеивает и автоматизирует многие связанные задачи Linux, поэтому вам не нужно переключаться между различными командами и приложениями при развертывании новых систем и, в некоторых случаях, при изменении существующих. Cobbler может помочь с подготовкой, управлением DNS и DHCP, обновлениями пакетов, управлением питанием, управлением конфигурацией и многим другим.
Что работало на меня при установке Ubuntu 18.04, LTS был основан на руководстве Isabel Castello, которая кажется на основе руководства LocalNet от Wiki Ubuntu, но была намного более читаемой и понятной мне.
Предпосылки
Необходимо быть в сети с 3 узлами:
- Основной маршрутизатор DHCP.
- Целевой сервер, где Вы хотите установить Ubuntu. Это должно быть подключено к маршрутизатору с кабелем (не WiFi). И, очевидно, имейте поддержку сети, загружающейся в BIOS.
- Исходный сервер, который будет служить файлам начальной установки и сервисам. Это руководство предполагает, что это – также Ubuntu; другие Ose, конечно, возможны также, но команды, очевидно, отличались бы.
Удостоверьтесь, что включили Сетевую загрузку в BIOS цели.
Ввод BIOS часто делается путем нажатия или содержания Del или F2 , когда машина загружается. С другой стороны, нажатие F12 часто позволяет изменять последовательность начальной загрузки в некотором особенном методе поставщика, который может помочь.
Узнайте следующие значения:
(Можно хотеть просмотреть/изменить настройки DHCP на маршрутизаторе для обнаружения некоторых из тех. Кроме того, если Вам удастся ввести этап Сетевой загрузки при начальной загрузке целевой машины, то он, вероятно, покажет, по крайней мере, MAC-адрес, таким образом, можно будет записать его.)
- MAC-адрес цели — свойство его сетевой платы,
- IP-адрес цели — присвоенный ему маршрутизатором,
- IP шлюза — другими словами, IP маршрутизатора,
- подсеть/сетевая маска — обычно находимый в параметрах сети источника и/или маршрутизатора.
Установите и настройте tftp на исходном хосте:
Если grep выше шоу другой путь скорректируйте значения в командах, перечисленных в этот, и затем ступите соответственно.
Установите, настройте и выполните протокол BOOTP, также на исходном хосте:
Примечание: замена $TARGET_MAC и т.д. значения с соответствующими значениями, собранными на шаге 2. выше. $TARGET_MAC адрес должен быть с двоеточиями, например: 00:00:39:2B:54:B5 , и $SUBNET_MASK точечный, например. 255.255.255.0 .
Перезагрузите целевую машину при обеспечении, что опция Network Boot активирована (нажмите F12 в случае необходимости или ничто, или независимо от того, что BIOS требует).
Основанный на тексте интерактивный установщик Ubuntu 18.04 должен запуститься теперь на целевой машине. Продолжите как будто установка Ubuntu обычно.
Дополнительный: для безопасности, после окончания установки, необходимо удостовериться, что переключили функцию Network Boot в BIOS цели назад к отключенному.