Как собрать свой дистрибутив Linux. Windows XP своими руками. Создание дистрибутива Windows для записи iso на флешку


Автор: Ben Everard
Дата публикации: 23 апреля 2015 года
Перевод: А. Кривошей
Дата перевода: июль 2015 г.

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

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

Быстрое создание своего собственного Ubuntu

Подходит также для mumbuntu и dadbuntu.

За долгие годы, прошедшие с момента выхода первого релиза Ubuntu, было придумано множество утилит, позволяющих создать собственную версию Ubuntu. Отчасти этим объясняется существование огромного количества его производных. Хотя большинство их быстро забрасывают, Ubuntu Customisation Kit (UCK) жив до сих пор.

Вы можете установить UCK в Ubuntu или любом другом дистрибутиве на его базе, например в Linux Mint. Утилита есть в официальных репозиториях, поэтому вы можете установить ее с помощью пакетного менеджера. Далее, вам понадобится ISO-образ того дистрибутива, который вы хотите изменить. Чтобы упростить этот процесс, желательно использовать образ дистрибутива, включающий графическую оболочку, которую вы собираетесь задействовать. Например, если вы хотите использовать в своем дистрибутиве локализированный декстоп Gnome, лучше использовать образ Ubuntu Gnome, а не стандартного Ubuntu. Если вы работаете на 32-битной машине, образ должен быть собран для архитектуры i386. Однако если у вас 64-битная система, вы можете настраивать 32-битный образ.

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

После выбора языка необходимо указать графическое окружение дистрибутива. UCK позже скачает для него файлы локализации, основываясь на вашем выборе языка. Затем необходимо будет указать местонахождение образа дистрибутива Ubuntu, который вы будете настраивать.

Затем UCK запросит у вас имя вашего дистрибутива и спросит, хотите ли вы вручную настроить свой дистрибутив. Если вы ответите положительно, откроется окно терминала, в котором корневая директория будет изменена на окружение сборки вашего дистрибутива. На последней стадии UCK предложит вам опцию удаления из вашего дистрибутива всех относящихся к Windows файлов, и создания гибридного ISO-образа диска, который можно прожечь на болванку, или скопировать на USB-флешку. После этого UCK распакует образ диска и скачает файлы локализации. Затем, вы сможете настроить дистрибутив вручную, если ранее выбрали эту опцию. Опция "Run Console Application" запустит окно терминала с оболочкой root.

Продвинутые настройки

В этом окне вы можете использовать менеджер пакетов apt-get для удаления и установки приложений. Например, вы можете установить поддержку мультимедиа с помощью apt-get install ubuntu-restricted-extras. Если ваш дистрибутив предназначен для использования на слабых машинах, вы можете удалить LibreOffice:

$ apt-get remove --purge libreoffice* /

и заменить его на AbiWord:

$ apt-get install abiword

Если вы хотите поместить на рабочий стол ярлыки для ваших программ, сначала создайте директорию Desktop:

$ mkdir -p /etc/skel/Desktop

Теперь вы можете скопировать туда ярлыки для всех установленных приложений:

$ cp /usr/share/applications/firefox.desktop /etc/skel/Desktop

и затем сделать их исполняемыми:

$ chmod +x firefox.desktop

Если вы хотите изменить обои для рабочего стола, откройте файл /usr/share/glib-2.0/schemas/10_ubuntu-settings.gschema.override в текстовом редакторе и измените параметр picture-uri на путь к вашему изображению:

Picture-uri="file:///usr/share/backgrounds/Partitura_by_Vincijun.jpg" /

Аналогично вы можете изменить тему и иконки, отредактировав соответствующие параметры в этом файле. Например, если вы хотите заменить тему Ambiance на Radiance и использовать набор иконок HighContrast:

Gtk-theme="Radiance"icone-theme="HighContrast"...theme="Ambiance"

После редактирования этого файла не забудьте скомпилировать модифицированные темы оформления:

$ glib-compile-schemas /usr/share/glib-2.0/schemas

Вы таже можете копировать файлы на свой live CD. Для этого запустите еще один терминал и перейдите в директорию ~/tmp/remaster-root/, которая является корневой для нашего live CD. Например, вы хотите скопировать определенные ярлыки и папки в Desktop:

$ sudo cp -r ~/Documents/README.txt ~/remaster-root/etc/skel/Desktop

После завершения закройте терминал chroot и выберите опцию "Continue Building" в мастере UCK. Теперь начнется сборка вашего нового дистрибутива.

Системы быстрой сборки дистрибутивов

Сборка дистрибутива в браузере с помощью SUSE Studio

SUSE Studio - это наверное самый простая система для создания собственного дистрибутива. Она графическая и работает в браузере. Вам нужен только веб-браузер и подключение к интернету. С помощью SUSE Studio вы можете создавать полнофункциональные десктопные дистрибутивы, серверные системы, или дистрибутивы, заточенные под какую-либо узкую область применения. В веб-интерфейсе вы можете добавлять пользователей, настраивать список приложений и даже настраивать внешний вид и добавлять файлы.

Можно также сэкономить себе время, установив утилиту Kickstart Configurator.

$ yum install system-config-kickstart

Эта программа предлагает простой графический интерфейс для создания файла Kickstart.

Вы можете задать требуемые вам пакеты, перечисляя их в секции %packages. Вместо отдельных пакетов здесь также можно добавить определенные группы пакетов, например gnome-desktop. Вы также можете указывать здесь пакеты из других файлов Kickstart, задавая их имя и расположение с параметром %include:

%include /usr/share/spin-kickfedora-live-base.ks

Если вам нужно после загрузки дистрибутива запустить на выполнение какую-либо команду, например для настройки сети, необходимо задать ее в секции %post. Например, если вы хотите автоматически запускать Firefox, можете поместить его ярлык в папку ~/.config/autostart, добавив в секцию %post следующие строки:

%post # autolaunch Firefoxmkdir -p /etc/skel/.config/autostartcp /usr/share/applications/firefox.desktop /etc/skel/.config/autostart/%end

Убедитесь, что конец секций %packages и %post обозначен с помощью %end. Если вы хотите запустить какую-либо команду за пределами своего live-окружения, например скопировать файлы хоста в свой дистрибутив, добавьте параметр -nochroot в секцию %post, как показано ниже:

%post --nochroot #copy resolv.conf from host to the custom distrocp /etc/resolv.conf $LIVE_ROOT/etc/%end

Переменная $LIVE_ROOT указывает на live-окружение. Аналогичным способом вы можете копировать файлы с хоста в свое live-окружение, например:

$ cp -r /home/bodhi/Music $LIVE_ROOT/

Если вы используете графическую утилиту для задания репозиториев, вы должны вручную добавить в файл Kickstart одну важную строку. Она указывает на список зеркал для репозитория Fedora (а также содержит информацию о версии и архитектуре сборки), откуда будут скачиваться пакеты. Например, если вы хотите получать пакеты для 64-битной Fedora 21, эта строка будет иметь следующий вид:

Repo --name=fedora --mirrorlist=http://mirrors.fedoraproject.org/mirrorlist?repo=fedora-21&arch=x86_64

После того, как вы закончили с файлом Kickstart, откройте его с помощью livecd-creator для сборки дистрибутива. Предположим, файл сохранен в ~/custom-kickstarts/Custom-Fedora.ks, тогда команда будет иметь вид:

$ sudo livecd-creator --config=/home/bodhi/custom-kickstarts/Custom-Fedora.ks--fslabel=FedoraUltimate--cache=/var/cache/live--verbose

Ключ -fslabel задает имя вашего дистрибутива. После выполнения всех инструкций в файле Kickstart утилита собирает ISO-образ вашего дистрибутива, который сохраняется в вашей домашней директории.

Создание собственного дистрибутива для Raspberry Pi

New Out Of the Box Software, или NOOBS - это официальный инсталлятор для Raspberry Pi. Он упрощает и стандартизирует процесс установки дистрибутивов на Raspberry Pi. Хотя главной целью создания NOOBS является упрощение установки операционных систем на Pi, эта утилита может также использоваться для создания собственных дистрибутивов.

Сначала скачайте инсталлятор NOOBS с сайта и установите его в любом поддерживаемом дистрибутиве, на основе которого вы хотите сделать свою систему. Мы советуем использовать дистрибутив Raspbian, который рекомендуется и создателями NOOBS.

После установки и загрузки Raspbian вы можете вносить в него свои изменения. Например, вы можете изменить обои рабочего стола и сменить тему с помощью утилиты командной строки obconf, а также установить дополнительные темы с помощью команды:

$ sudo apt-get install openbox-themes

Вы также можете устанавливать или удалять с помощью apt-get, или установив графический менеджер пакетов Synaptic.

Вы можете скопировать в этот дистрибутив Raspbian любые файлы.NOOBS позволяет создать раздел размером 512 Мб, в котором вы будете хранить свои файлы. Или вы можете воспользоваться командой raspi-config, чтобы расширить корневой раздел на всю SD-карту.

Кроме того, не забудьте настроить работу с сетью. Например, вы можете настроить беспроводный адаптер для подключения к вашей точке доступа Wi-Fi, а также доступ к различным сетевым службам.

После завершения настройки дистрибутива необходимо упаковать его в архив. Перейдите в корневую директорию с помощью команды cd / и выполните следующую команду:

