Вопрос или проблема
Я хочу установить свое новое приложение для git hub в систему, используя команду типа
apt-get install <имя_приложения>
вместо того, чтобы клонировать репозиторий git, компилировать и перемещать файл в папку /bin/.
Вы можете сделать это
apt install -y python3 python3-pip
apt install -y git
pip3 install git+https://github.com/path/to.git
При установке проекта из исходников вы можете сделать следующее:
git checkout ...
cd $_
make
sudo make install
Но то, о чем вы говорите, это управление пакетами, что является шагом выше. Управление пакетами помогает вам с обновлениями, удалением и проверкой установки.
Существует несколько способов сделать это для дистрибутивов на основе Debian (cpack
, dpkg-deb
), но лучший способ – это то, как это делается в Debian, и задокументировано в руководстве для новых мейнтейнеров Debian:
https://www.debian.org/doc/manuals/maint-guide/
В итоге, создайте директорию debian/
в вашем проекте. Шаблоны могут быть сгенерированы с помощью dh_make
. Вам понадобятся несколько файлов:
debian/rules
описывает, как собрать пакет, и если у вас простая настройкаcmake && cmake --build
,pybuild
или./configure && make
, вы часто можете просто использовать стандартныйdh
шаблон.debian/copyright
описывает, кто написал пакет (или его компоненты)debian/control
описывает имя пакета, зависимости, описаниеdebian/changelog
описывает версию и примечания к релизуdebian/source/format
описывает, является ли это upstream или native пакетом, и использует ли он патчи.
Как только вы определили эти файлы, вы можете собрать бинарный пакет (*.deb
) и исходный пакет (*.dsc
) с помощью dpkg-buildpackage
для прямой сборки или debuild
, который также включает такие вещи, как lintian
для проверки на соответствие политике Debian.
Вы можете sudo apt install mypackage_version_arch.deb
напрямую или поместить его в репозиторий apt, чтобы любой, кто добавит вас в свой /etc/apt/sources.list
, мог установить ваш пакет по имени.
Ответ или решение
Установка приложения из репозитория Git с использованием пакета apt-get
на системах на базе Debian (и, соответственно, Ubuntu) может быть несколько сложной задачей, поскольку подобный подход предполагает использование системы управления пакетами для упрощения процесса установки и обновления программного обеспечения. В данной статье мы рассмотрим, как создать собственный пакет .deb
, который можно будет установить с помощью apt-get
.
Шаг 1: Установка необходимых инструментов
Для начала необходимо установить базовые инструменты для создания пакетов. Для этого выполните следующие команды в терминале:
sudo apt-get update
sudo apt-get install build-essential devscripts debhelper
Шаг 2: Создание структуры проекта
Перейдите в каталог, где вы хотите создать свою папку проекта, а затем создайте его:
mkdir mypackage
cd mypackage
Создайте подкаталог debian
:
mkdir debian
Шаг 3: Настройка файлов в каталоге debian
В каталоге debian
создайте необходимые файлы:
-
debian/control — описывает зависимости пакета:
Source: mypackage Section: utils Priority: optional Maintainer: Ваше Имя <ваш.email@example.com> Build-Depends: debhelper (>= 9) Standards-Version: 3.9.5 Homepage: https://github.com/path/to.git Vcs-Git: https://github.com/path/to.git Package: mypackage Architecture: any Depends: ${shlibs:Depends}, ${misc:Depends} Description: Краткое описание вашего пакета Подробное описание вашего пакета.
-
debian/rules — файл, который управляет сборкой:
#!/usr/bin/make -f %: dh $@ override_dh_auto_build: make
-
debian/copyright — информация о праве:
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: mypackage Source: https://github.com/path/to.git Files: * Copyright: © 2023 Ваше Имя License: GPL-3
-
debian/changelog — изменения в проекте:
mypackage (0.1-1) unstable; urgency=medium * Перв release -- Ваше Имя <ваш.email@example.com> Mon, 01 Jan 2023 12:00:00 +0000
Шаг 4: Сборка пакета
После того как все файлы созданы, можно собрать пакет, выполнив команду в корне вашего проекта:
dpkg-buildpackage -us -uc
Это создаст .deb
файл в родительском каталоге.
Шаг 5: Установка пакета
Теперь вы можете установить созданный пакет с помощью apt
:
sudo apt install ../mypackage_0.1-1_amd64.deb
Шаг 6: Добавление в репозиторий
Если вы хотите, чтобы другие пользователи могли легко устанавливать ваш пакет, вам необходимо создать APT-репозиторий. Есть несколько способов сделать это, например, с использованием reprepro
или aptly
. Вам нужно будет создать соответствующий репозиторий и добавить его ссылку в файл /etc/apt/sources.list
.
Заключение
Создание пакета .deb
и его установка с использованием apt-get
облегчает управление зависимостями и позволяет вам использовать преимущества системы управления пакетами в Debian/Ubuntu, такие как автоматические обновления и удаление. Подробное следование каждому шагу поможет вам установить ваше приложение без необходимости ручного клонирования и компиляции исходного кода.