Гид по технологиям

Создание .deb пакетов на Ubuntu

• 5 min read • Linux • Обновлено 23 Nov 2025
Создание .deb пакетов на Ubuntu
Создание .deb пакетов на Ubuntu

Ключевая цель

Научиться создавать .deb пакеты на Ubuntu двумя простыми методами: быстрый CLI-подход через CheckInstall и полностью настраиваемый GUI-подход через Debreate. Подойдёт для разработчиков, packager-ов и системных администраторов, которые хотят распространять ПО в формате Debian/Ubuntu.

CheckInstall — быстрый способ создать .deb

CheckInstall создаёт .deb, наблюдая за установкой из исходников. Это полезно, когда вам нужен пакет «быстро и рабочий» без ручного написания control-файлов.

Шаги (кратко):

  1. Установите checkinstall:
sudo apt-get install checkinstall
  1. Получите исходники, распакуйте архив и перейдите в каталог проекта.
  2. Запустите конфигурацию и решите зависимости:
  • Выполните ./configure — терминал покажет, каких dev-библиотек не хватает.
  • Установите недостающие зависимости через sudo apt install <пакет-dev>.
  1. Соберите проект:
  • Выполните make. Это может занять время в зависимости от объёма кода и производительности CPU.
  1. Создание .deb с помощью checkinstall:
  • Выполните sudo checkinstall и следуйте интерактивным подсказкам (имя пакета, версия, архитектура и т. п.).

Пример поведения checkinstall: утилита предложит меню с опциями (изменить имя, версию, архитектуру, каталог источника). Например, чтобы изменить архитектуру на 32‑битную, выберите соответствующую опцию и введите i386.

Запуск ./configure и проверка зависимостей

Установка зависимостей и сборка проекта через make

Меню CheckInstall с параметрами пакета

Выбор архитектуры и финализация сборки .deb

Готовый .deb пакет в каталоге сборки

Важные замечания по CheckInstall:

  • Плюсы: очень быстро, не требует написания метафайлов вручную. Отлично для внутренних сборок и тестирования.
  • Минусы: контроль точности метаданных и скриптов (preinst/postinst) ограничен; для публичных репозиториев лучше делать полноценный debian/* пакет.

Debreate — GUI для аккуратной упаковки

Debreate предоставляет пошаговый графический интерфейс для создания пакетов Debian/Ubuntu. Это удобно, если вы предпочитаете визуальные формы и хотите детально настроить метаданные.

Основная последовательность действий в Debreate:

  1. Задайте имя пакета, версию, email мейнтейнера и краткое описание.
  2. Укажите каталог с файлами для включения в пакет (Files directory).
  3. Настройте зависимости, имена пакетов и версии (Dependencies).
  4. При необходимости добавьте changelog, настройки ярлыков меню и скрипты установки.
  5. Нажмите «Start Building» и укажите выходную папку.

Debreate: ввод основных метаданных пакета

Debreate: указание директории с файлами и опций сборки

Готовый .deb, собранный Debreate

Плюсы и минусы Debreate:

  • Плюсы: простой GUI, полный контроль над метаданными, удобно для пакетов, предназначенных для распространения.
  • Минусы: требуется подготовить структуру файлов заранее; менее удобен для мгновенных тестовых сборок.

Когда выбрать CheckInstall, а когда Debreate

  • CheckInstall: когда нужен быстрый пакет для тестов или локального развёртывания. Хорош для прототипов.
  • Debreate: когда упаковка идёт в релиз, требуется точный контроль зависимостей, скриптов и структуры пакета.

Пошаговая методология (мини‑SOP)

  1. Оцените цель: тест/релиз/распространение.
  2. Подготовьте исходники и определите зависимости.
  3. Для теста: используйте CheckInstall (быстро соберите .deb).
  4. Для релиза: подготовьте структуру debian/, либо используйте Debreate для генерации корректных метаданных.
  5. Тестируйте .deb в чистой среде (контейнер/VM) перед распространением.

Чеклист перед сборкой

  • Проверены зависимости для сборки (dev‑пакеты).
  • [ ] Очищена рабочая директория от предыдущих артефактов (make clean).
  • Установлен checkinstall (для быстрой сборки) или Debreate (для GUI-сборки).
  • Протестирована работа приложения после установки .deb.
  • Проверены права и модули (предусмотрены postinst/prerm, если нужно).

Ролевые рекомендации

  • Разработчик: используйте CheckInstall для быстрых проверок, но по возможности подготовьте debian/ и запишите контрольные скрипты.
  • Packager/RELEASE менеджер: используйте Debreate или полностью ручную сборку Debian-пакетов для контроля качества.
  • Сисадмин: тестируйте установку .deb в чистой VM до развёртывания в продуктиве.

Отладка и частые проблемы

  • Проблема: missing headers / библиотеки на этапе ./configure.
    • Решение: установить соответствующие -dev пакеты через apt.
  • Проблема: собранный .deb не устанавливается из‑за зависимостей.
    • Решение: уточните список зависимостей и укажите их в Debreate или при помощи dpkg -i далее sudo apt-get -f install.
  • Проблема: конфликт файлов при установке.
    • Решение: проверьте файлы в пакете и корректность путей, используйте dpkg -c <файл.deb> для просмотра содержимого.

Примеры альтернативных подходов

  • Полная ручная упаковка через debhelper и dh_make: даёт максимальную гибкость и соответствует практике официальных пакетов.
  • Использование fpm (Effing Package Management): удобный инструмент для создания пакетов разных форматов (rpm, deb) из одной конфигурации.
  • Контейнеризация (Docker): вместо распространения .deb можно распространять образ контейнера.

Когда эти методы не подойдут (контрпримеры)

  • Нужен сложный пакет с множеством скриптов конфигурации и тестов CI — лучше писать полноценный debian/ и запускать lintian.
  • Требуется сборка для множества дистрибутивов и архитектур — рассмотрите CI/CD с cross‑compilation и использованием fpm или систем сборки пакетов.

Критерии приёмки

  • Пакет устанавливается без ошибок на чистой Ubuntu-системе нужной версии.
  • Все файлы оказываются в ожидаемых местах и имеют правильные права.
  • Зависимости заявлены корректно и разрешаются при установке.
  • Скрипты pre/post выполняются без критических ошибок.

Быстрые советы и эвристики

  • Помните: checkinstall хорошо для скорости, но не заменяет полноценной упаковки для публичного релиза.
  • Проверяйте пакет в clean VM — локальная среда разработчика может скрывать проблемы.
  • Используйте семантическое версионирование для пакетов (MAJOR.MINOR.PATCH).

Краткое резюме

CheckInstall и Debreate покрывают две основные потребности: быстрые локальные сборки и аккуратная визуальная упаковка для распространения. Для серьёзных релизов рекомендуется переходить к стандартной Debian-упаковке с debhelper или интегрировать сборку в CI.

Важно: выбор инструмента зависит от цели: прототип/тест или публичное релизное распространение.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро