Дистрибутив

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 13:40, 5 мая 2017.

Дистрибути́в (англ. distribute — распространять) — это форма распространения программного обеспечения.

Дистрибутив обычно содержит программы для начальной инициализации системы. Случай дистрибутива операционной системы — инициализация аппаратной части, загрузка урезанной версии системы и запуск программы-установщика, программу-установщик (для выбора режимов и параметров установки) и набор специальных файлов, содержащих отдельные части системы (так называемые пакеты).

Наличие дистрибутивов — это следствие того, что форма программного обеспечения, используемая для его распространения, почти никогда не совпадает с формой программного обеспечения на работающей системе.

Дистрибутив ПО — это комплект (как правило, набор файлов), приспособленный для распространения ПО. Может включать вспомогательные инструменты для автоматической или автоматизированной начальной настройки ПО (установщик).

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

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

Установка включает в себя размещение всех необходимых программе файлов в соответствующих местах файловой системы. Многие программы (включая операционные системы) поставляются вместе с универсальным или специальным инсталлятором — программой, которая автоматизирует большую часть работы, необходимой для их установки.

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

Условно бесплатные программы предлагаются пользователям в целях их рекламы и продвижения на рынок. Пользователю предоставляется версия программы с ограниченным сроком действия (после истечения указанного срока программа перестает работать, если за неё не произведена оплата) или версия программы с ограниченными функциональными возможностями (в случае оплаты пользователю сообщается код, включающий все функции).

Как создать собственный дистрибутив на базе Debian Linux

Для начала нам надо установить эталонную систему. Берем с сайта debian.org дистрибутив. Например NetInstall. Скачиваем и устанавливаем на машину(или на виртуальную машину, кому как удобнее). Например я ставлю базовую систему, а затем все устанавливаю руками.

Итак. Система установлена. Устанавливаем требуемые пакеты.

apt-get install gnome gdm openoffice.org xfonts-base xorg xserver-xorg

После устанавливаем пакет «apt-move» открываем настройки /etc/apt-move.conf и указываем в пункте LOCALDIR путь до того места, где у нас будет храниться будущий дистрибутив. У меня путь был указан в /home/debian. Сохраняем конфиг и выполняем команду apt-move update

По указанному выше пути(/home/debian/distrib) появился каталог pool. В нем будут лежать пакеты, которые в итоге окажутся на диске.

Монтируем CD(в нем ведь все еще есть диск Debian NETINSTALL) и копируем все, что на нем есть в каталог /home/debian/distrib. Скачиваем с серверов debian.org файлы override.<дистрибутив>. Например, с ftp.fr.debian.org/debian/indices. Версия текущего дистрибутива etch, поэтому и скачиваем файлы, с названиями override.etch.* Разархивируем gunzip'ом и кладем например в /home/debian/indices В каталоге /home/debian создаем файл с именем apt.conf и заполняем его текстом по примеру с wiki.debian.org/DebianCustomCD/PoolAptConf. В этом-же каталоге создаем файл с названием дистрибутива (например mycd.conf) и заполнем его по примеру с wiki.debian.org/DebianCustomCD/PoolPackagesGzConf Запускаем apt-ftparchive -c apt.conf generate mycd.conf Ну а теперь самое главное. в каталоге /home/debian/distrib/install.i386 создаем файл preseed.conf В него вписываем инструкции для инсталлятора Debian.

Пример заполнения файла preseed.conf

#заставляем инсталлер автоматически выбирать интерфейс
d-i netcfg/choose_interface select auto

#или выбираем конкретный
d-i netcfg/choose_interface select eth1

# устанавливаем таймаут для DHCP(в данном случае, если у вас DHCP сервер медленный)
d-i netcfg/dhcp_timeout string 100

#если по DHCP ничего не получили, выводим опцию с возможностью указать настройки сети руками
d-i netcfg/dhcp_failed note
d-i netcfg/dhcp_options select Configure network manually

#название хостнейма данной машины и домена
d-i netcfg/get_hostname string office
d-i netcfg/get_domain string local

