Наши партнеры

UnixForum





Библиотека сайта rus-linux.net

Netboot CD - установка нескольких дистрибутивов Linux с одного диска

Оригинал: One CD disk, multiple Linux distributions: Netboot CD
Автор: Rares Aioanei
Дата публикации: 4 октября 2011 года
Перевод: А. Кривошей
Дата перевода: декабрь 2011 г.

1. Введение

Каждый пользователь Linux со временем начинает подбирать для себя набор программных инструментов, который хочется всегда иметь под рукой. Однако возникающие задачи могут быть самыми разнообразными. Вам может понадобиться установить дистрибутив, или просто загрузиться с live cd, чтобы выполнить работы, связанные с безопасностью системы или резервным копированием данных. И поэтому вышеупомянутый набор, как правило, постоянно разрастается, что негативно сказывается на удобстве работы с ним. Предметом сегодняшней статьи является NetbootCD. Это не просто дополнение к окружению Linux, он специально создан для помощи в установке разнообразных дистрибутивов Linux с использованием одного мультизагрузочного диска, избавляя вас от необходимости держать при себе семь инсталляционных CD.
С этой точки зрения NetbootCD представляет собой CD-диск, который позволяет производить сетевую установку различных дистрибутивов, предлагая простое меню для выбора типа, версии дистрибутива и других опций. Таким образом, для работы с NetbootCD необходимо стабильное соединение с интернетом. Вам необходимо знать только, как устанавливать дистрибутив, который вы выбрали. Мы покажем, как использовать NetbootCD и как модифицировать его, чтобы добавить в список другие дистрибутивы, для чего необходимо иметь базовые навыки в написании скриптов.

2. Получение NetbootCD

NetbootCD создан на базе Tiny Core Linux, поэтому имеет небольшой размер. Необходимо скачать образы дисков отсюда и прожечь на CD. Имеются также образы для дискет, но в наше время этот вариант, я думаю, рассматривать не стоит. Для работы с NetbootCD рекомендуется компьютер с объемом оперативной памяти не менее 512 Мб, а для Fedora и больше, так как образы ядра и initrd выбранных для установкм дистрибутивов должны быть загружены в оперативную память. Теперь посмотрим, что же мы можем сделать с NetbootCD.

3. Использование NetbootCD

Как можно видеть на сайте проекта, вы можете использовать NetbootCD для установки Ubuntu, Debian (stable, testing и unstable), Fedora, OpenSUSE, Mandriva, Scientific Linux, CentOS и Slackware. Ниже мы скажем несколько слов о каждом из вышеперечисленных дистрибутивов и, кроме того, расскажем как добавить свой любимый дистрибутив в список установки.
После загрузки с NetbootCD вы попадаете в простое меню, позволяющее выбрать загрузку с HDD или CD.

Загрузочное меню NetbootCD

В следующем меню (главном) можно выбрать дистрибутив для сетевой установки или сначала сделать некоторые настройки. Мы полагаем, что сначала необходимо выбрать опцию [d]ownload, чтобы скачать последнюю версию инсталляционного скрипта. После выбора дистрибутива просто нажмите [i]nstall. В противном случае выберите [q]uit, чтобы перейти к редактированию инсталляционного скрипта, но мы пока этого делать не будем.

Главное меню NetbootCD

Если NetbootCD не обнаружит активного сетевого соединения (беспроводные сети "из коробки" пока не поддерживаются), например DHCP, то перейдет к командной строке, чтобы вы могли попытаться настроить статическое соедиение с помощью /sbin/ifconfig. После этого запустите:

$ sudo /usr/bin/nbscript.sh 

чтобы перейти в главное меню, как показано на скриншоте выше. Меню [u]tils содержит grub4dos, поэтому при необходимости вы можете исправить ошибки загрузчика, а также нормальную и облегченную версии TinyCore Linux. Если у вас есть свой конфигурационный файл .cfg для syslinux (загрузчик, используемый NetbootCD), который вы хотите использовать, вам поможет опция [s]cript. При выборе опции [q]uit компьютер не перезагрузится, вас просто выбросит в терминал. В любом случае, если вы хотите просто установить дистрибутив, выбирайте [i]nstall.
В нашем примере мы устанавливали Ubuntu, однако мы кратко пройдемся и по особенностям установки других дистрибутивов.

3.1. Debian

При установке Debian (32 или 64-битной версии или ежедневных сборок, которые поддерживает Joey Hess) вам предложат выбрать версию, которую вы хотите установить, или вручную ввести адрес инсталлятора. Мы выбрали Debian 32 unstable и никаких проблем при установке не было.

3.2. Fedora

