[Sarlug] Линуксовка

Evgeny Sinelnikov sin на info.sgu.ru
Сб Окт 13 01:51:01 MSD 2007


Привет. Я принесу :)

Кстати, совсем недавно я некоторое время посвятил исследованию установки ALT
Linux Desktop 4.0 по сети и его клонированию...
Получилось довольно интересно.... Целей было несколько, причём не все ещё
завершены...
Прежде, чем описать рассмотренные мною варианты перечислю уже, существующие
описания на смежные темы:
 -
http://www.freesource.info/wiki/AltLinux/Sisyphus/devel/installer/components-
подборка материалов по структуре инсталятора
 - http://www.freesource.info/wiki/Stat'i/SozdanieTonkixKlientov - сетевая
загрузка тонкого клиента - задача отличается от сетевой установки лишь тем,
что вместо исталятора сразу загружается уже созданный образ системы...
 - http://www.freesource.info/wiki/AltLinux/Dokumentacija/SystemImager -
подборка материалов по свободным средствам клонирования системы
Далее опишу по порядку:
1) Стандартная установка по сети:
Суть задачи в следующем - нужно, взяв устновочный диск с ALT Linux, суметь
установить его по сети, без дополнительной сборки отдельный деталей, что
называется средствами администратора...
Что для этого нужно иметь кроме установочного диска?
1. Сервер (или несколько серверов, что не возбранятся, но обычно несколько
усложняет процесс), с установленными службами DHCP (для загрузки по сети и
автоматического получения сетевых настроек), DNS (ну, понятно для чего -
чтобы имена не ip-шниками вбивать), TFTP (для получения файлов ядра и
инициального образа (initrd или initramfs) загрузчиком, обычно это PXE, на
первых этапах загрузки системы), и одного из вариантов сетевого файлового
хранилища nfs, ftp или http... я использовал два варианта nfs (его по
умолчанию используют при описании такого рода решений в ALT Linux, но у него
есть один недостаток - довольно не удобная настройка в случае использования
firewall'а на сервере) и http (в этом случае тоже есть один недостаток -
необходимость копирования всего образа второй стадии (около 55 Мб), в память
установке)
2. Смонтировать образ диска или скопировать сам диск в каталог розданный по
сети
3. Скопировать загрузочные файлы из катлога isolinux/alt0, находящихся в
образе в каталог доступный по tftp, например в alt4
4. Установить pxelinux в этот же каталог и прописать в файле его настройки
(не забудтьте изменить имя хоста и путь к смонитрованному образу системы):
label alt
        kernel alt/vmlinuz
        append initrd=alt/full.cz live fastboot
automatic=method:nfs,network:dhcp,server:192.168.0.1,directory:/var/ftp/ALTLinux/Desktop
stagename=altinst

label alt-http
        kernel alt4/vmlinuz
        append initrd=alt4/full.cz live fastboot
automatic=method:http,network:dhcp,server:192.168.0.1,directory:/Desktop
stagename=altinst ramdisk_size=58000

Первая для установки по nfs, вторая - соотвественно, по http.....

Получилось довольно громоздко, в плане особенностей настройки крайне не
полно, но, к сожалению, на данном этапе, универсальных скриптов
автоматизации процесса разворачивания такой установки нет... К счаcтью же
администраторов, всё выше описанное стандартно, и, в данном варианте,
довольно схоже с уже существующими вариантами настройки сетевой установки в
других дистрибутивах, например в Fedora, для которой единственными отличиями
будут имена файлов и строка в конфиге pxelinux.

2) Установка ALT Linux по сети в автоматическом режиме.
Новый инсталятор ALТ Linux Desktop имеет ряд недокументированных
возможностей, позволяющих устанавливать его в автоматическом режиме... Так
будто все ответы на вопросы сразу получат нужные ответы, при этом не
загружается графическая оболочка, что уменьшает время установки...
Что для этого требуется выполнить?
1. настроить сетевую установку
2. добавить в каталог Metadata файл autoinstall.scm
3. добавить к списку параметров загручика в файле настройки pxe параметр
"ai" - в итоге получится примерон так:

label ai
        kernel alt4/vmlinuz
        append initrd=alt4/full.cz ai live fastboot
automatic=method:nfs,network:dhcp,server:192.168.0.1,directory:/var/ftp/ALTLinux/Desktop
stagename=altinst

Самый первый вопрос, который возникает при этой настрйке: а где взять
autoinstall.scm. Как оказалось он создаётся автоматически при установке
системы вручную и складывается в каталог /root, на случай необходимости
повторения уже проделанных шагов в следующих инсталяциях... Но тут есть одна
проблема... файл создаётся не полностью... в нём не хватает кусочка
автоматической разбивки винта... Но если её добавить с нужным профилем (в
стандартной установке их два "worstation" и "server" - первый делает
дополнительный раздел /home, а второй - /var) - всё заработает. У меня
получился вот такой вариант autoinstall.scm:
;; basic installation
(("language") language ("ru_RU") action "write" lang "ru_RU")
(("syskbd" "ctrl_shift_toggle") language ("ru_RU") action "write")
(("timezone") action "write" zone "Europe/Moscow" utc #f installer #t)
(("datetime") action "write" use_ntp #f has_ntp #f)
(("evms" "control") language ("ru_RU") action "write" control open installer
#t)
(("evms" "control") language ("ru_RU") action "write" control update)
(("evms" "profiles" "workstation") language ("ru_RU") action apply commit #t
clearall #t exclude ())
(("evms" "control") language ("ru_RU") action "write" control commit)
(("evms" "control") language ("ru_RU") action "write" control close)
(("basesystem") language ("ru_RU") action "write")
(("deadline") language ("ru_RU") action "write")
(("lilo") language ("ru_RU") action "write" target "boot" devname "hda")
(("lilo") language ("ru_RU") action "commit")
;; users
(("users" "root") language ("ru_RU") action "write" passwd1 "123" passwd2
"123")
(("users") language ("ru_RU") action "new" name "test" passwd1 "123" passwd2
"123")
(("apt-get") language ("ru_RU") action "write" job "update" packages "  ")
(("apt-get") language ("ru_RU") action "write" packages
"installer-group-desktop-office installer-group-desktop-multimedia
installer-group-desktop-graphi
cs installer-group-desktop-games installer-group-desktop-emulators
installer-group-desktop-edu installer-group-desktop-docs" job "install")
;; network
(("net-eth" "eth0") action "write" language ("ru_RU") dhcp #t restart #f)
(("net-general") language ("ru_RU") action "write" hostname_auto #f hostname
"alt" dns_auto #t restart #f)
;; X Server
(("x11") language ("ru_RU") action "write" commit #t monitor "Samsung
SyncMaster 757DF(X)/707DF(X)/700IFT/CD177A(P)" xdepth "24" xresolution
"640x480,720
│576,800x600,832x624,848x480,960x720,1024x600,1024x736,1024x768,1120x840,1152x864,1152x870,1280x720,1280x768,1280x800,1280x854,1280x960"
onboot #t)

Но это только шаблон, при его использовании стоит помнить, что этот файл
должен быть поправлен с учётом специфики вашей конфигурации... Например для
lilo нужно указать нужное устройство, хотя обычно это либо hda, либо sda..
Тоже самое с настройкой иксов, которую вообще можно пропустить...

В аттаче, если он пролезет в рассылку, привожу примеры конфигов pxe и
autoinstall.scm - всё остальное обычно проблем не вызывает...
________________________________________________

В заключении хочу отметить, что текущий релиз имеет ряд недостатков (на мой
взгляд незначительных, но для не искушённого пользователя ужасных)
перечисленных здесь:
http://www.freesource.info/wiki/AltLinux/Releases/PretenziiDesktop4 -
проверил на своих знакомых - все претензии выплыли на 100%, видимо они
инварианты...

-- 
Sin (Sinelnikov Evgeny)
----------- следующая часть -----------
Вложение в формате HTML было удалено...
URL: http://lists.lug.ru/pipermail/sarlug/attachments/20071013/5fa1c41a/attachment-0001.html 
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : default
Тип     : application/octet-stream
Размер  : 606 байтов
Описание: отсутствует
Url     : http://lists.lug.ru/pipermail/sarlug/attachments/20071013/5fa1c41a/attachment-0001.obj 
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : autoinstall.scm
Тип     : text/x-scheme
Размер  : 1930 байтов
Описание: отсутствует
Url     : http://lists.lug.ru/pipermail/sarlug/attachments/20071013/5fa1c41a/attachment-0001.bin 


Подробная информация о списке рассылки Sarlug