Создайте debian пакет, который устанавливает другой debian пакет (не из репозитория)

Я хотел бы знать, возможно ли иметь debian пакет, который устанавливает другой пакет как зависимость, которая не доступна из debian/ubuntu репозиториев.

Так позволяет, говорят, что у меня есть пакет A.deb который зависит от B.deb но B.deb не доступно ни в каком репозитории. Оба A.deb и B.deb доступны только на локальном жестком диске. Есть ли способ установить A.deb (например, с apt install ./A.deb) таким образом, что это автоматически также установит B.deb?

0
задан 23 November 2018 в 01:22

1 ответ

Создайте локальный tivial Репозиторий. Поместите и A.deb и B.deb в нем. * Создайте папку Repo. * Скопируйте все .deb файлы в нем. * Теперь создайте Packages индексный файл.

$ dpkg-scanpackages Repo > Repo/Packages
$ gzip -c Repo/Package > Repo/Packages.gz
  • Создайте запись для Repo в sources.list.

    $ mkdir /etc/apt/sources.list.d
    
    $ touch /etc/apt/sources.list.d/Repo.list
    
    $ echo "deb [trusted=yes] file:/Repo /" > /etc/apt/sources.list.d/Repo.list
    

Если это показывает, что недостающий файл InRelease или склонное использование файла Release.gpg - добираются.

Теперь склонный будет искать недостающие зависимости в Вашем Персональном Repo также. И если A.deb будет зависеть от B.deb, то он установит его.

Если Вы хотите создать пакет, чтобы загрузить и установить различные пакеты от различных местоположений. Можете быть Вы, может использовать Debian preinst, postinst, prerm, и postrm сценарии.

7.6 Что такое Debian preinst, postinst, prerm, и postrm сценарий?

Эти файлы являются исполняемыми скриптами, которые автоматически запущены, прежде или после того, как пакет установлен или удален. Наряду с файлом, названным управлением, все эти файлы являются частью раздела "управления" архивного файла Debian.

https://www.debian.org/doc/manuals/debian-faq/ch-pkg_basics.en.html

0
ответ дан 27 October 2019 в 02:26

Другие вопросы по тегам:

Похожие вопросы: