ГНУ/Линуксцентр - ваш поставщик свободного ПО и технической поддержки. Санкт-Петербург: +7 (812) 309-06-86, Москва: +7 (499) 271-49-54
Состояние склада: Санкт-Петербург - Москва
Для создания установочного диска OpenBSD, настроенного "под себя", как описывается в документации,
нам необходимо создать пакет site*.tgz (где * - версия ОС), также Вы
можете использовать скрипты install.site/upgrade.site.
siteXX.tgz также, как и другие установочные пакеты (base38.tgz,
comp38.tgz и др.) представляет собой сжатый gzip tar-архив (при
распаковке исполняется tar -xzpf). Пакет позволяет пользователю
добавлять или заменять файлы, установленные в стандартных пакетах и
таким образом создать свой инсталляционный (или upgrade) диск.
siteXX.tgz может использоваться, например, для:
изменения (замены) в установленную OpenBSD. Если Вы хотите
произвести изменения в системе, Вы просто выбираете siteXX.tgz при
повторном запуске инсталляции, и все ваши изменения скопируются в новую
систему.
Создать ряд каталогов, содержащихся в siteXX.tgz файл, с
необходимыми файлами.
При установке произвести копирование файлов с Вашими настройками,
которые Вы обычно указываете после установки, например
/pf.conf, /var/www/conf/httpd.conf, /etc/rc.conf.local, и т.д.
На последнем этапе установки системы запускаются сценарии install.site/upgrade.site.
Обратите внимание, скрипты запускаются из загруженной файловой системы,
а установливаемая система примонтирована к /mnt. Скрипты при установке
исполняются в однопользовательском режиме в chroot. Это следует учесть
при написании скриптов - скрипт должен быть написан для исполнения в
"обычном" корне системы. Скрипт install.site должен быть помещен в
siteXX.tgz файле, а upgrade.site может быть размещен в корневом каталоге
перед обновлением либо в siteXX.tgz.
Скрипты могут использоваться, например, для:
Удаления файлов, которые установлены, но Вам не нужны.
Удалить/изменить/установить пакеты.
Сделать бэкап-архив системы перед включением ПК в сеть.
Использовать rdate ,чтобы установить системное время.
Комбинация siteXX.tgz и install.site/upgrade.site позволяет пользователю
создать свой собственный дистрибутив, разворачивающий рабочий сервер или
рабочую станцию за минимальное время и требующий минимальных настроек.
В данном случае мы рассмотрим в качестве примера процесс создания
собственного русифицированного дистрибутива OpenBSD 3.8.
Для создания собственного дистрибутива:
1) Создаем файл site38.tgz, в данном случае с необходимыми для
русификации изменениями:
Устанавливаем OpenBSD. Архивируем каталоги, в которых предполагаются
измения. Например, /etc, /usr, /var . Вносим необходимые изменения в
систему, настраиваем. С помощью diff смотрим, какие изменения произошли.
Переносим измененные файлы в рабочий каталог с сохранением исходного
дерева.
Создаем site38.tgz. При установке системы siteXX.tgz устанавливается
после установки всех пакетов. Если указанные файлы отсутствуют, то они
копируются. Присутствующие файлы заменяются на имеющиеся в siteXX.tgz .
Для примера я провел русификацию системы. Изменения произошли только в
/etc/rc.local, /etc/skel/.inputrc и /etc/skel/.login.
Наш файл site38.tgz с русификацией готов. Пример готового файла можно
взять http://unixman.ru/site38.tgz. Русификация будет работать при
выборе в качестве шелла csh или после установки bash и применения в
качестве оболочки. Русифицированы будут консоли кроме 0-й - она
системная и не русифицируется.
В принципе, возможно подготовить siteXX.tgz таким образом, что он будет
содержать все необходимое для инсталяции рабочей системы и при установке
системы выбирать только ядро и этот пакет, отказавшись при установке от
инсталляции всех остальных. Пример создания минисистемы для роутера с
флеш-диском можно посмотреть на
http://www.blackant.net/other/docs/unpuffed/. Флеш-диск можно
изготовить согласно инструкции на
http://www.openhardware.ru/modules/arms/view.php?w=art&idx=30&page=1 или
заказать готовую платформу для роутера/файервола на http://www.kd85.com/
, которая будет весьма хорошей и экономичной альтернативой неразумно
дорогим продуктам от Cisco Systems.
2) Создаем следующую структуру каталогов:
for_iso
+-> 3.8
+-> i386
Командами:
# mkdir /tmp/for_iso; mkdir /tmp/for_iso/3.8; mkdir /tmp/for_iso/3.8/i386
# cd /tmp/for_iso
Выкачиваем с ftp-сервера необходимые файлы. Чтобы не перегружать
основной ftp-сервер OpenBSD в Калгари, нагрузка на который весьма
значительна, лучше воспользоваться одним из зеркал.
[последняя команда разбита на несколько строк по символам "\"]
Записываем
# cdrecord -v dev=/dev/rcd0c /tmp/OpenBSD38.iso
В процессе установки системы в списке пакетов для установки появится
site38.tgz , который надо будет пометить для установки.
PS. Все выше изложенное гораздо лучше делается :) при прослушивании
"гимна" OpenBSD 3.9
ftp://ftp.openbsd.org/pub/OpenBSD/songs/song39.mp3 , который как
всегда подготовила группа музыкантов из Калгари во главе с замечательным
дизайнером и музыкантом Ty Semaka. Tyron James Thomas Bowney Semaka
http://www.tysemaka.com/ также автор всего дизайна и музыки OpenBSD .