Здесь мы можем установить Fedora 13, 14 или 15, но мы не смогли обнаружить опцию для установки 64-битных версий дистрибутива. Однако, когда вас попросят подтвердить адрес, где NetbootCD будет искать инсталлятор, вы можете просто заменить "i386" на "x86_64". Если вы выберете Fedora 15, у вас должно быть не менее 786 Мб RAM, которые затребует инсталлятор. Впрочем, можно отредактировать anaconda, который представляет собой просто скрипт, написанный на Python. Ищите функцию check_memory. Однако, если у вас меньше 512 Мб оперативной памяти, приготовьтесь к очень долгой установке и ошибкам типа 00М.

3.3. OpenSUSE

Здесь также имеется проблема с наличием только 32-битной версии, и решение такое же: просто отредактируйте скрипт. Вам встретится окно с интерфейсом командной строки, которое запросит CD1 из инсталляционного набора: выберите Back и опцию HTTP-инсталляции, настройте свою сеть и введите IP для HTTP-сервера (мы использовали 195.135.221.134 - download.opensuse.org), путь (/distribution/11.4/repo/oss) и все заработает (замените 11.4 на версию, которая вам нужна). Мы тестировали этот способ на виртуальной машине KVM с 512 Мб RAM и имели дело с интерфейсом командной строки и на OpenSUSE, и на Fedora. Если у вас больше памяти, вероятно вы увидите более приятный графический интерфейс.

Установка OpenSUSE в консольном режиме

3.4. Mandriva

И снова только 32-битная версия, но никаких проблем при инсталляции. Процесс установки похож на OpenSUSE, но вы уже будете иметь готовый список доступных HTTP-серверов и несколько значений уже будут заполнены, как и пути к директориям на серверах. Одно очко в пользу Mandriva.

3.5. Scientific Linux и CentOS

Мы рассматриваем эти дистрибутивы вместе, так как они оба являются клонами RHEL и различия между ними минимальны. Как и в Fedora, вы можете выбрать местоположение инсталлятора, но в данном случае присутствуют как 32-битные версии, так и 64-битные. Вы также можете выбрать производные от RHEL 5 или RHEL 6. Мы пробовали 64-битную версию и все работало прекрасно, но так как у нас в виртуальной машине было только 512 Мб, установка производилась в текстовом режиме.

3.6. Slackware

На сайте NetbootCD говорится, что Slackware не может быть установлен с HTTP-сервера, и такое же предупреждение появляется при выборе Slackware в меню. Тем не менее, это всего лишь предупреждение, и вы можете выбрать три последних доступных релиза Slackware, но без выбора архитектуры. Вы можете выбрать ядро, которое хотите загрузить, и войти в систему как root (без пароля), чтобы начать создание своего диска. После того, как вы введете "setup", убедитесь, что у вас есть иерархическое дерево установки Slackware на диске Samba/NFS/local.

3.7. Ubuntu

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

Выбор версии Ubuntu

Мы остановились на 32-битной версии Natty и установили ее безо всяких проблем. А теперь посмотрим, как модифицировать скрипт для своих нужд.

4. Хакинг nbscript.sh

Не пугайтесь, это всего лишь сценарий для командной оболочки с готовыми примерами, а наградой будет система, которую вы хотите установить и удовольствие от решенной задачи. Вам необходимо будет использовать sudo на live CD, тем более, что пароль для этого вводить не нужно. Для записи в /usr/bin нужны расширенные права, поэтому без этого не обойтись. Встроенным редактором является vi, поэтому введите следующую команду:

$ sudo vi /usr/bin/nbscript.sh 

и посмотрите содержимое скрипта. Предположим, что мы хотим установить Mageia - переходим к функции installmenu() и создаем запись для Mageia:

mageia "Mageia" \ 

Ниже вы увидите большое количество блоков of if для каждой записи. Нам нужно добавить только один, используя copy/paste, чтобы сэкономить время (мы взяли Fedora в качестве образца). Мы использовали более простую запись, поскольку Mageia - это простой дистрибутив и у него немного релизов (на самом деле только один).

if [ $DISTRO = "mageia" ];then
        dialog --backtitle "$TITLE --menu "Choose a system to install:" 20 70 13 \
        1 "Mageia 1" \
# На скриншоте показана простая запись для установки 
# 64-битной версии Mageia. Запись очень упрощенная для иллюстрации, на базе записи для Fedora,
# так как Mageia имеет всего один релиз. Вы можете модифицировать ее по своему вкусу.

Редактирование скрипта

5. Заключение

Мы нашли, что NetbootCD - это очень хорошо настраиваемый и практичный CD, имеющий много областей применения и, как вы могли видеть, требующий минимального знания скриптов. Мы смогли расширить список доступных дистрибутивов без особого труда. Надеемся, что вы найдете полезную для себя информацию в этой статье.