В этой статье описывается простой способ создать самодельный пакет debian с нуля и упаковать в него наше собственное приложение.
Из этого руководства вы узнаете:
- Как создать простой пакет Debian
- Установка локального файла .deb
Создание двоичного исполняемого файла
Первое, что нам нужно сделать, это создать простую программу на C ++, скомпилировать ее и протестировать. Для простого понимания приведенного ниже кода просто распечатайте сообщение на экране.
#include <iostream> int main() { using namespace std; cout << "Custom package Build by Prashant Divate\n"; }
сохраните код как mypackage.cc и скомпилируйте его с помощью компилятора g ++.
ПРИМЕЧАНИЕ: Для использования компилятора g ++ необходимо предварительно установить пакет, необходимый для сборки, или вы можете установить его, запустив.
$ sudo apt-get install build-essential
Для компиляции и тестирования кода мы используем следующую команду linux:
$ g++ mypackage.cc -o mypackage $ ./mypackage Custom package Build by Prashant Divate
Создание пакета Debian
Для этого мы используем инструмент dpkg-deb. Прежде всего, нам нужно создать структуру пакета debian. Сначала создайте каталог с именем mypackage. В этом каталоге будут храниться все необходимые файлы пакетов:
$ mkdir mypackage
Затем создайте каталог DEBIAN и управляющий файл:
$ mkdir mypackage/DEBIAN $ vim mypackage/DEBIAN/control
Внутри контрольного файла мы вводим следующую информацию:
Package: mypackage Version: 1.0 Section: custom Priority: optional Architecture: all Essential: no Installed-Size: 1024 Maintainer: [email protected] Description: Print simple custom message on the screen
Отлично, теперь внутри каталога mypackage мы создаем дерево каталогов, которое представляет путь, по которому двоичный файл нашего пакета будет установлен в системе, и копируем двоичный файл по этому пути.
$ mkdir -p mypackage/usr/bin/ $ cp /path/to/mypackage mypackage/usr/bin/
На этом этапе мы готовы создать пакет
$ dpkg-deb --build mypackage dpkg-deb: building package `mypackage' in `mypackage.deb'. $ ls mypackage mypackage.deb
Если вы хотите изменить имя пакета, чтобы оно включало версию программы и архитектуру пакета. Например:
$ mv mypackage.deb mypackage-1.0_amd64.deb
Все готово 👍 Наша посылка готова!
Чтобы установить наш пакет, теперь мы можем использовать команды dpkg как:
$ sudo chmod a+x mypackage-1.0_amd64.deb $ dpkg -i mypackage-1.0_amd64.deb Selecting previously unselected package mypackage. (Reading database ... 288318 files and directories currently installed.) Preparing to unpack mypackage-1.0_amd64.deb ... Unpacking mypackage (1.0) ... Setting up mypackage (1.0) ... $ mypackage Custom package Build by Prashant Divate
Проверьте путь к установленному пакету с помощью команды:
$ which mypackage /usr/bin/mypackage
Чтобы удалить пакет из системы, просто запустите:
$ sudo apt remove mypackage Reading package lists... Done Building dependency tree Reading state information... Done The following packages will be REMOVED: mypackage 0 upgraded, 0 newly installed, 1 to remove and 49 not upgraded. After this operation, 1,049 kB disk space will be freed. Do you want to continue? [Y/n] y (Reading database ... 288318 files and directories currently installed.) Removing mypackage (1.0) ...
Если вам понравилась эта статья, порекомендуйте и поделитесь.