Базовый url для образов сетевой установки linux

Как установить Linux из сети

#Defaults for tftpd-hpa
RUN_DAEMON=»yes»
OPTIONS=»-l -s /var/lib/tftpboot»

Создаём нужный каталог: mkdir /var/lib/tftpboot, и стартуем сервис invoke-rc.d tftpd-hpa start

atftpd:
После установки обнаруживаем, что по-умолчанию этот сервис работает через inetd. Я, почему-то, не фанат этого метода, поэтому первым делом закомментировал соответствующую строку в /etc/inetd.conf. Затем редактируем /etc/default/atftpd:

USE_INETD=false
OPTIONS=»—daemon —tftpd-timeout 1500 —no-multicast —retry-timeout 20 —logfile /var/log/atftpd.log —maxthread 100 —verbose=5 /var/lib/tftpboot»

—tftpd-timeout — время жизни потока, при отсутствии запросов
—retry-timeout — таймаут отдачи файла
у меня установлены большие таймауты, т.к. сервис транслируется в городскую локальную сеть, которая периодически прогибается от обилия абонентов, и не справляется с потоком запросов.
Ну и, как и в предыдущем пункте, — создаём нужный каталог: mkdir /var/lib/tftpboot, и стартуем сервис invoke-rc.d atftpd start

