Astra linux создание deb пакета

Создайте свои собственные пакеты DEB и RPM

Мы расскажем вам, как создавать два наиболее распространенных типа пакетов Linux для распространения программного обеспечения, и вы сможете сами распространять свои собственные пакеты.

Мы собираемся провести вас через процесс создания пакетов программ для двух самых популярных систем пакетов DEB и RPM. Вы можете использовать эти методы, чтобы создавать пакеты вашего собственного программного обеспечение или даже сопровождать пакеты для того программного обеспечения, которое, как вы считаете, остается незамеченным.

Мы начнем с руководство по созданию файлов DEB ((.deb) для дистрибутивов, производных от Debian — для этого мы качестве нашей базы используем Xubuntu. После этого мы подробно опишем методы, необходимые для создания пакетов RPM для использования в дистрибутивах, производных от Red Hat, и для этого мы будем использовать Fedora. Часто можно создать пакет на одном дистрибутиве, а затем установить его на родственном дистрибутиве (например, Ubuntu>Debian), но если это важно, то вам, может быть, стоит попробовать это самостоятельно.

Что касается программы, мы собираемся в качестве примера пакета, собираемого из исходного кода, использовать легковесный веб-браузер Dillo. Когда сборка выполняется из исходных текстов, в случае, если сборка не идет так, как надо, вы можете, как и обычно, поискать решения в сети интернете. Например, в случае Dillo 3.0.3, нам из-за недосмотра в архиве исходного кода пришлось для того, чтобы команды работали, перед командами сборки добавить ‘LIBS =-lX11’ .

Сборка происходит в командной строке

Ресурсы

Инсталляция (или виртуальная машина) Ubuntu и Fedora

Пошаговое описание

Шаг 01: Использование виртуальной машины

Использование средств виртуализации, таких как VirtualBox или Vmware, часто является лучшим подходом к созданию пакетов для других систем. С одной стороны, этот подход позволяет поддерживать сравнительно чистую базовую инсталляцию, сравнимой с настройками, с которыми вероятно, будут работать другие. Это также означает, что вы, используя различные дистрибутивы, можете получить коллекцию целевых систем. Кроме того, большинство средств виртуализации позволяют эмулировать различные архитектуры, и, следовательно, на 32-разрядной платформе можно запускать 64-разрядные ОС, хотя будет страдать производительность.

Шаг 02: Начинаем с нуля

Если в Ubuntu или Fedora что-то идет не так, то можно совершенно безопасно просто удалить исходный каталог и начать все заново. Обратите внимание, что инструментальные средства Debian изменяют исходный архив, так что вам придется начать с новой копии.

Часть 1: Debian

Шаг 03: Установите среду сборки

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

Теперь мы должны установить инструменты, которые используются для работы с пакетами DEB. Сделайте это с помощью следующей команды .

Шаг 04: Создайте ключ GPG

Если вы еще в прошлом не создали открытый ключ GPG, его необходимо создать прямо сейчас для того, чтобы можно было подписать пакеты. Вначале вводите текст gpg –gen-key. Выберите значения, устанавливаемые по умолчанию, и при запросе введите свое настоящее имя и контактные данные. Аккуратно запишите все данные, поскольку позднее нам в конфигурационном файле потребуется их точное соответствие. После этого наберите команду ls

/.gnupg для того, чтобы убедиться, что новый ключ существует (это файл имя_фамилия.gpg). Из него создайте открытый ключ:

Читайте также:  Как временно отключить защитник windows 10 pro

Импортируйте его с помощью:

Шаг 05: Скачайте пакет

В этом примере мы собираемся скачать и собрать самую последнюю версию веб-браузера Dillo. Перейдите на сайт Dillo (www.dillo.org) и загрузить самый свежий архив .tar.bz. С помощью команды mkdir

/srcand создайте каталог для исходного кода и переместите в него архив.

Шаг 06: Распакуйте архив

Распакуйте архив с помощью команды tar -xjvf [имя архива].tar.bz2. Обратите внимание, что соблюдение договоренностей об именовании каталога (имяпакета-версия) является важным для наших целей, и, к счастью, пакет Dillo соответствует им. Также важно, чтобы архив с исходным кодом находится на один уровень выше каталога с исходным кодом.

Шаг 07: Настраиваем под Debian

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

В нашем примере, командная строка тбудет выглядеть следующим образом:

При появлении запроса выберите один двоичный файл. Скрипт-помощник скрипт должен в каталоге с исходным кодом создать каталог с именем Debian.

Шаг 08: Откройте управляющий файл

Откройте в текстовом редакторе управляющий файл в подкаталоге Debian. Заполните раздел «Домашняя страница» (используйте Google для заполнения списка разделов программ Debian) и поля описания этого файла.

Шаг 09: Изучите имеющиеся зависимости

Вы можете изучить, какие зависимости необходимы для запуска программы, поставляемой в виде пакета. Перейдите в каталог с исходными кодами и наберите в терминале команду dpkg-depcheck -d ./configure. Если так сделать, то будут выданы ошибки, указывающие какой отсутствует пакет, необходимый для сборки программы (поставляемой отдельно). Вы можете открыть этот пакет, набрав sudo apt-get build-dep [имя пакета], и это должно помочь, если в репозитарии дистрибутива этот пакет поддерживается. Если он не поддерживается, то вам придется неоднократно запустить команду dpkg-depcheck -d ./configur и добавлять пакеты вручную, набирая команду рsudo apt-get install [имя пакета].

Шаг 10: Добавьте зависимости в управляющий файл

Когда все действия из предыдущего шага будут завершены, у вас должен быть список всех необходимых пакетов. Добавьте этот список зависимостей в раздел depends: управляющего файла. Элемент в списке должны быть разделены запятой и пробелом.

Шаг 11: Отредактируйте файл авторских прав

Попробуйте выполнить этот шаг настолько полно, насколько вы сможете, и не пропускайте его. Source: — это обычно главная страница проекта. В разделе Files: * замените информацию об авторских правах именами авторов проекта. Пример заполнения вы можете увидеть в разделе Files: debian/*, в который должна быть занесена соответствующая информация. Возможно, вам придется немного побыть детективом, чтобы найти необходимую вам информацию. Ищите в каталоге с исходными кодами файлы, такие как AUTHORS и COPYING.

Шаг 12: Отредактируйте файл журнала изменений

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

Шаг 13: Создайте пакет

Если все настроено правильно, мы можем, наконец, собрать пакет DEB. Перейдите в каталог с исходным кодом и для того, чтобы собрать пакет, , который будет помещен в каталог

/src/, наберите команду dpkg-buildpackage -b. Например, создайте пакет с помощью команды dpkg -I [пакет]. Для того, чтобы проверить на соответствие политики Debian, с помощью команды lintian [пакет] запустите программу Lintian. Обратите внимание, что этот инструмент, как известно, строгий, и ваше дело решать, допустимы ли для вас некоторые незначительные предупреждения о несоблюдения. Наконец, установите пакт с помощью команды sudo dpgk -i [пакет].

Читайте также:  Games that support linux

Часть 2: Создание пакетов RPM в Fedora

Шаг 14: Откройте управляющий файл

Перейдите в режим пользователя root, набрав для этого su. Начните с инсталляционной группы Development Tools (Инструменты разработки) в yum, а затем с помощью yum установите упаковщик gcc-c++ fedora-. Наберите команду usermod -a -G mock для того, чтобы добавить вашего пользователя в группу mock. Это позволяет нам выполнять процедуру сборки без необходимости перехода в роль пользователя root.

Шаг 15: Создайте среду сборки

Нажмите Ctrl + D для того, чтобы выйти из роли root. Введите rpmdev-setuptree для того, чтобы создать дерево каталогов (под

/rpmbuild), которое нам необходимо.

Шаг 16: Скачайте архив и переместите его в нужное место

Скачайте пакет Dillo с вебсайта Dillo и переместите архив в соответствующий каталог — наберите команду mv [имя архива]

Шаг 17: Создайте файл .spec

Дистрибутивы, созданные на основе Red Hat, такие как Fedora, используют файлы .spec для задания процесса сборки. Перейдите в каталог, в котором находятся такие файлы, с помощью команды cd

/rpmbuild/SPECS/andcreateablank.spec и создайте пустой файл .spec с помощью команды rpmdev-newspec dillo.

Шаг 18: Отредактируйте файл .spec

Наберите команду gedit dillo.spec. Заполните поля Version (Версия), Summary (Краткое содержание) Licence (Лицензия) (в данном случае — GPLv3+).В URL указывается домашняя страница проекта; в Source0 указывается адрес исходного кода. Укажите комментарии в полях BuildRequires (Требования к сборке) и Requires (Требования). Добавьте полное описание в область %description.

Шаг 19: Выполните сборку исходного кода

Если пакет вообще поддерживается в системе, запустите команду yum-builddep [имя пакета]. В противном случае, вам придется повторять команду сборки для того, чтобы получать сообщения об ошибках, или поискать документацию в архиве с исходным кодом. В каталоге SPEC наберите команду rpmbuild -ba[название пакета].spec. Если эта сборка завершится неудачно и будут выданы сообщения о дополнительных не распакованных файлах, выделите и скопируйте этот список файлов в раздел %files файла .spec и повторите команду сборки. Теперь пакет будет находиться в каталоге RPMS. Наберите команду rpm -ivh [пакет] для того, чтобы его установить. Наберите команду rpm -qa | grep [пакет] для того, чтобы убедиться, что он установлен.

Источник

linux-notes.org

Если вы установили программу Linux с исходного кода, запустив «make install», установка не сильно сложная, но это становится действительно сложным при удалении данной программы, если автор программы не обеспечил удаления в файле Makefile. Вам придется сравнивать полный список файлов в вашей системе до и после установки программы из исходников, и вручную удалить все файлы, которые были добавлены во время установки.

CheckInstall отслеживает все файлы, созданные или измененные с помощью установки командной строки (например, «make install» «make install_modules», и т.д.), и собирает стандартный бинарный пакет, давая вам возможность установливать или удалять его с вашего дистрибутива.

В этой статье «Создание RPM или DEB пакетов с Checkinstall в Linux» я расскажу как это делается только основанных на RedHat’s и Debian’s дистрибутивов и покажу как собрать RPM или DEB пакет с исходного кода, используя Checkinstall.

Установка CheckInstall on Linux.

Чтобы установить Checkinstall на Debian/Ubuntu и остальных debian-оподобных ОС, выполните:

Читайте также:  Linux find exec two commands

Чтобы установить Checkinstall в дистрибутивах основанных на Red Hat, вам нужно будет скачать встроенных .rpm в Checkinstall, можете использовать мой.

Для начала пробуем его найти в ОС:

Если покажет что есть пакет, то его можно установить:

Или качаем пакет:

После установки Checkinstall, вы можете использовать следующий формат чтобы собрать пакет для конкретной ОС:

На Debian 7 выглядит это так:

Опции Checkinstall

*Выбор тип пакета*

-t,—type=
Выбор ОС для сборки пакета.

-S
Собрать пакет для Slackware.

-R
Собрать пакет для RPM’s ОС.

-D
Собрать пакет для Debian’s ОС.

*Опции для установки собранных пакетов*

—install=
Выполнить или не выполнять установку после сборки пакета.

—fstrans=
Enable (включить)/disable (выключить) код перевода файловой системы.

*Опции для скриптов*

-y, —default
Принять ответы на все вопросы, по умолчанию.

—pkgname=
Установить имя.

—pkgversion=
Установить версию.

—pkgrelease=
Установить release.

—pkglicense=

Установить лицензию.

—pkggroup=
Установить software group

—pkgsource=
Установить местоположение сорсов (исходного кода).

—pakdir=
Новый пакет будет сохранен здесь (указать путь).

—maintainer=
Пакет maintainer (.deb).

—provides=

Особенности данного пакета (.rpm).

—requires=

Особенности требуемые этому пакету (.rpm).

—rpmflags=
Передайте эти флаги в rpm установщику.

—rpmi
Используйте опцию «-i» для rpm при установке .rpm.

—rpmu
Используйте опцию «-U» для rpm при установке .rpm.

—dpkgflags=
Передайте эти флаги dpkg установщику (deb ОС).

Местоположение файла .spec.

—nodoc
Не включать файлы документации.

*Опции выводимой информации*

-d
Установить уровни для debug.

-si
Запустить интерактивную установку команды.

—showinstall=
Переключиться на интерактивную установку команды(Да\Нет).

-ss
Запустите интерактивный скрипт установки для Slackware.

—showslack=
Переключиться на интерактивную установку команды(Да\Нет) для Slackware.

* Параметры настройки пакета *

—autodoinst=
Переключать создание скрипта doinst.sh

—strip=
Снимите любые ELF бинарники, найденные внутри пакета

—stripso=
Снимите любые ELF бинарные библиотеки (.so файлы)

—addso=
Искать любые shared libs и добавить их в /etc/ld.so.conf

—reset-uids=
Сбросить привелегии для всех файлов/папок на 755 и владельца/группу для всех директорий на root.root

—gzman=
Сжатие любые страницы man-ы, найденные в пакете

Путь для размещения файла с документацией

—umask=
Установите значение umask

—exclude=
Исключить эти файлы/ каталоги из пакета

—include=

Принудительно включить в пакет файлы/директории, перечисленных в «listfile»

—inspect
Проверить список файлов пакета в

—review-spec
Просмотрить файл spec до создания .rpm

—review-control
Просмотрить файл управления до создания .deb

—newslack
Использовать новый (8.1+) Slackware описание формата («—newslack» implies «-S»)

—with-tar=/path/to/tar
Вручную установите путь к tar binary в этой системе.

* Параметры очистки *

—deldoc=
Удалить doc-pak по окончании.

—deldesc=
Удалить файлы description-pak по окончании.

—delspec=
Удалить файл spec по окончании.

—bk
Резервное копирование любых замененных файлов.

—backup=
Переключить резервного копирования.

*О CheckInstall*

—help, -h
Показать это сообщение.

—copyright
Показать Copyright информацию.

—version
Показать версию программы.

3 thoughts on “ Создание RPM или DEB пакетов с Checkinstall в Linux ”

не я rpm’ки собираю так

dnf install @development-tools
dnf install fedora-packager
dnf install rpmdevtools
rpmdev-setuptree
rpmdev-newspec name.spec
rpmbuild -ba /home/maxim/rpmbuild/SPECS/name.spec

Мое почтение! При попытке собрать htop выдает ошибку —disable-unicode or install libncursesw, при том что у меня установлена библиотека! Что предпочтительнее сделать в данной ситуации?

Попробуйте еще выполнить команды что ниже, должно помочь…
Если используете deb’s ОС (Debian/Ubuntu/Mint):

Если используете rpm’s ОС (CentOS/Fedora/Redhat):

Это решит проблему!

Добавить комментарий Отменить ответ

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Источник

Оцените статью