Различия между версиями 16 и 17
Версия 16 от 2008-10-25 10:19:48
Размер: 9211
Редактор: MaximByshevskiKonopko
Комментарий:
Версия 17 от 2008-10-25 10:21:59
Размер: 9423
Редактор: MaximByshevskiKonopko
Комментарий:
Удаления помечены так. Добавления помечены так.
Строка 24: Строка 24:
Самое интересное всмысле модификации установки находится в двух местах --- каталоге Metadata и файле altinst. В первом могут находиться конфигурационные файлы Alterator для автоматической установки (тот самый autoinstall.scm и произвольные другие файлы, которые могут потребоваться установщику, среди них --- описание разбивки диска при установке), а второй --- это образ файловой системы squashfs, который являет собой полную систему, из котороый, собственно, и исполняется Alterator, производящий установку. Самое интересное всмысле модификации установки находится в двух местах --- каталоге Metadata и файле altinst. В первом могут находиться конфигурационные файлы Alterator для автоматической установки (тот самый autoinstall.scm и произвольные другие файлы, которые могут потребоваться установщику (в частности, именно в этом каталоге должны находиться файлы, которые могут потребоваться модифицирующим скриптам), среди них --- описание разбивки диска при установке), а второй --- это образ файловой системы squashfs, который являет собой полную систему, из котороый, собственно, и исполняется Alterator, производящий установку.

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

Вступление

При установке любого дистрибутива ALT Linux (в том числе и входящего в ПСПО), чуть менее чем все шаги установки (кроме разметки диска) после успешного её завершения будут записаны в файл /root/autoinstall.scm, который с незначительными модификациями (добавлением инструкций разметки диска) можно использовать для автоматической установки этого дистрибутива с этими настройками. Но зачастую выбор настроек, предлагаемых языком autoinstall.scm, недостаточен, и необходимо вставить в процесс установки что-то своё, родное. Для этого есть как минимум два пути:

  • Первый --- формировать собственный дистрибутив, нужные изменения будут встроены в который сразу. В принципе, это задача несложная, потому что такой опыт у компании ALTLinux есть. В принципе, для специалиста это несложно. Но пересборка образов дистрибутива занимает довольно много времени --- а если хочется поэкспериментировать с разными настройками?
  • Второй вариант --- каким-либо образом модифицировать имеющиеся установочные файлы, которые хранятся внутри инсталляционного образа. Задача немного более хитрая и трудоёмкая, но решаемая --- с оговоркой, что установка модифицированного дистрибутива будет происходить только по сети (а сетевая установка при помощи загрузки по PXE и propagator --- довольно простая задача).

Собственно говоря, минимальной необходимостью для сетевой установки являются две машины, соединённые в сеть, причём: одна из них умеет загружаться по PXE, а на другой настроены некоторые службы и лежат некоторые файлы. Некоторыми службами являются демоны nfsd, tftpd, dhcpd, xinetd и rsync, а файлами --- развёрнутый установочный образ дистрибутива с теми самыми некоторыми модификациями.

Подробнее о процессе

Рассмотрим, как будет происходить процесс загрузки клиентской машины, подробнее. Первое --- при включении она получает от DHCP-сервера (предоставляемого dhcpd) специальный пакет с указанием её адреса и адресом к образу загрузчика pxelinux.0. Далее, этот самый pxelinux.0 скачивается по TFTP (его отдаёт, как нетрудно догадаться, tftpd), и сразу же начинает исполняться, а именно: загружает ядро, и монтирует по NFS необходимый для установки каталог (соответственно, раздаваемый unfsd). После чего запускается Alterator, в зависимости от настроек PXE, в ручном или автоматическом режиме, и начинает установку.

Маленькие модификации

Немного о том, как устроен установочный диск дистрибутива ALTLinux. К примеру, посмотрим в корень установочного DVD с ПСПО Линукс Мастер:

altinst  ALTLinux  Documentation  isolinux  license.ru.txt  license.txt  Metadata  rescue  RPM-GPG-KEY

Самое интересное всмысле модификации установки находится в двух местах --- каталоге Metadata и файле altinst. В первом могут находиться конфигурационные файлы Alterator для автоматической установки (тот самый autoinstall.scm и произвольные другие файлы, которые могут потребоваться установщику (в частности, именно в этом каталоге должны находиться файлы, которые могут потребоваться модифицирующим скриптам), среди них --- описание разбивки диска при установке), а второй --- это образ файловой системы squashfs, который являет собой полную систему, из котороый, собственно, и исполняется Alterator, производящий установку.

У любопытного читателя, наверное, возник вопрос --- нельзя ли дописать желаемые модификации в исполняемый установщиком autoinstall.scm? Ответ на этот вопрос скорее отрицателен, ибо в autoinstall.scm записываются только те действия, которые может выполнять установщик, как-то: разбивка диска, настройка и установка загрузчика, установка групп пакетов. Вставить собственный код непосредственно в этот файл, к сожалению, невозможно.

Но в процессе своей работы --- вернее даже, перед её завершением --- установщик выполняет скрипты, которые находятся в /usr/share/alterator/postinstall.d/, просто в порядке их нахождения в этом каталоге.

Казалось бы, проблема решена. Но этот каталог располагается внутри образа squashfs, из которого разворачивается минимальная система для исполнения Alterator, а пересборка оного образа не сильно лучше пересборки всего дистрибутива. Но и тут есть обходная хитрость --- распаковать образ в одноимённый каталог в том же месте в дереве. Тогда установка будет происходить с использованием этого каталога вместо образа. А в этот-то каталог (вернее, в его подкаталог usr/share/alterator/postinstall.d/) и будут внедрены всякие модификации.

В применённом на практике решении туда было внедрено два дополнительных скрипта. Один из них устанавливал дополнительную программу, обеспечивающую синхронизацию файлов на машинах с сервером, другой менял некоторые параметры системы, связанные с монтированием NFS.


Сведения о ресурсах

Готовность (%)

Продолжительность (ак. ч.)

Подготовка (календ. ч.)

Полный текст (раб. д.)

Предварительные знания

Level

Maintainer

Start date

End date

18

1

1

1

1

MaximByshevskiKonopko, DmitryChistikov, VsevolodKrishchenko


CategoryLectures CategoryPspo CategoryMpgu CategoryUneex

PspoClasses/080722/04NetInstallHacking (последним исправлял пользователь eSyr 2008-12-17 11:41:16)