Существует ли путь к postinst, пред, и т.д. scriptlets для доступа к информации в файле управления Debian при установке?
e.g.
Package: name
Version: 0.1-1
Depends: ...
По-видимому, postinst, пред, и т.д. scriptlets выполняются в среде, созданной dpkg. Управляющей информацией являются переменные среды, к которым может получить доступ scriptlets.
e.g.
DPKG_MAINTSCRIPT_ARCH=all
DPKG_RUNNING_VERSION=1.16.10
DPKG_MAINTSCRIPT_NAME=postinst
DPKG_MAINTSCRIPT_PACKAGE=zip
DPKG_NO_TSTP=yes
DPKG_ADMINDIR=/var/lib/dpkg
Существует несколько способов сделать это, но способ, которым мне нравится делать это, при помощи dpkg
.
Попробуйте это:
mkdir /tmp/pkg-tmp
dpkg -e ./path/to/file.deb /tmp/pkg-tmp
cat /tmp/pkg-tmp/control
rm -rf /tmp/pkg-tmp
postinst, preinst, и prerm сценарии будут там также. Если нет никаких названных файлов preinst
, postinst
, postrm
, или prerm
, затем это означает, что ни один из тех сценариев не часть упаковки Debian.
Некоторые пакеты могли бы иметь всех их, только 1 или 2, или ни один - просто не зависит от пакета.
Если пакет находится в репозитории APT, можно работать apt-get download package-name
для первой загрузки пакета Debian в текущем каталоге затем выполните упомянутые выше команды.
Я записал сообщение в блоге об извлечении пакетов Debian и исследовании файла управления, предварительно установите, постустановите, prerm файлы, который имеет больше информации.