Как упаковать программу в DEB с помощью Debreate
Оглавление
- Установка и запуск Debreate
- Информация в разделе Control
- Зависимости
- Файлы
- Скрипты, журнал изменений и авторские права
- Сборка пакета
- Когда это не подходит
- Альтернативы и советы
- Чек‑лист ролей
- Критерии приёмки
- Краткая методология
- Словарь
Установка и запуск Debreate
Первое, что нужно сделать — установить Debreate. Скачайте пакет .deb с официального источника проекта, затем установите его через менеджер пакетов или выполнив в терминале:
sudo dpkg -i debreate_0.8-dev9_all.debЗапустить Debreate можно из меню приложений в разделе «Разработка» или введя команду debreate в KRunner/терминале:
- Откройте меню → Разработка → Debreate
- Или введите debreate в поле запуска приложений
При первом запуске появится экран приветствия, затем информационный экран.


Важно: интерфейс Debreate интуитивен, но правильное заполнение полей Control и зависимостей критично для корректной установки пакета на целевой системе.
Информация в разделе Control
Раздел Control формирует содержимое control.tar.gz — метаданных пакета. Заполните следующие поля:
- Package: имя пакета в нижнем регистре; допустимы буквы a–z, цифры, “+”, “-“, “.”.
- Version: номер версии, например 0.0.1.
- Maintainer: автор/пакетировщик.
- Email: контактный e‑mail.
- Architecture: архитектура пакета: i386, amd64 или all (если пакет архитектуронезависим).
- Section: категория репозитория (например Text для инструментов обработки текста).
- Priority: обычно Optional для дополнительного ПО.
- Short Description: краткое описание для спискового просмотра в менеджере пакетов.
- Long Description: подробное описание, отображаемое в детальном просмотре и выводе apt‑cache show.

Совет: придерживайтесь соглашений Debian по именованию и версиям — это снизит вероятность конфликтов в репозиториях.
Зависимости
На экране Dependencies перечислите пакеты, от которых зависит ваше ПО. Для примера скрипта, который вызывает Pandoc и использует графический диалог Zenity, добавьте pandoc и zenity.
- Введите имя пакета и при необходимости ограничение по версии (не обязательно).
- Нажмите Add, чтобы включить зависимость в метаданные.

Примечание: указание зависимостей не устанавливает их автоматически при установке .deb через dpkg; для автоматической установки лучше использовать инструменты вроде apt или GDebi.
Файлы
Подготовьте структуру файлов, которую хотите упаковать. В Debreate можно добавлять файлы по одному и указывать целевые каталоги установки.
Для примера включены три файла:
- Исполняемый скрипт pandoc-pub.sh — помещается в /usr/bin (FHS: исполняемые программы для всех пользователей).
- README с инструкцией — помещается в /usr/share/doc.
- Иконка — помещается в /usr/share/icons.

Важно: соблюдайте иерархию FHS, чтобы пакет корректно интегрировался в систему и автозапуск/разрешения работали правильно.
Скрипты, журнал изменений и авторские права
Debreate позволяет добавить стандартные скрипты пакета:
- preinst — выполняется перед установкой
- postinst — выполняется после установки
- prerm — перед удалением
- postrm — после удаления
Также можно добавить Changelog, текст Copyright и создать пункт меню автоматически через Menu Launcher. Для простого тестового пакета эти элементы не обязательны, но для публичного релиза их наличие повышает качество пакета.

Совет: делайте скрипты идемпотентными (безопасными для повторного запуска) и минимальными по привилегиям.
Сборка пакета
На последнем экране можно игнорировать дополнительные опции и нажать большую зелёную кнопку для сборки.

После сборки вы получите готовый .deb. Установить его локально можно командой:
sudo dpkg -i pandoc-pub_0.0.1_all.debЕсли при установке dpkg сообщает о неудовлетворённых зависимостях, установите их через apt или откройте пакет двойным щелчком в файловом менеджере — тогда при наличии GDebi зависимости установит автоматически.