Теперь у нас есть tftp-сервер. Один шаг мы сделали 🙂
Далее — настройка dhcp:

    dhcp3:
    В конфигурационный файл /etc/dhcp3/dhcpd.conf добавляем информацию о загрузке:

    filename «pxelinux.0»;
    next-server ;

    Если tftpd установлен на том же сервере, что и dhcpd — директиву next-server можно опустить. И перезапускаем dhcp3-server: invoke-rc.d dhcp3-server restart

    Источник

    Сетевая установка Linux

    Недавно столкнулся с установкой Centos 7 в необычных условиях.

    Во-первых, дома. То есть имел дело с локальными компьютером, а не с сервером с IPMI.

    Во-вторых, за неимением дискового привода обычно использую загрузочную флешку, которая в данном случае оказалась бесполезной, так как новый компьютер загружается только с флешек с инсталятором Windows. Проблема не новая, судя по отзывам о материнской плате.

    В моем распоряжении осталась сеть. Приведу пример установки Centos 7 по PXE и iPXE

    Итак, начнем.

    Как установить Linux через ipxe?
    Как установить Linux через pxe?

    Установка через PXE

    Соединим ethernet кабелем компьютер1 — на котором будут DHCP, TFTP и компьютер2 — на который должна быть установлена ОС.

    Добавим статичные настройки сетевого адаптера на компьютер1. Мой адрес 192.168.1.50.

    Скачаем и установим TFTP. В этой программе настроим DHCP и TFTP сервер с которого отдадим IP адрес и установочные файлы компьютеру2.

    Отключим брандмауэр и запустим tftpd с правами администратора. Выставим аналогичные установки, как на картинках. Возможно потребуется перезапуск tftpd.

    На компьютере2 в boot меню выберем сетевой адаптер. В окне tftpd на компьютере1 будет отображаться шкала прогресса.

    После этого, на компьютере2 загрузится окно инсталлятора ОС.

    Установка Linux через iPXE

    Скачаем образ ipxe.iso. Rufus-ом создадим загрузочную флешку на основе этого образа.

    Выложим скрипт install.ipxe на любой веб сервер. О том, как поднять веб сервер на локальном компьютере можно узнать тут. Адрес моего скрипта будет таким sitename.ru/install.ipxe

    Содержимое скрипта install.ipxe для установки Centos 7

    По аналогии с этим скриптом для установки Centos 7, можете подготовить свой скрипт для установки другой ОС.

    Соединим компьютер, на который необходимо установить Linux, и роутер ethernet кабелем. Вставим флешку и загрузимся с нее. После нажатия F12 появится ipxe консоль. Используем следующие команды для получения IP адреса и скачивания скрипта

    После этого загрузится окно инсталлятора ОС.

    Источник

    Загрузка и установка Debian по сети для чайников

    Если вам нужно установить Debian на несколько машин, то, конечно, лучше загружать и устанавливать его по сети. Ну и хотелось бы, чтобы установка проходила в полностью автоматическом режиме. Об этом и будет статья. Основная часть статьи — это вольный пересказ вики дебиана, но так же здесь описано пара нюансов, о которых не сказано в вики, но без них установка не будет полностью автоматической.

    Начну с того, что в сети должен присутствовать DHCP/TFTP сервер. Если его нет, то можно сначала вручную установить на одну из машин Debian и поднять на нём DHCP и TFTP. Для этого нужно установить пакеты dhcp3-server и tftpd-hpa. Для DHCP настроим раздачу адресов для нужной подсети (далее в примерах 192.168.2.0/24) и информации о том, какой образ должен грузиться по TFTP.
    Пример простого конфигурационного файла dhcp3-server:
    cat /etc/dhcp/dhcpd.conf | grep -v ‘#’

    option domain-name-servers 8.8.8.8;
    default-lease-time 600;
    max-lease-time 7200;

    subnet 192.168.2.0 netmask 255.255.255.0
    <
    range 192.168.2.10 192.168.2.120;
    option routers 192.168.2.1;
    option domain-name «debianfarm.org»;
    filename «pxelinux.0»;
    host firstserver
    <
    option host-name «firstserver»;
    hardware ethernet 08:00:27:91:DA:57;
    fixed-address 192.168.2.21;
    >
    >

    P. S. В примере в качестве DNS раздаётся Google Public DNS. Все сервера находятся в домене debianfarm.org, ну и для каждого желательно привязать статически IP и hostname по MAC, хотя это не обязательно. В примере это cделано только для одного хоста. Так же, TFTP сервер может находиться и на другом хосте. Для указания его адреса нужно добавить опцию next-server ;
    После редактирования конфига нужно перезагрузить демон DHCP:
    # /etc/init.d/isc-dhcp-server restart

    Теперь нужно скачать нужные файлы и положить в корень для TFTP (по-умолчанию /srv/tftp, хотя во время установки пакета tftpd-hpa будет предложено выбрать другой путь).
    # cd /srv/tftp
    # wget mirror.yandex.ru/debian/dists/squeeze/main/installer-i386/current/images/netboot/netboot.tar.gz
    # tar -xvf netboot.tar.gz

    Отредактируем файл ./pxelinux.cfg/default в корне TFTP так, чтобы загрузчик syslinux не ждал реакции пользователя после загрузки, а сам через секунду начинал установку. Для этого значение опции timeout установим равное 1.
    Теперь нужно добавить к параметрам ядра переменную для debian-installer для загрузки файла preseed. В этом файле хранятся значения переменных, которые обычно спрашиваются у пользователя во время установки. То есть, вы заранее создаёте файл с «ответами на вопросы» установщика Debian (о его содержимом позже). Но есть один нюанс, о котором не сказано в wiki: файл preseed загружается не сразу после запуска установщика, а только после того, как будут заданы пользователю некоторые вопросы, а это значит, что используя только файл preseed нельзя добиться полностью автоматической установки. Поэтому, ответы на вопросы установщика до загрузки preseed нужно передать параметрами загрузки ядра, которые потом подхватит установщик Debian. Впрочем, можно было бы передать ядру все нужные «ответы на вопросы» установщика, но вам не позволит это зделать ограничение на максимальную длинну строки запуска ядра.
    Передавая значения этих переменных ядру можно опустить первую часть названия переменной (та, которая до слеша вместе со слешем). Но так делать нельзя для таких переменных, у которых вторая часть названия конфликтует с другой переменной, например:
    console-keymaps-at/keymap нужно указывать полностью, так как есть ещё переменная console-keymaps-usb/keymap.

    Конфиг syslinux теперь должен выглядеть примерно так:

    cat ./debian-installer/i386/boot-screens/txt.cfg
    default install
    label install
    menu label ^Install
    menu default
    kernel debian-installer/i386/linux
    append vga=788 initrd=debian-installer/i386/initrd.gz locale=en_US country=BY language=en console-keymaps-at/keymap=en url=http://192.168.2.1/preseed.cfg hostname=debian domain=debianfarm.org — quiet

    P. S. Имя хоста здесь нужно задавать обязательно, но помните, что значение, позже полученное по DHCP, будет иметь высший приоритет. То же относится и к домену.

    На хосте 192.168.2.1 должен быть поднят http-сервер. Если его нет, можно установить nginx, в конфигурационном файле в раздел http добавить что-то вроде этого:
    server
    <
    listen 80;
    server_name localhost;

    location /
    <
    root /path/to/dir/with/preseed/;
    >
    >

    Впрочем, файл preseed можно разместить где угодно (dropbox, etc.)

    Теперь немного о содержимом файла preseed. Пример такого файла можно посмотреть здесь www.debian.org/releases/squeeze/example-preseed.txt. Вот так выглядит рабочий вариант файла:
    d-i netcfg/choose_interface select auto

    d-i netcfg/wireless_wep string

    d-i mirror/country string manual
    d-i mirror/http/hostname string mirror.yandex.ru
    d-i mirror/http/directory string /debian
    d-i mirror/http/proxy string

    d-i passwd/make-user boolean false

    d-i passwd/root-password password juststrongpassword
    d-i passwd/root-password-again password juststrongpassword

    d-i clock-setup/utc boolean true
    d-i time/zone string US/Eastern
    d-i clock-setup/ntp boolean true

    d-i partman-auto/method string lvm

    d-i partman-lvm/device_remove_lvm boolean true
    d-i partman-md/device_remove_md boolean true
    d-i partman-lvm/confirm boolean true

    d-i partman-auto/choose_recipe select atomic

    d-i partman-partitioning/confirm_write_new_label boolean true
    d-i partman/choose_partition select finish
    d-i partman/confirm boolean true
    d-i partman/confirm_nooverwrite boolean true

    d-i partman-md/confirm boolean true
    d-i partman-partitioning/confirm_write_new_label boolean true
    d-i partman/choose_partition select finish
    d-i partman/confirm boolean true
    d-i partman/confirm_nooverwrite boolean true

    tasksel tasksel/first multiselect standard
    d-i pkgsel/include string openssh-server

    popularity-contest popularity-contest/participate boolean false

    d-i finish-install/reboot_in_progress note

    Что-то комментировать здесь нет смысла, ибо каждая переменная дублирует предельно понятные диалоги установщика, по каждой можно посмотреть комментарий в примере.
    Способ разметки диска был просто скопипащен из примера, так как он зависит от количества жёстких дисков, их размера и нужд сервера.

    Ну вот и всё, теперь останется только включить те машины, на которые нужно установить Debian, всё остальное произойдёт «само».

    Источник

    Установка Ubuntu по сети

    Содержание

    Ubuntu, как и многие другие дистрибутивы Linux, можно легко установить по сети. Для этого вам всего лишь потребуется сетевое соединение с компьютером, который будет служить сервером для установки. BIOS вашего компьютера должен для этого поддерживать загрузку по сети.

    Настройка сервера для установки

    Прежде всего вам потребуется компьютер с Ubuntu или с другим дистрибутивом Linux (данная инструкция написана для Ubuntu), с которого вы будете устанавливать систему (сервер загрузки по сети), и ISO образ Alternate диска с необходимой версией Ubuntu.

    Настройка сервера сетевой загрузки

    Для установки всего необходимого лучше использовать aptitude, которая не входит в стандартную поставку Ubuntu начиная с версии 10.10. Поэтому сначала ставим aptitude через любую программу установки пакетов или командой

    Далее ставим всё необходимое:

    Ключ -R нужен для того, чтобы atftpd поставился без inetd сервера, который вам совершенно не нужен.

    Теперь пора настроить все компоненты.

    TFTP сервер

    Откройте файл /etc/default/atftpd в любом текстовом редакторе с правами суперпользователя, например, так:

    Измените первую строчку с

    Кроме этого запомните каталог, который находится в конце строчки OPTIONS . Скорее всего это будет /srv/tftp , но в старых Ubuntu может быть и /var/lib/tftpboot . Редактируем файл /etc/default/tftpd-hpa:

    вписываем, запомненный каталог

    Теперь просто запустите atftpd :

    Теперь создайте в каталоге из OPTIONS папку ubuntu. Далее везде будем считать, что используется каталог /srv/tftp :

    На этом настройка TFTP закончена.

    Веб-сервер Apache

    Что-либо менять в настройках Apache не требуется, достаточно сделать созданный в предыдущем разделе каталог ubuntu доступным через HTTP . Для этого создайте на него симлинк из рабочей папки Apache:

    DHCP сервер

    В этом файле необходимо изменить следующие настройки:

    Теперь необходимо перевести второй компьютер в режим загрузки по сети. После этого Вы должны увидеть экран установки Ubuntu.

    Установка по при помощи Minimal CD

    Если вы по каким-то причинам не можете использовать полноценный диск с Ubuntu, но всё же в вашем компьютере есть CD привод и подключение к интернету, то вы можете поставить систему по сети, загрузившись с маленького диска Minimal CD.

    В этом случае система поставится целиком из интернет-репозитория, а диск нужен будет только для запуска процесса установки.

    Источник

    Myx.Ostankin

    Вы здесь

    Инсталляция Linux по сети с Windows-машины. Грабли и сложности

    Немножко философских размышлений

    Понятие «инсталляционный диск» постепенно уходит в прошлое. Действительно, зачем нужен инсталляционный диск, если есть скоростной безлимитный Интернет, позволяющий, не сходя с места, скачать самую последнюю версию программы и тут же ее установить? А поскольку скоростной Интернет потихоньку становится явлением уже почти повсеместным, то и онлайн-дистрибутивы набирают все бо́льшую и бо́льшую популярность, вытесняя диски в коробочках.

    Немножко особняком здесь стоят операционные системы. Действительно, скачать и установить обычную программу несложно: компьютер с работающей операционной системой и сайт покажет, и инсталлятор скачает, и установит. Пользователю нужно только кнопочки Yes да Next нажимать время от времени. А вот как установить саму операционку, да еще и на чистый компьютер? Раньше без специальной загрузочной дискеты было не обойтись. Причем даже когда операционки стали распространяться на компакт-дисках, все равно нужна была работающая операционка, которая могла бы создать загрузочную дискетку с образа, расположенного на компакт-диске. Потом появились загрузочные компакт-диски, и процесс установки стал значительно легче: всунул диск, включил компьютер, инсталлятор сам запустился, нашел все диски, спросил, куда будем ставиться — и понеслась.

    Но диски тоже потихоньку сходят с арены, уступая более компактным и надежным (а в последнее время еще и более объемным) USB-флешкам.
    И хотя сейчас CD/DVD-привод пока еще есть практически в каждом компьютере, многие ноутбуки (а в особенности — нетбуки) уже жертвуют этой громоздкой железякой для экономии места. Действительно, а зачем он нужен, если все необходимое можно скачать через Интернет, в крайнем случае — передать через флешку?

    Вопрос кажется риторическим — но ровно до тех пор, пока на такой ноутбук не потребуется поставить операционку. И первыми, надо полагать, с этой проблемой сталкиваются производители и продавцы — в самом деле, надо же как-то на продаваемые ноутбуки ставить предустановленную Windows операционную систему, и хотелось бы делать это с минимальными трудозатратами. Вот тут на помощь и приходит технология инсталляции по сети.

    На самом деле, технология запуска рабочей станции по программе, загружаемой из локальной сети, не так уж и нова — ей уже лет тридцать, но до сих пор она использовалась преимущественно коммуникационными железками вроде маршрутизаторов или мини-АТС. Видимо, как раз нетбуки и стали тем спусковым крючком, который породил спрос на включение в материнские платы возможность установки операционной системы путем скачивания инсталлятора с сервера. А что — удобно: подключил к специальному загрузочному серверу несколько десятков ноутбуков (на сколько портов хватило), сервер раздал каждому по загрузчику, операционка сама поставилась, ноутбуки готовы к продаже, подключаем следующую партию. Вот оно, массовое производство.

    Эволюция материнских плат

    А раз уж такая функция появилась на ноутбучных материнках, то почему бы ей не появиться и на обычных — чипсеты-то везде одинаковые. Вообще, эволюция материнских плат — прелюбопытнейшая вещь. Первые материнки, которые я застал, без дополнительных устройств могли подключать разве что только клавиатуру и мышь. Даже жесткий диск к ним подключать напрямую было нельзя — нужно было ставить специальную плату с дисковыми контроллерами, называемую «мультипортовой платой». Но это было настолько давно, что неудивительно, что нынешний пятнадцатилетний мальчик, перерыв весь Интернет, так и не смог найти внятное объяснение, что же такое «мультяшка — байты растеряшка» — еще бы, явление прекратило существовать примерно в первый год его жизни, поскольку к этому времени практически все материнки содержали встроенный контроллер дисков.

    Время шло, и материнки обрастали все бо́льшим количеством устройств: сначала в них стали встраивать подешевевшую до невозможности звуковую карту, затем присоединилась и сетевая карта, а потом на материнках стали появляться и простенькие видеокарты. Сейчас уже трудно поверить, что когда-то всего этого не было, и все эти устройства приходилось покупать и устанавливать отдельно.

    И вот, современные материнки уже настолько умны, что они в момент включения могут сами отыскать в локальной сети сервер, который скажет им, что нужно запустить. Причем на компьютере может не быть ни одного диска — все необходимые инструкции и программы будут также получены по сети.

    От теории к практике

    Недавно мне довелось попробовать это все на личном опыте. Я устанавливал Debian Linux на свой домашний сервер. И, поскольку материнка поддерживает старт через сеть, я решил, что этим грех не воспользоваться. В теории все выглядит очень заманчиво: при включении компьютера крохотный инсталлятор скачивается с соседнего компьютера, после чего инсталлятор выходит в Интернет и скачивает последнюю-распоследнюю версию операционки (т.е. не надо никаких сервиспаков, обновлений, драйверов и прочей фигни). Пользователю остается только выбрать режим установки, указать, куда поставить систему, какие компоненты ставить — в общем, стандартный набор простейших действий.

    В конечном итоге у меня все получилось, хотя грабли я собрал, кажется, все, какие только возможно — в процессе даже возникала крамольная мысль: «а не проще ли скачать образ DVD и поставить с него?». Но в итоге все трудности были успешно преодолены, а о встреченных граблях мне хотелось бы рассказать — вдруг кому будет полезно.

    Итак, топология сети проста и незатейлива, как и в большинстве домов, где больше одного компьютера: роутер, раздающий интернет, к нему подключены два компа (мой и Юлькин), и туда же был воткнут сервер. Теперь задача: один из компов (очевидно, мой) должен стать устройством, с которого сервер получит инсталлятор Линукса.

    Почитав мануалы, я узнал, что загрузка осуществляется по протоколу TFTP. TFTP — это упрощенный FTP, там нет авторизации и есть только две команды: get и put. Гугл мне подсказал, что в винде встроенного TFTP-сервера нет, но его можно установить в виде отдельной приблуды под названием Tftpd32. Скачал, установил. Убедился, что команда tftp localhost put aaa.txt действительно заливает файлик aaa.txt из текущего каталога в рабочий каталог Tftp32. «Полдела сделано», — подумал я оптимистично и распаковал в рабочий каталог файлы инсталлятора Debian.

    А дальше началось самое веселое — нужно было как-то дать понять стартующему серверу, куда лезть за загрузчиком. Сначала я наивно подумал, что он сам просканирует сеть и найдет там TFTP-сервер. Надо ли говорить, что ничего подобного не случилось. Включившись, сервер некоторое время показывал мне вот такую надпись:

    после чего добавил:

    На этом загрузка по сети закончилась.

    Ну, логично, подумал я. В настройках Tftp32 есть вкладка DHCP, и там есть поле Boot File — куда, очевидно, надо вписать pxelinux.0 (это имя загрузчика, я узнал об этом из мануала по установке Debian). Но вот что меня смущало: то, что это поле находится во вкладке DHCP означает, что Tftpd32 должен выступать еще и в роли DHCP-сервера? Так у меня уже есть один, на роутере, зачем мне еще один?

    Но поскольку поле Boot File попросту не прописывалось без прочих настроек, очевидно было, что Tftpd32 все-таки придется сделать DHCP-сервером. Получается, «кто девушку ужинает, тот ее и танцует» — т.е. кто айпишник выдал, тот и инструкции по загрузке выдает, иначе никак.

    Мне очень не хотелось отключать DHCP на роутере, поэтому я попробовал прямо так — а вдруг не подерутся? Но они, естественно, подрались. Ладно, выставил на всех компах статические адреса, отключил DHCP на роутере, попробовал заново. Включаю опять сервер — кажется, дело сдвинулось с мертвой точки. Tftp32 даже написал, что у него запросили файлик pxelinux.0, и показал прогресс-бар загрузки. который замер на нуле и больше не двигался.

    Еще поползал по Интернету, покурил различные мануалы. Осознал, что старт происходит не просто по протоколу TFTP, а по некоей его модификации под названием PXE. Нашел в настройках Tftpd32 неприметную галочку PXE Compatibility. Поставил. Еще раз стартовал сервер. Опять ничего не грузится: No boot filename received.

    Оказывается, Tftpd32 после каждого изменения настроек сбрасывает рабочий каталог на каталог по умолчанию (тот, куда он сам установился). Я выругался, вернул каталог на место и снова стартовал сервер. Помогло. Пискнув, сервер гордо отобразил экран инсталлятора Debian Linux.

    Облегченно вздохнув и мысленно возликовав, я начал установку. Все вроде бы шло как по маслу, но когда мне предложили выбрать адрес зеркала, с которого будет вестись установка, я столкнулся с очередной проблемой. Какое бы зеркало я ни выбрал, я получал одну и ту же ошибку:

    Squeeze — это кодовое название версии Debian 6.0 — самой актуальной на данный момент. Ну не может такого быть, чтобы она нигде не поддерживалась! Более того, слазив по адресу ftp://ftp.us.debian.org/debian/dists/squeeze, я убедился, что этот каталог вполне себе существует и доступен. Явно это у меня где-то очередной косяк.

    Самое странное, что в Интернете я не нашел четкого описания причин этой проблемы, но, чуть-чуть подумав, допер сам. Ошибка возникает при попытке инсталлятора исполнить команду wget -q http://ftp.uk.debian.org/debian//dists/squeeze/Release -O — | grep -E ‘^(Suite|Codename):’. Причина ошибки не анализируется, поэтому отсутствие конкретного файла и недоступность всего зеркала целиком трактуются одинаково — т.е. даже если зеркало недоступно целиком, пользователь получит вводящее в заблуждение сообщение, мол, «на данном зеркале твоя версия не поддерживается».

    А причиной недоступности, очевидно, было то, что я в настройках DHCP в Tftpd32 забыл указать адрес DNS-сервера — поэтому загрузчик не мог разрешить ни одного доменного имени, и, как следствие, не мог достучаться ни до одного зеркала. После того, как я эту проблему исправил, инсталляция прошла успешно.

    Источник

    Читайте также:  Mac os xcode command line
Оцените статью