Стандартный путь распространения ПО в мире Дебьян — формирование дистрибутива. Дистрибутив состоит из пакетов и дополнительной информации о содержимом: состав, целевая ОС и т.д. Такой дистрибутив называется репозиторием. Исчерпывающую информацию можно посмотреть на вики проекта.
Краткая информация о структуре репозитория:
- pool — установочные и пакеты с исходным кодом;
- dists/$веха:
- Release — индекс содержимого репозитория с контрольными суммами;
- InRelease — аналогично Release, с цифровой подписью;
- Release.gpg — цифровая подпись Release;
- main/ — ПО с исходными текстами (открытое);
- non-free/ — закрытое ПО (как правило без исходных текстов);
- contrib/ — открытое ПО зависящее от пакетов из non-free;
Структура каталогов компонентов main, contrib, non-free:
- binary-amd64/ — индексы пакетов для архитектуры x86_64;
- binary-…/ — индексы для других архитектур;
- source/ — индексы для пакетов исходного кода.
Поскольку ОС «Astra Linux Special Edition» поставляется только для аппаратной архитектуры x86_64, то индексы будут только для этой архитектуры.
При работе с репозиториями следует учитывать ограничения, накладываемые на версии пакета. В одном репозитории в конкретной вехе может существовать единственная версия любого пакета. На практике это означает, что вы не сможете держать стабильную и тестируемую версию разрабатываемого вами пакета в рамках одной версии продукта.
Обойти это ограничение можно используя несколько вех:
- product-old/oldstable — предыдущая версия продукта;
- product/stable — современная стабильная версия продукта;
- product-dev/testing — разрабатываемая версия продукта.
К достоинствам такого подхода можно отнести более четкий контроль над сторонними зависимостями, включаемыми в дистрибутив вашего продукта. Кроме того, в любой момент времени у вас под рукой полный дистрибутив
который, например, можно передать на тестирование или для демонстрации.
Как можно заметить, такой подход полностью аналогичен практикам формирования дистрибутивов ОС Дебьян, «Astra Linux Special Edition» и аналогичных.
При передаче программного продукта на носителе (CD, DVD, и т.п.) установка производится следующим образом:
- Добавляется источник в APT командой apt-cdrom add.
- Обновление индексов пакетов aptitude update.
- Установка титульного пакета aptitude install <название>.
Подводя итог, можно выделить следующие достоинства формирования дистрибутива ПО на базе репозитория:
- стандартная практика для данных типов ОС, а следовательно наличие доступного инструментария и руководств;
- удобная работа с зависимостями, которые необходимо поставлять в составе продукта;
- соблюдение условий свободных лицензий о необходимости включения исходного кода при распространении;
- простота инсталляции программного продукта;
- упрощение внутреннего тестирования.