Важно: предупреждения сборщика (missing man page, missing copyright) не всегда критичны для локального использования, но для репозитория Debian/Ubuntu лучше устранить все предупреждения.
Ошибки и как их исправить
- Проблема: dpkg сообщает о неудовлетворённых зависимостях.
- Решение: выполнить sudo apt-get install -f или установить пакет через GDebi/apt.
- Проблема: файл не попал в ожидаемую директорию после установки.
- Решение: проверьте маппинг в экране Files; целевые пути в DEB должны соответствовать абсолютным путям файловой системы (/usr/bin, /usr/share/doc и т.д.).
- Проблема: скрипты postinst падают с ошибкой при установке.
- Решение: запустите скрипт вручную в отладочном режиме, добавьте set -euo pipefail и логирование для локализации ошибки.
Когда это не подходит
- Если вы хотите распространять пакет через репозиторий apt с автоматическими обновлениями, имеет смысл подготовить пакет с соблюдением всех рекомендаций Debian Policy и подписать репозиторий.
- Для сложных билдов с компиляцией лучше использовать debhelper, dh_make и систему сборки (debuild), а не графический Debreate.
- Если пакет должен работать на множествах дистрибутивов (включая non‑Debian), стоит рассмотреть универсальные форматы (Snap, Flatpak, AppImage).
Альтернативы и советы
- debhelper и dh_make — для подготовленных ресурсов и автоматизации сборки из исходников.
- dpkg‑debian — утилита для работы с .deb напрямую.
- checkinstall — для создания .deb из make install (вручную собирает информацию о файлах).
- Snap, Flatpak, AppImage — если нужна кросс‑дистровая совместимость.
Выбор зависит от цели: быстро распределить скрипт друзьям — Debreate вполне подходит; подготовить пакет для репозитория Debian — нужен более формальный подход.
Проверочная методология перед распространением
- Установите пакет в чистой системе (например, контейнер или виртуальная машина) с той же архитектурой.
- Проверьте корректность путей и прав на файлы.
- Убедитесь, что зависимости устанавливаются и приложение запускается без ошибок.
- Проверьте удаление пакета: не оставляет ли он хвосты (орфанные файлы).
- Тестируйте сценарии обновления (переустановка новой версии поверх старой).
Чек‑лист ролей
Пакетировщик:
- Заполнил Control полностью.
- Указал все зависимости.
- Разместил файлы в соответствии с FHS.
- Добавил базовые скрипты при необходимости.
Ревьювер/тестер:
- Установил пакет в чистой среде.
- Проверил запуск и поведение при неполных правах.
- Проверил совместимость с минимальной версией зависимостей.
Пользователь/администратор:
- Использует apt/aptitude для установки зависимостей.
- При локальной установке использует GDebi или apt-get install -f при ошибках.
Критерии приёмки
- Пакет устанавливается без ошибок в чистой среде.
- Все файлы попадают в ожидаемые места и имеют корректные права.
- Указанные зависимости удовлетворяются и не ломают систему.
- Скрипты установки/удаления выполняются без побочных эффектов.
Короткий справочник терминов
- DEB: формат пакета Debian, состоящий из control.tar.gz, data.tar.gz и debian-binary.
- Control: метаданные пакета (описание, зависимости, поддерживающая информация).
- FHS: Filesystem Hierarchy Standard — стандарт иерархии каталогов в UNIX‑похожих системах.
Итог и рекомендации
Debreate — удобный инструмент для быстрого создания DEB‑пакетов, особенно для простых сценариев: скрипты, утилиты и небольшие приложения. Для распространения внутри команды или друзьям он хорош: снижает рутинную работу и позволяет быстро получить рабочий .deb. Для публикации в официальных репозиториях или при более сложных требованиях используйте более строгие инструменты сборки и следуйте Debian Policy.
Ключевые шаги: подготовить файлы, заполнить Control, добавить зависимости, проверить скрипты, собрать и протестировать в чистой среде.
Важно: всегда тестируйте пакет в среде, максимально близкой к целевой, чтобы избежать неожиданных конфликтов зависимостей и проблем с правами.
Похожие материалы
Архивирование твитов в Google Таблицы
CupCloud — синхронизация открытых файлов между ПК
Исправить «This app will not work on your device» в Microsoft Store
Сброс групповой политики Windows: шаги и советы
Несколько аккаунтов Dropbox на Android