$ sudo tar -cvpf root.tar /bin /boot /cdrom /dev /etc /home /initrd.img /initrd.img.old /lib /lib64 /media /mnt /opt /proc /root /run /sbin /srv /sys /tmp /usr /var /vmlinuz /vmlinuz.old --exclude=proc/* --exclude=sys/* --exclude=dev/pts/*

Упаковка займет примерно полчаса, в зависимости от количества сделанных вами изменений.
Теперь у вас есть файл root.tar в корневой директории. Аналогично упаковываем загрузчик. Сначала переходим в директорию boot.

Затем создаем архив.

$ tar -cvpf boot.tar

Это не займет много времени. Теперь у вас есть файл boot.tar в директории boot.

NOOBS требует сжатые версии этих файлов. Но у Raspberry Pi недостаточно ресурсов для сжатия этих файлов, поэтому вам необходимо переместить их на PC и сжать с помощью команд xz -9 -e boot.tar и xz -9 -e root.tar. При этом исходные файлы будут заменены на их сжатые версии, boot.tar.xz и root.tar.xz соответственно.

Теперь отформатируйте SD-карту и разверните на ней свежую копию NOOBS. С помощью файлового менеджера перейдите в директорию os, которая, в свою очередь включает множество директорий, в каждой из которых имеются файлы для одного из поддерживаемых дистрибутивов, включая Arch, Pidora, Raspbian и других. Так наш дистрибутив сделан на базе Raspbian, мы можем удалить все другие директории. Назовите директорию Raspbian именем, которым вы хотите назвать свой дистрибутив.

Перейдите в эту директорию и откройте файл os.json в текстовом редакторе. Заметите текст рядом с полями name и description на свой. Удалите файл flavours.json.

И наконец, удалите имеющиеся в этой директории файлы root.tar.xz и boot.tar.xz, заменив их на свои. Это все. Теперь загрузите Pi с этой карты.

Сборка пользовательского дистрибутива на базе Arch с нуля

Если у вас хватит терпения собрать собственный дистрибутив с нуля, вы должны собирать его поверх Arch Linux. Подход создателей этого дистрибутива позволяет пользователю полностью настраивать свою рабочую среду и делает его идеальной платформой для разработки пользовательских систем.

Вы можете создать пользовательский дистрибутив на базе Arch с помощью утилиты командной строки Archiso, которая представляет собой набор скриптов Bash и достаточно сложна в освоении, но при этом дает вам полный контроль над конечным результатом.

Настройка среды для сборки дистрибутива

Первое, что вам нужно для сборки - это установленный дистрибутив Arch. Инструкций по его инсталляции в сети более чем достаточно, поэтому здесь мы не будем описывать этот процесс.

После установки Arch настройте его в соответствии со своими нуждами. Установите дополнительные пакеты, смените обои и темы оформления, и настройте другие аспекты системы, например сеть. Позже мы скопируем все эти изменения из установленного экземпляра Arch в тот, который мы будем собирать.

После того, как вы настроите свой дистрибутив, откройте терминал и установите зависимости для Archiso:

$ pacman -S make squashfs-tools libisoburn dosfstools patch lynx devtools git

Теперь скачайте последнюю версию пакета archiso из репозитория Git с помощью команды:

$ git clone git://projects.archlinux.org/archiso.git

Она скопирует файлы в директорию ~/archiso. Перейдите в эту директорию и установите утилиту с помощью команды make install. После окончания установки вы можете без всяких опасений удалить директорию ~/archiso. Далее, создадим директорию, в которой мы будем настраивать файлы для нашего будущего дистрибутива:

$ mkdir ~/archlive

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

Теперь вам нужно скопировать один из двух профилей Archiso. Профиль baseline хорош для создания базовой live-системы без предустановленных пакетов. Мы будем использовать профиль releng, который позволяет создать полностью настроенный под свои нужды Arch Linux с предустановленными приложениями. Для использования этих скриптов просто скопируйте их в директорию ~/archlive:

$ cp r /usr/share/archiso/configs/releng/ ~/archlive/

Добавление пакетов

Добавлять пакеты в ISO-образ с помощью Archiso также просто, как добавлять их в текстовый файл, по одному пакету на строку. В директории ~/archlive у нас три файла: packages.i686, packages.x86_64 и packages.both. Вы можете открыть их в текстовом редакторе и добавить названия пакетов, которые вы хотите включить в дистрибутив. Archiso будет считывать содержимое файла для соответствующей архитектуры и затем упаковывать их в образ, который будет работать как на 32-х, так и на 64-битных машинах. Тем не менее, для обеспечения согласованности, мы рекомендуем вам добавлять название пакетов в файл packages.both, чтобы они были доступны для обеих архитектур.

Файл packages.both уже содержит определенный набор пакетов. Вы должны оставить их там, и добавлять свои пакеты в конец файла. Вы можете вывести список всех установленных в системе пакетов с помощью команды:

И затем скопировать те, которые вам нужны. Вы можете создать базовую систему с рабочим столом Mate, менеджером входа в систему и браузером Firefox, добавив в файл packages.both следующие пакеты:

Xorg-server xorg-xinit xorg-server-utils xf86-video-vesa slim mate firefox

Вы также можете скопировать в файл packages.both все пакеты, установленные в системе, с помощью команды:

$ pacman -Qqe >> ~/archlive/packages.both

Настройка корневой директории

Директория airootfs внутри ~/archlive/ служит оверлеем для того, что будет находиться в корневой директории нового дистрибутива. Любые файлы, которые вы поместите в эту директорию, будут добавлены в файловую систему дистрибутива, поэтому, если вы используете менеджер входа Slim, скопируйте его конфигурационный файл:

$ cp /etc/slim.conf ~/archlive/airootfs/etc/

Аналогично, вам необходимо скопировать файл /etc/systemd/system/display-manager.service в соответствующее место внутри ~/archlive/airootfs/, а также директории, в которых хранятся темы оформления, а именно /usr/share/backgrounds, /usr/share/icons и /usr/share/themes.

Если вы хотите, чтобы новый дистрибутив имел тот же набор пользователей, скопируйте соответствующие файлы:

$ cp /etc/{shadow,passwd,group} ~/archlive/airootfs/etc/

Перед тем, как копировать любые файлы из домашней директории пользователя, необходимо создать директорию skel:

$ mkdir ~/archlive/airootfs/etc/skel

Эта директория отображает домашнюю директорию пользователя во время подготовки системы. Теперь вы можете копировать файлы из домашней директории:

Таким образом, вы можете скопировать любые файлы или папки из своей домашней директории в директорию skel, включая ~/.xinitrc и ~/.config.

Для того, чтобы автоматически авторизовываться в системе от имени обычного пользователя, а не root, откройте файл ~/archlive/airootfs/etc/systemd/system/[email protected]/autologin.conf в текстовом редакторе и отредактируйте следующую строку:

$ cp ~/.bashrc ~/archlive/airootfs/etc/skel/

ExecStart=-/sbin/agetty --autologin bodhi --noclear %I 38400 linux

Замените bodhi на свое имя пользователя.

Заключительные настройки

В домашней директории root (~/archlive/airootfs/root) есть файл customize-root-image.sh. Любая задача по администрированию систему, которую вы хотели бы выполнять после установки Arch, может быть добавлена в этот файл. Помните, что инструкции в этом файле должны составляться для нового окружения, то есть / в скрипте должна относиться к корневой директории собираемого дистрибутива.

Откройте файл в текстовом редакторе, найдите строку с /etc/localtime и задайте свой часовой пояс:

$ ln -sf /usr/share/zoneinfo/Europe/London /etc/localtime

Также убедитесь, что в качестве командной оболочки установлен Bash:

$ usermod -s /usr/bin/bash root

Затем скопируйте содержимое директории skel в свою пользовательскую домашнюю директорию:

$ cp -aT /etc/skel/ /home/bodhi/

и задайте правильного владельца этих файлов:

$ chown bodhi:users /home/bodhi -R

В двух последних командах замените bodhi на свое имя пользователя.

Наконец, прокрутите страницу вниз, до конца файла, и закомментируйте все команды systemctl, добавив перед ними символ #. Чтобы загружаться в графический интерфейс, добавьте следующие строки для запуска всех нужных служб:

Systemctl enable pacman-init.service choose-mirror.service systemctl set-default graphical.targetsystemctl enable graphical.target

Это все. Теперь вам нужно собрать образ дистрибутива. Перейдите в директорию ~/archlive и запустите нижеприведенную команду для запуска процесса сборки:

$ ./build.sh -v -N EduArch -V 1.0 -L EduArch_1.0

Ключ -v включает режим вывода подробной информации о процессе, -N задает имя ISO-образа, -V задает версию, в а -L добавляет метку в сгенерированный ISO.

Обратите внимание, что процесс сборки достаточно медленный, и может занять до нескольких часов в зависимости от мощности вашего компьютера. После завершения вы найдете ISO-образ в директории ~/archlive/out.

Обновление образов

Через некоторое время после сборки образа вы захотите обновить его. Возможно выйдут новые версии приложений, или вам понадобится изменить какие-либо файлы, которые вы добавляли в образ вручную.
Для этого перейдите в директорию ~/archlive/work. Директории i686 и x86_64 внутри work содержат файловые системы для соответствующих архитектур. Вы можете сменить корневую директорию на одну из них с помощью команды:

$ arch-chroot ~/archlive/work/x86_64/root-image

$ arch-chroot ~/archlive/work/i686/root-image

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

$ pacman-key --init $ pacman-key --populate

После чего можете обновить систему с помощью команды:

Сделав необходимые изменения, выйдите из окружения chroot.

Не забудьте сделать эти изменения для обеих архитектур. Теперь необходимо заново собрать образ. Однако скрипт build.sh, так как мы уже в директории work. Чтобы заставить его все-таки собрать новый образ, откройте файл build.sh в текстовом редакторе. Перейдите в конец файла и удалите параметр run_once из начала команд make_prepare и make_iso:

For arch in i686 x86_64; do make_preparedonemake_iso

Сохраните файл и запустите скрипт для создания образа:

$ ./build.sh -v -N EduArch -V 2.0 -L EduArch_2.0

Сборка дистрибутивов Linux для встраиваемых систем

Linux - это популярный выбор на рынке встраиваемых решений. Однако это поле занято различными специализированными встраиваемыми дистрибутивами Linux. Чтобы упорядочить этот рынок, Linux Foundation вместе с такими лидерами отрасли, как Intel, AMD, Freescale, Texas Instruments, Wind River и другими, создали проект Yocto.

Главной целью проекта является создание и распространение окружения и инструментов для создания и сборки встраиваемых дистрибутивов Linux. Проект поддерживает 32- и 64-битные встраиваемые архитектуры, такие как ARM, PPC и MIPS. С помощью этих инструментов разработчики могут собирать полнофункциональные системы Linux для встраиваемых устройств.

В помощь разработчикам проект предлагает программу Hob, которая представляет собой графический фронтенд к движку сборки проектов BitBake. Hob читает инструкции и, следуя им, скачивает пакеты, собирает их и компилирует результат в виде загрузочного образа. Вы можете установить его во всех популярных дистрибутивах, включая Fedora, Ubuntu, Debian, OpenSUSE и CentOS.

Для начала вы можете загрузить систему сборку с сайта проекта, используя git:

$ git clone -b daisy git://git.yoctoproject.org/poky.git

Прежде чем делать свою сборку, Вы должны определить цель и задачи своего творения. Иначе сборка может не получить своё предназначение в этом мире и остаться малоизвестной.Итак, цели и задачи определены и Вы решились сделать сборку своей системы.
Для начала Вы должны либо в Virtualbox (или в другой виртуальной машине), либо у себя на компьютере установить операционную систему со всеми настройками, со всеми программами, которые считаете нужными иметь в Вашей сборке.
Теперь, когда всё настроено и установлено, будем создавать свою сборку. Для этого нам в первую очередь необходимо свободное место на разделе с папкой /home не менее 6 ГБ.
Для создания сборки есть несколько инструментов. Мы будем говорить о Remastersys , который позволяет создать полноценную сборку даже не очень продвинутому пользователю.
Все действия дальше описаны для Ubuntu, но подходят для всех Debian совместимых дистрибутивов.

1. УСТАНОВКА

Для установки Remastersys необходимо скачать и установить вручную, например, через программу gdebi, 2 пакета: remastersys_3.0.x-2_all.deb и remastersys-gtk_3.0.x-2_all.deb
Для Ubuntu 10.04 - 14.04 скачать отсюда
Для Ubuntu 16.04 - 17.04 скачать отсюда
Для Ubuntu 17.10 скачать отсюда
Для Ubuntu 18.04 скачать отсюда

2. ПЕРВЫЕ ШАГИ

Запускаем Система ⇒ Администрирование ⇒ Remastersys (Я использую Мате 1.6. С другими рабочими столами расположение может отличаться). Видим вот такое окно:

Коротко об основных кнопках:
Backup - полная резервная копия установленной системы, включая пользовательские данные и настройки. Сохраняется полностью все файлы в домашних каталогах пользователей системы.
Dist - резервная копия только установленной системы, БЕЗ пользовательских данных. Самый оптимальный вариант для создания сборки системы. Создается структура загрузочного диска и образ диска(iso).
Distcdfs - то же, что и Dist, но создается структура загрузочного диска без создания образа диска(iso).
Distiso - создает образ диска(iso), при условии готовой структуры загрузочного диска. Применяется только после Dist или Distcdfs.
Очистить - очистить временную папку программы. Используется для очищения папки перед созданием нового образа.

Переходим во вкладку Settings:


Здесь мы видим параметры нашей будущей сборки. Рассмотрим самое необходимое.
Username - имя пользователя по-умолчанию при входе в систему LiveCD.
CD Label - метка диска. Высвечивается название при загрузке диска в CD-привод. Ограничение 32 символа, учитывая пробелы.
Filename - имя файла созданного образа.
Остальное пока трогать не будем.
Итак зададим:
- Имя пользователя в строке Username, скажем, alex ;
- Придумаем название нашей сборки и запишем в CD Label, допустим, AlexBuntu ;
- В строке Filename запишем имя файла сборки, AlexBuntu-12.04-x32.iso.
Должно получится следующее:


Галочка в строке Show install icon on Backup mode desktop создает иконку установки Вашей системы на рабочем столе. Опция работает на всех основных рабочих столах.

Теперь переходим на вкладку Actions:

Нажимаем кнопку Dist. Появится окно:


Жмем ОК. Появится окно:


Всё, теперь можете спокойно и не торопясь попить чай или кофе. Минут через 15 - 60 (всё зависит от мощности ПК) появится сообщение:


Поздравляю Вас с первой Вашей сборкой!
Файл сборки находится по адресу и имеет то имя, которое Вы дали своей сборке. В моем случае это файл AlexBuntu-12.04-x32.iso . В этой же папке есть еще текстовый файл контрольной суммы образа с расширением md5, в моем случае файл AlexBuntu-12.04-x32.iso.md5 .
Теперь Вы можете записать свою сборку на диск и насладиться своим творением. Возможно при входе в систему с LiveCD придется ввести имя пользователя, которое было выбрано при создании образа, в моем случае это alex . Пароль оставьте пустым.

3. РАСШИРЕННЫЕ ВОЗМОЖНОСТИ

Многих устроят выше описанные главы. Если Вы всё еще читаете, то Вы действительно хотите познать все тонкости создания сборки, приближенной к профессиональной.
В первую очередь коснемся вкладки Settings и рассмотрим остальные нужные строки.
Working directory - рабочая папка программы. Вы можете ее переназначить в любое место и на любой раздел.
Ну и самая важная строчка настроек Squashfs options .
Remastersys использует для создания дистрибутива возможности SquashFS. Чтобы понять весь смысл данной строки предлагаю Вам рускоязычный блог , в котором прекрасно изложен весь смысл этого мощнейшего инструмента.
После изучения всех возможностей добавим в нашу строчку Squashfs options следующие опции: -comp xz .
Строчка должна иметь вид:

Эта опция устанавливает алгоритм компрессии xz вместо gzip по-умолчанию, что сожмет нашу сборку примерно на 20-25% лучше.Эта опция доступна с версии squashfs 4.2 и, например, в Ubuntu 10.04 она не доступна. В версии Ubuntu 12.04 установлена нужная версия 4.2 squashfs.
Чтобы проверить, доступна ли эта опция, наберите в терминале mksquashfs . Если вы видите похожее на следующее:

mksquashfs
SYNTAX:mksquashfs source1 source2 … dest [-e list of exclude dirs/files]

Filesystem build options:
-comp select compression
Compressors available:
gzip (default)
lzo
xz

то всё в порядке и использовать опцию -comp xz можно смело.

С версии 3.06 включение компрессии xz вместо gzip заменено на вкл./выкл. флажка

4. ЗАГРУЗОЧНОЕ МЕНЮ

По-умолчанию Remastersys создает загрузочное меню сборки довольно-таки скучное и однообразное. Одно только радует, что меню достаточно функциональное. Я долго искал простой способ включения своего меню без пересборки всего образа. Все дальнейшие действия не были задуманы авторами Remastersys и являются своего рода моими уловками и обходными способами, к которым я шел несколько месяцев различными экспериментами. Поэтому этот раздел не претендует на правильную инструкцию по Remastersys.
Итак. Вот такое загрузочное меню мы имеем в стандартной установке:


Вот такое меню можно получить после некоторых манипуляций:


Такое загрузочное меню используется в одной из моих сборок. Как видим, картинка изменена и меню русифицировано. Кроме всего прочего я убрал название дистрибутива из меню и написал его в GIMPe яркими красками. Сейчас мы с Вами и займемся заменой картинки и русификацией меню. Для этого нам потребуется обратить внимание на содержимое файлов в папке /home/remastersys/remastersys :


Здесь нас интересует папка ISOTMP. В этой папке хранятся временные файлы программы Remastersys. Этим мы и воспользуемся. Переходим в эту папку:


Структура данной папки очень похожа на структуру образа диска. Не хватает только папки.disk. В папке isolinux хранятся файлы загрузочного меню. Заходим в нее:


Рассмотрим файлы загрузочного меню:
splash.png - фоновое изображение. Размер изображения 640х480 точек на дюйм.
isolinux.cfg - конфигурационный файл загрузочного меню.
vesamenu.c32, isolinux.bin - системные файлы.
Смело меняем фон загрузочного меню на свой. Тип файла и название должно остаться таким же. Размер изображения обязательно 640х480 точек на дюйм.
Далее я выложил листинг отредактированного конфигурационного файла isolinux.cfg. За основу взят стандартный конфигурационный файл Remastersys. Я постарался максимально понятно написать комментарии к строкам. Почти вся информация в интернете на английском языке и очень краткая, поэтому много времени потратил на эксперименты, чтобы узнать, что и как работает.

Default vesamenu.c32 prompt 0 timeout 100 font cyr_a8x16.psf # Фон загрузочного меню menu background splash.png # Цвет имеет первые два регистра прозрачности значение от 0 (прозрачно) до 255 (непрозрачно) в HEX. # Остальные 6 цифр цвет в режиме HEX (код цвета можно взять из GIMPa). Сначала пишется цвет букв, потом фона, потом 3 режима тени (none, std, all) # Цвет заголовка menu color title * #ff00923F #00000000 none # Цвет оконтовки меню (бордюра) menu color border * #00000000 #00000000 none # Цвет выбранной строки меню menu color sel * #7fffffff #00000000 none # Цвет невыбранной строки меню menu color unsel * #ffC4613B #00000000 none # Цвет неактивной строки (отключенной но отображающейся на экране) menu color disabled * #ffC4613B #00000000 none # Цвет строки tabmsg расположенной под меню (с надписью Нажмите ENTER для загрузки или TAB для редактирования меню) menu color tabmsg * #ffCC623E #00000000 none # Цвет строки timeout (с надписью Автоматическая загрузка начнется через) menu color timeout_msg * #ffCC623E #00000000 none #Отступ с верху, строк menu vshift 1 #Количество строк меню menu rows 6 # Положение строки tabmsg menu tabmsgrow 11 # Положение строки timeout menu timeoutrow 12 menu AUTOBOOT Автоматическая загрузка начнется через # сек menu tabmsg Нажмите ENTER для загрузки или TAB для редактирования меню menu cmdlinerow 11 #Ширина меню, количество символов menu width 80 #Отступ символов слева от края (как табуляция) menu margin 12 #menu title Ubuntu 12.04 Desktop Mate 1.6 label live # menu label live - boot the Live System menu label Загрузить систему с LiveDVD диска kernel /casper/vmlinuz append file=/cdrom/preseed/custom.seed boot=casper initrd=/casper/initrd.gz quiet splash -- label install menu label Установить Ubuntu 12.04 LTS Mate 1.6 kernel /casper/vmlinuz append file=/cdrom/preseed/custom.seed boot=casper only-ubiquity initrd=/casper/initrd.gz quiet splash -- # Сделать строку меню не активной # menu disable label check menu label Проверить диск на ошибки kernel /casper/vmlinuz append boot=casper integrity-check initrd=/casper/initrd.gz quiet splash -- label memtest menu label Проверить память kernel /install/memtest append - label hd menu label Загрузиться с первого жесткого диска\\ localboot 0x80

Кодировка файла isolinux.cfg должна быть обязательно CP 866. Можно сохранять и редактировать в Cooledit (текстовый редактор Midnight Commandera), в OpenOffice и др. Взять мой отредактированный файл isolinux.cfg можно .
Кроме этого нужно положить в папку isolinux шрифты поддерживающие русский язык. Взять можно отсюда .
В папке должно получится следующее:


Проверьте права доступа файлов должно быть следующее для всех 5 файлов:


Теперь все приготовления закончены. Запускаем Remastersys:

Нажимаем кнопку Distiso . Процесс пересборки образа пойдет намного быстрее, всего 1 - 5 минут, потому что основные файлы системы пересобираться не будут. На выходе будут те же файлы образа и контрольной суммы, но уже с Вашим неповторимым красивым меню.

5. ОЧИСТКА СБОРКИ ОТ "ЛИШНЕГО"

Прежде всего уточню, что речь пойдет не об удалении приложений из сборки, а об удалении временных файлов из кэша, коих великое множество на сотни мегабайт.
Перед очисткой системы установите пакет ubiquity-frontend-gtk .
В первую очередь воспользуемся стандартными инструментами очистки системы. Открываем терминал и пишем:

Sudo apt-get autoremove sudo apt-get clean

Первая команда автоматически удалит все неиспользуемые пакеты.
Вторая команда удалит скачанные файлы пакетов в архиве.

Теперь воспользуемся программой Synaptic и удалим все ненужные настройки, оставшиеся после удаленных пакетов. Открываем Synaptic. В открывшемся окне внизу выбираем группу фильтров «Состояние».
Выбираем фильтр «Не установленные (остались файлы настроек)», выделяем все пакеты, попавшие в этот фильтр. Правой клавишей мыши на выделенном выбираем в меню «отметить для полного удаления» и жмем «Применить».


Здесь же в этой группе фильтров удалите пакеты под фильтром «Установленные (авто удаляемые)«
Если фильтры «Не установленные (остались файлы настроек)» и «Установленные (авто удаляемые)» отсутствуют, значит система уже прошла чистку и под данные фильтры ничего не попадает.

Следующий инструмент очистки - программа BleachBit из стандартного репозитория. Интерфейс программы на русском языке, очень доступен для понятия, что Вы будете делать. Также перед очисткой есть кнопка «Предпросмотр», которая покажет, что будет удаляться, и позволяет сделать изменения до удаления. Программа очень эффективно чистит систему от ненужных файлов, а также умеет удалять неиспользуемые языковые файлы. В моей сборке программа удалила около 300 МБ.


После удаления языковых файлов рекомендую переустановить пакет locales , иначе возникнут проблемы при установке языковых пакетов в сборке. Переустановка вернет лишь настройки локалей с возможностью установки других языков. Никаких языковых пакетов скачиваться не будет.

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

С версии 3.06 и выше временные файлы удаляются автоматически

/var/backups
/var/cache/apt/ - не удалять папку archives
/var/cache/apt/archives
/var/cache/apt-xapian-index
/var/cache/flashplugin-installer
/var/crash
/var/lib/apt/lists - не удалять папку partial и файл lock
/var/lib/update-notifer/ - не удалять папки package-data-downloads и user.d
/var/lib/update-notifer/package-data-downloads - не удалять папку partial и файл lock
/var/lib/update-notifer/user.d - удалять все файлы обязательно, иначе выдает окно ошибки
/var/tmp

Remastersys в начале установки копирует содержимое папки /var в свою временную папку , откуда потом и включает в сборку файлы. Учитывая, что после копирования Remastersys проводит еще подготовительные операции, у нас есть примерно 5 минут удалить лишнее из папки /home/remastersys/remastersys/dummysys/var . Тем более, что даже, если мы удалили из папки /var/cache/apt файлы, они всё-равно создаются и копируются в папку /home/remastersys/remastersys/dummysys/var/cache/apt , утяжеляя сборку.
В эти же 5 минут у Вас есть возможность почистить папку /root . В ней оставляйте только те файлы, которые есть в папке /etc/skel и папку Desktop.

    Настройки новых пользователей хранятся в папке /etc/skel . Если Вы хотите, чтобы все пользователи имели какие-то одинаковые настройки отличные от по-умолчанию(дефолтных), то копируйте нужные файлы из своей папки /home/[ваш логин входа в систему] в эту папку, не забывая менять права со своих на права root. Всё подряд копировать туда не нужно, это может привести к определенным конфликтам. Обычно для каждой программы это 2-3 файла настроек. Помните, чем меньше вы туда скопируете, тем профессиональнее будет сборка и меньше проблем у пользователей.

    Программы запуска для всех пользователей отредактировать, добавить, удалить лучше в папке /etc/xdg/autostart , не засоряя папку /etc/skel

    Если Вы хотите сделать сборку с рабочим столом отличным от имеющегося в дистрибутиве, то лучше воспользоваться минимальной сборкой без графического окружения, включающей в себя ядро и самый минимум пакетов, который позволяет запускает систему в режиме консоли. И уже поверх этой системы доустанавить нужные пакеты и проводить нужные настройки. Такой метод имеет меньше ошибок, чем если брать готовую полную сборку и пытаться выпилить из нее ненужное.
    Здесь все возможные mini.iso для Ubuntu от релиза 12.04 до 16.04 https://help.ubuntu.com/community/Installation/MinimalCD

Удачи! И пусть мир узнает Ваши творения!

Практически с каждым днем в сети появляется все больше и больше новых дистрибутивов Linux, которые в большинстве своем базируются на самом известном дистрибутиве - Ubuntu. Конечно, не все они слишком отличаются от своего родителя, однако, например, тот же форк Ubuntu - Linux Mint - на мой взгляд, просто превосходен. А что, если собрать свой дистрибутив? Конечно, не такой отличительный, как Mint от Ubuntu, но все же свой, подстроенный под себя и свои нужды? Попробуем?

Novo Builder - это простой инструмент Debian GNU/Linux, позволяющий на базе существующего дистрибутива построить полнофункциональную и готовую для установки систему, не требуя от вас предварительного изучения всех аспектов сборки дистрибутивов.

Установка

Для установки Novo Builder введите в консоли следующие команды от прав root"а (предварительно авторизовавшись с помощью команды su):

wget -O - http://www.cyvoc.net/novo-repo/Cyvoc.key | apt-key add -
echo deb http://www.cyvoc.net/novo-repo stable main non-free > /etc/apt/sources.list.d/cyvoc.list
apt-get update && apt-get install novo-builder novo-preset-lastos

После установки запустите Novo Builder из меню приложений, потребуется ввести пароль пользователя.

Работа с программой

Теперь можно либо выбрать уже настроенный preset, либо создать собственный вариант на основе существующего дистрибутива. Легче, конечно, воспользоваться готовой предустановкой, для этого в главном окне программы выберите в списке «Preset» базовый дистрибутив.

Если же вы хотите обойтись без предустановок, собрав собственный дистрибутив на основе существующего, заполните остальные настройки. После чего нажмите на кнопку «Prepare» («Подготовить»), сразу замечу, что это не быстрый процесс.

После подготовки станут доступными пункты меню из раздела «Edit/View». В нем вы можете отредактировать файл sources.list , включив в него нужные вам репозитории, добавить скрипты, и даже изменить ядро, оформление и приложения по умолчанию.

После того, как дистрибутив будет готов к сборке, нажмите кнопку «Build Base» в разделе «Build», это создаст базовую систему. Процесс тоже весьма не быстрый.

По окончанию сборки базовой системы станет доступен раздел «Post Build». Теперь можно открыть менеджер Synaptic и устанавливать/удалять приложения в зависимости от ваших предпочтений.

После того, как вы закончите выбор пакетов, вы сможете посмотреть на работу своего дистрибутива перед его окончательной сборкой, для этого просто нажмите кнопку «Chroot GUI».

Если все работает так, как надо, жмем заветную кнопку «Build ISO» для сборки окончательного образа дистрибутива. Забрать его вы сможете в директории /home .

При работе с программой может понадобиться до 30-40 GB свободного места на жестком диске, обратите на это внимание. Чтобы освободить место на диске после работы с программой, нажмите кнопку «Unmount/Del», это отмонтирует и удалит созданный вами образ дистрибутива.

С помощью Novo Builder вы сможете собрать собственный дистрибутив, включив в него только лучшие бесплатные программы, а самое главное - нужные вам, а также исключить те, которыми вы никогда не пользуетесь.

Удачных экспериментов! ;)

Если Вы решили заняться распространением своих программ, то без установочного дистрибутива не обойтись. В настоящее время практически все программы имеют инсталлятор, обычно он называется Setup.exe. В этой статье мы рассмотрим на примере, как собрать инсталлятор для приложения Access и разберем некоторые особенности, которые необходимо при этом знать.

Как уже говорилось ранее, Access не позволяет сделать исполняемый файл, способный работать без Access. Но в то же время, Microsoft предлагает для решения проблемы воспользоваться пакетом Microsoft Office Developer , в состав которого входит и лицензия на распространение программы Microsoft Access runtime . Остановлюсь на этом подробнее.

Программа Microsoft Access runtime - это версия Access, которая позволяет пользователям выполнять, но не модифицировать приложение Access. Устанавливать Microsoft Access runtime вместо полной версии есть смысл только в том случае, когда нужна лицензионная чистота, а у клиента, у которого исполняется Ваша база, нет лицензии на Access. В этом случае придется покупать ODE (Оffice Developer Edition). Тогда вместе с его покупкой Вы получаете некоторые дополнительные инструменты и самое главное ПРАВО устанавливать клиентам вместе с разработанной вами базой еще и Run-time версии Аccess. В этом случае к клиенту не будет притензий по поводу незаконного использования Аccess. Иначе каждому клиенту необходимо купить лицензию MS AАccess.

В пакет ODE входит "создатель дистрибутивов" который включает в диистибутив Вашу MDB и Run-time версию. Все библиотеки необходимые для создания Run-time уже есть в полной версии Аccess (даже без ODE). Но тут есть одно НО (это для тех, кого беспокоит лицензионная "читота"):

Если Вы его не купите официально, то у клиентов все равно не будет права использовать даже Run-time версию.

Может возникнуть такая мысль: А что, если узнать какие файлы нужны Access для работы и включить их в установочный дистрибутив? Можно, но это не решает проблемы с лицензией. К тому же придется создавать достаточно сложную программу установки с проверкой имеющихся компонентов и установкой/регистрацией отсутсвующих. Причем в последнем случае можно при неумелых действиях даже разрушить систему.

Вообще, если рассматривать реальные ситуации с продажей приложений на Access, то лишь немногие разработчики (речь идет о России) действительно покупают лицензионные пакеты. Как правило это те, для кого "при определенном уровне развития бизнеса вопрос покупать - не покупать теряет свою актуальность" - или говоря проще, кто может себе позволить купить лицензионный пакет за 600$ - 1000$. Интересно потом выслушивать их чертыхания на форумах по поводу работы таких программ. Насколько я понял там те же самые "косяки", что и в пиратских версиях. Поэтому призывать Вас использовать только бесплатные или пиратские версии Office для Ваших программ я не буду, но и рекомендовать пользоваться лицензионным тоже не стал бы (см. выше).

Интересно, что полную версию Access можно запустить в runtime - режиме, задав в командной строке ключ /runtime. Например, создайте на рабочем столе ярлык, кликнете по нему правой кнопкой мыши, в появившемся диалоговом окне в поле объект напишите примерно так: (это для Office 2000 - XP, а для 2003 нужно будет исправить вместо Office10 - Office11)

"C:\Program Files\Microsoft Office\Office10\MSACCESS.EXE" "D: \Базы\Моя База.mdb"/runtime

а в поле «Рабочая папка»:

Теперь запустим приложение через этот ярлык. Откроется окно проекта Access, но ярлыка Access, а так же стандартных панелей инструментов уже там не будет. Это и есть runtime - режим.

Для начинающих разработчиков распространение приложений Access через пакет Microsoft Office Developer вряд ли приемлемо. Ведь он стоит денег, и не малых. Мы рассмотрим другой способ, при помощи бесплатного инсталлятора Inno Setup . Есть конечно и другие как платные, например InstallShield , так и бесплатные инсталляторы. Различаются они по удобству работы, размеру создаваемого дитсрибутива.

Inno Setup - свободно распространяемый инсталлятор для программ Windows. Английские версии появились ещё в 1997, теперь Inno Setup переводится на несколько языков, а инсталляторы может создавать более чем на 20 языках. Inno Setup превосходит многие коммерческие инсталляторы по возможностям, стабильности и размеру создаваемых файлов.

Основные характеристики:

  • программа может сравнивать информацию о версии файла
  • перемещать используемые файлы
  • регистрировать DLL/OCX/FNT/TLB и типовые библиотеки
  • инсталировать шрифты
  • проверяет, активны ли определенные программы
  • создание ярлыков быстрого доступа (например, через старт-меню или на рабочем столе)
  • осуществление записи в ini-файлы
  • встроенная машина для написания скриптов на языке Pascal
  • поддерживает многоязыковую инсталяцию
  • инсталяция и деинсталяция по умолчанию
  • весь код доступен (Borland Delphi 2.0-5.0)
  • защита пароля для setup
  • в случае отмены во время исполнения, все действия будут приведены в исходное состояние
  • поддерживает все 32-х битные версии Windows (95, 98, 2000, 2003, XP, Me, NT 4.0)
  • создает создание одного файла exe, что значительно облегчает процесс инсталяции Вашей программы
  • стандартный интерфейс Windows 2000/XP
  • ориентирован на пользователя (например, полный, минимальный, пользовательский вариант)
  • все инструменты для деинсталяции
  • инсталирование файлов: встроенная поддержка "deflate", bzip2, 7-zip LZMA файлы сжатия

Так же начиная с версии 2.0.6 Inno Setup включает в себя полную поддержку для MBCS. В более ранние версии последнее свойство не входит. А вот Web-инсталяцию не поддерживает.

Особенность создания инсталлятора в Inno Setup - это то, что инсталляторы создаются при помощи скриптов - простых текстовых файлов ASCII, напоминающих.INI файлы. Скрипты редактировать легче, чем, например, работать с интерфейсом Installshield. Скрипты имеют расширение ".iss" (inno setup script). В нём указываются все параметры инсталлятора, и при установке, программа ассоциирует себя с этими файлами. Скрипт разделен на секции, имена которых пишутся в квадратных скобках . Внутри секций существуют ключевые слова и указания, которые компилятор может читать и выполнять.

Комментарии начинаются с точки с запятой в начале строки и могут быть помещены в любое место скрипта. Коментарии блоком не возможны, как впрочем и вынесение коментария в середину строки. Последнее допускается компилятором, но впоследтвие, при выполнение, ведет к ошибке.

; -- Sample1.iss --
; Demonstrates copying 3 files and creating an icon.

Порядок секций не имеет значения. Все они (за исключением ) являются произвольными. Ключевому слову значение присваивается при помощи знака равенства (=).

Указания состоят из одного или нескольких параметров и их опций, а также флагов flags . Параметр же в свою очередь состоит из имени, за которым следует двоеточие : и значения. Параметры, опции и флаги отделяются друг от друга точкой с запятой ;

Рассмотрим в кратце основные секции:

Секция

Значение

сoдержит указания по поведению инсталяционной рутины, а также, как это должно выглядеть. Ключевые слова AppName, AppVerName и DefaultDirName являются обязательными. Все остальные - по необходимости
Здесь содержатся файлы для setup
ярлыки (иконки)
Соотношение компонентов к типу инсталяционной рутины
разрешает создать новые пустые папки
делает записи в INI- файлы
первое действое при инсталяции, cистаксис соответствует секции
разрешает специфические изменения в тексте
делает запись в регист
выполняет другие программы после того как данные успешно были исталированы, но еще до того как будет закрыто диалоговое окно
разрешает дополнитекльные действия в setup
устанавливает тип setup-а
последняя операция при деинсталяции. Таким образом папки и/или файлы будут удалены
первая операция при деинсталяции. Систаксис соответствует секции
содержит информацию о языке. как правило, не используется

Inno Setup работает внутри скрипта с различными предопределеными константами, которые, как правило, содержат пути (path). Способ написания: {имя} . Некоторые константы, такие как {app} и {group} могут/должны быть предопределены пользователем. Тот, кто сам желает определить константы, должен обратиться к припроцессеру Алекса Якимова (Alex Yackimoff).

Вот основные константы Inno Setup:

константа

пример

{win} путь в директорию/папку Windows C:\Windows
{sys} путь в системную папку Windows, в частности папку System32 C:\Windows\System или C:\Windows\System32
{app} путь к собственной аппликации (программе)
{pf} путь к программной папке C:\Programme
{cf} путь к общим данным C:\Programme\Gemeinsame Dateien
{dao} cоответствует{cf}\Microsoft Shared\DAO C:\Programme\Gemeinsame Dateien\Microsoft Shared\DAO
{src} путь к папке инсталявионной рутины, в момент выполнения setup R:\
{group} группа программ для стартового меню

Итак, рассмотрим задачи, которые нужно решить (определим только минимальные). Наш инсталлятор должен сделать следующее:

Распаковать файлы в нужные места
Создать папку в каталоге программы (папка «Коп» - для хранения резервных копий базы)
Создать меню запуска приложения в Пуск - Все программы, а так же иконку на рабочем столе

Это необходимый минимум. Но, разумеется, это далеко не все возможности Inno Setup. Ведь не зря его используют многие разработчики. Но в данной статье я ограничусь только этим, желающие глубже изучить возможности программы могут обратиться к справочной системе. В Интернет есть множество ссылок как на программу, так и на переводы справки. Например, Inno Setup 5.1.6. и справку к нему Вы можете скачать здесь… Английский сайт программы http://www.innosetup.com

Для начала попробуйте поэкспериментировать, создавая инсталлятор при помощи мастера, а затем изучая структуру полученного скрипта. В принципе, я думаю нет нужды подробно описывать, что где нажимать. Inno Setup настолько прост в освоении, что без проблем изучается, что называется «методом научного тыка». Вот например скрипт инсталятора, который делает определенные ранее задачи (все файлы дистрибутива находятся в каталоге D:\Setup.)


AppName=Моя программа
AppVerName=Моя программа. Версия 1.0.
AppPublisher=MyProgram, Inc.
AppPublisherURL=http://MyMySoft.ru/
AppSupportURL=http://MyMySoft.ru/
AppUpdatesURL=http://MyMySoft.ru/
DefaultDirName={pf}\MyProgram
DisableDirPage=no
DefaultGroupName=Моя программа
DisableProgramGroupPage=yes
LicenseFile=D:\Setup\license.txt
InfoAfterFile=D:\Setup\readme.txt
AlwaysCreateUninstallIcon=yes


Name: "desktopicon"; Description: "Создать ярлык на &Рабочем столе"; GroupDescription: "Дополнительные ярлыки:"


Source: "D:\Setup\Сервер.mdb"; DestDir: "{app}"; DestName: "Сервер.mdb";
Source: "D:\Setup\license.txt"; DestDir: "{app}";
Source: "D:\Setup\readme.txt"; DestDir: "{app}";
Source: "D:\Setup\Log.JPG"; DestDir: "{app}";
Source: "D:\Setup\Log.ico"; DestDir: "{app}";
Source: "D:\Setup\База.mdb"; DestDir: "{app}";


Filename: "{app}\MyProg.url"; Section: "InternetShortcut"; Key: "URL"; String: "http://MyMySoft.ru/"


Name: "{app}\Коп"


Name: "{group}\Моя программа"; Filename: "{app}\База.mdb" ;WorkingDir: "{app}";IconFilename:{app}\Log.ico
Name: "{group}\Сайт программы"; Filename: "{app}\MyProg.url"
Name: "{userdesktop}\Моя программа"; Filename: "{app}\База.mdb" ;WorkingDir: "{app}"; IconFilename:{app}\Log.ico;Tasks: desktopicon

Пример, как это все работает, Вы можете скачать ниже.

  • Обратиться в "Интерфейс" за дополнительной информацией/по вопросу приобретения продуктов

Файлы для загрузки

Для тех, кто освоил первую часть,- сборку основной части операционной системы,- есть вторая часть, которая называется Beyond Linux From Scratch (BLFS). Из недостатков этого способа можно отметить, пожалуй, только количество времени, которое потребуется.

simple-cdd

Гораздо менее суровое средство сборки своего дистрибутива на базе Debian. Позволяет достаточно быстро собрать свое установочный образ, включающий необходимый набор пакетов. Есть официальная страничка в вики Debian , но она, похоже, достаточно стара и давно не обновлялась. Это один из самых простых и быстрых способов собрать свой дистрибутивный образ, но придется предварительно прочитать официальный How-To и посмотреть страницу руководств.

SUSE Studio

Один из наиболее простых способов собрать собственную операционную систему на базе ядра Linux и свободного программного обеспечения. Если быть более точным, то это возможность собрать свой потомок OpenSUSE или SUSE Linux Enterprise. Для сборки своего дистрибутива надо просто зарегистрироваться на сайте http://susestudio.com . Для хранения образов дается 15 гигабайт. Вкратце сборка своего дистрибутива выглядит так:

  • Регистрируетесь на сайте http://susestudio.com
  • Выбираете начальную конфигурацию операционной системы
  • Модифицируете ее
  • При необходимости загружаете необходимые пакеты со своими приложениями
  • Создаете образ

Более подробно расписывать не буду, на сайте всё очень просто и понятно. SUSE Studio позволяет создать следующие типы образов:

  • Образ для USB-флэшки
  • Live CD
  • Установочный образ ISO
  • Образ диска виртуальной машины в формате.vmdk
  • Образ виртуальной машины в формате OVF, который импортируется в гипервизор
  • Образ гостевой системы для Xen (.img)
  • Образ диска для Hyper-V (.vhd)
  • Образ для SUSE Cloud / OpenStack / KVM (.qcow2)

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

Ubuntu Builder

Программа для сборки дистрибутива на базе Ubuntu. Собственно, получится обычная Ubuntu нужной конфигурации. Проект закрылся 10 марта 2014 года, поэтому сложно его рекомендовать к использованию. Если есть желание с ним ознакомиться, это можно сделать . Там же указана команда для подключения репозитория, из которого можно установить пакет ubuntu-builder. Если не заметили, то вот она:

Add-apt-repository ppa:f-muriana/ubuntu-builder

Вообще это был достаточно известный проект в свое время. Жаль, что закрылся.

Novo Builder

Еще одна программа для сборки дистрибутива, которую надо устанавливать. Устанавливается она при помощи скрипта, который можно взять . Скрипт сам добавит репозиторий и поставит пакеты. Это, пожалуй, лучшая на данный момент программа для сборки дистрибутива на базе Ubuntu по простоте использования. И рассказать-то больше особо нечего, достаточно поставить и посмотреть. Всё интуитивно понятно.

В общем, если хотите собрать свой специальный дистрибутив, средств существует достаточно, нужно пробовать, смотреть, что вам больше подойдет и что интереснее. Если знаете еще какой-то способ сборки своей операционной системы — делитесь в комментариях