Инструмент управления пакетами Debian dpkg — это низкоуровневый инструмент, который работает только в дистрибутивах Linux на базе Debian. dpkg используется для поиска, установки, удаления, очистки, распаковки и т.д. пакетов debian.
В этой статье мы рассмотрим основы создания пользовательских пакетов .deb и управления ими с помощью dpkg и apt.
Мы также рассмотрим процесс создания собственного deb-пакета с помощью инструмента dpkg-deb и его установку с помощью dpkg и apt.
Этот блог предназначен для тех, кто заинтересован в изучении основ создания и управления пакетами в дистрибутивах на базе Debian.
Файл .deb — это пакет Debian. Инструмент dpkg — это менеджер пакетов Debian, а apt — это инструмент более высокого уровня для управления пакетами, который использует dpkg внутри.
Теперь давайте поиграем с dpkg-deb
Как создать deb пакет
Для примера, я хочу создать deb-пакет с темой, чтобы в дальнейшем можно было легко установить ее в другую систему на базе Debian.
Сначала создайте каталог с названием вашей темы. В этом каталоге будут храниться все необходимые файлы пакетов:
mkdir nordic-theme
Затем создайте каталог DEBIAN и управляющий файл:
mkdir nordic-theme/DEBIAN
nano nordic-theme/DEBIAN/control
Внутри управляющего файла мы вводим следующую информацию:
Package: nordic-theme
Version: 1.0
Section: custom
Priority: optional
Architecture: all
Essential: no
Installed-Size: 1024
Maintainer: linuxcool.net
Description: Theme for gnome shell
Отлично, единственное, чего не хватает — это нашей темы. Внутри каталога nordic-theme мы создаем дерево каталогов, представляющее путь, по которому наша тема будет установлена в системе, и копируем в него файлы темы
Например, темы в linux-системах хранятся по адресу «/usr/share/themes/», то есть в нашей папке nordic-theme должна быть папка «DEBIAN«, а также папка «usr«, в которой будет «share«, далее «themes«, и сюда мы должны скопировать предварительно скачанную тему.
mkdir -p nordic-theme/usr/share/themes/
После того как вы скопировали тему, можно собирать deb-пакет
dpkg-deb --build nordic-theme
linuxcool@fox-pc:~/Документы$ dpkg-deb -b nordic-theme
dpkg-deb: building package ‘nordic-theme’ in ‘nordic-theme.deb’.
linuxcool@fox-pc:~/Документы$
Вы можете изменить название пакета так, чтобы оно включало версию программы и архитектуру пакета. Например:
mv nordic-theme.deb nordic-theme-1.0.deb
Все готово! Наш пакет готов! (ПРИМЕЧАНИЕ: это просто пример, создание официальных пакетов требует больше работы).
Теперь вы можете установить свой пакет с помощью команды
sudo dpkg -i nordic-theme.deb
Как распаковать deb-пакет
Иногда, вам может понадобиться распаковать deb-пакет. Это очень просто сделать одной командой
dpkg-deb -R nordic-theme.deb nordic-theme
Где «nordic-theme.deb» — это ваш пакет, а «nordic-theme», это название директории в которую помещаются распакованные файлы.
На этом все. Если вы знаете другие способы упаковки или распаковки debian пакетов, поделитесь ниже в комментариях.