# Установка часов
d-i clock-setup/utc boolean true
d-i time/zone string Europe/Moscow

#Устанавливаем базовую систему
tasksel tasksel/first multiselect standard

#возможны разные варианты :)
tasksel tasksel/first multiselect standard, web-server
tasksel tasksel/first multiselect standard, kde-desktop

# Ну и индивидуальныем пакеты
d-i pkgsel/include string ssh xorg xserver-xorg gdm gnome openoffice.org xfonts-base xfonts-100dpi xfonts-75dpi xfonts-encodings xfonts-scalable xfonts-utils

# Показываем сообщение о предстоящем ребуте
d-i finish-install/reboot_in_progress note

Сохраняем этот файл и открываем для редактирования isolinux/isolinux.cfg в нем дописываем

LABEL installseed
kernel /install.386/vmlinuz
append vga=normal file=/cdrom/install.386/preseed.cfg initrd=/install.386/initrd.gz --

выходим в директорию /home/debian/distrib выполняем команду

find . -type f -print0 | xargs --null md5sum > md5sum.txt

и собственно начинаем процесс создания ISO образа:

genisoimage -r -V "Debian 4.0 r4a i386 custom" -o /home/debian/debiancustom_40.iso -J -cache-inodes -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table /home/debian/distrib

После того, как программа закончит работу, в /home/debian/ можно будет найти .iso файл с нашим кастомным дистрибутивом. Теперь его или пишем на болванку или ставим на виртуальную машину.

Характеристики дистрибутивов

Характеристики дистрибутивов:

политика дистрибутива 
документ регламентирующий кем и как разрабатывается дистрибутив, на каких основаниях в него включается программное обеспечение, какие требования (по размещению в файловой системе, взаимодействию с другими компонентами дистрибутива и т. п.) предъявляются к пакетам
программа-загрузчик 
инициализация аппаратной части, загрузка (обычно) урезанной версии системы, инициализация носителей
программа установки 
выбор параметров установки и пакетов для установки
программа начальной конфигурации 
начальное конфигурирование системы
программа управления пакетами 
установка пакетов на работающую систему, обновление пакетов и т. д.
наборы пакетов 
наличие программ, необходимых пользователю, специализированность дистрибутива (общего назначения, для восстановления после сбоев, «живые», микро и т. д., а также ориентированность на решение конкретных задач — кластерные дистрибутивы, дистрибутивы для специфических областей науки и т. д.)
разработчик 
технические, административные, финансовые и другие решения, положенные в основу дистрибутива, наличие поддержки пользователей
сообщество 
компетентность пользователей, взаимопомощь, обмен опытом среди пользователей
прочие характеристики 
простота установки и безопасность, лёгкость настройки, длина жизни, стабильность развития дистрибутива, платность дистрибутива и т. д.

Примеры наиболее известных дистрибутивов Unix-подобных и Unix-систем

Дистрибутивы Linux

Среди наиболее известных Linux дистрибутивов и их семейств можно упомянуть (в порядке их появления):

дистрибутив время появления источник
Slackware июль 1993 Slackware
SUSE март 1994 SuSE
Red Hat ноябрь 1994 Red Hat
Debian GNU/Linux октябрь 1995 Debian
Mandrake Linux/Mandriva Linux июль 1998 Mandriva/Mandrakesoft
Arch Linux март 2002 Arch Linux
Gentoo Linux март 2002 Gentoo Linux
Knoppix январь 2003 Knoppix
Fedora ноябрь 2003 Red Hat
Ubuntu апрель 2004 Debian
Linux Mint август 2006 Ubuntu

Системы *BSD

BSD — это акроним от Berkley Software Distribution.

система время появления источник
FreeBSD декабрь 1993 FreeBSD
NetBSD март 1993 NetBSD
OpenBSD декабрь 1994 OpenBSD

Дистрибутивы OpenSolaris

система время появления источник
BeleniX 2005 OpenSolaris
Nexenta 2005 OpenSolaris
OpenSolaris май 2008 Solaris

Ссылки