Я пытаюсь создать .deb, который в процессе установки проверяет связь с внешним сервером.
Итак, у меня есть скрипт install_foobar, который выполняет установку.
Однако я не могу вывести install_foobar на curl
на сервер или, в этом отношении, вывести на /tmp.
Какова среда, которая создается? Мне интересно, если это какой-то мир в стиле pbuilder, который удаляется после завершения установки ...
Для выполнения каких-либо действий, кроме распаковки файлов во время установки / удаления, вам необходимо использовать сценарии сопровождающего пакета
(обратите внимание, что «pinging home» часто рассматривается как несколько сомнительная практика программного обеспечения, если это делается без согласия пользователя, хотя, учитывая, что это внутренний пакет, я думаю, это не проблема).
Грубый пример будет использовать packagename.postinst примерно так:
#!/bin/sh
# postinst script for #PACKAGE#
#
# see: dh_installdeb(1)
set -e
# summary of how this script can be called:
# * <postinst> `configure' <most-recently-configured-version>
# * <old-postinst> `abort-upgrade' <new version>
# * <conflictor's-postinst> `abort-remove' `in-favour' <package>
# <new-version>
# * <postinst> `abort-remove'
# * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
# <failed-install-package> <version> `removing'
# <conflicting-package> <version>
# for details, see http://www.debian.org/doc/debian-policy/ or
# the debian-policy package
case "$1" in
configure)
ping server.net # ADD ACTIONS HERE
echo foo > /tmp/foo # ETC.
;;
abort-upgrade|abort-remove|abort-deconfigure)
;;
*)
echo "postinst called with unknown argument \`$1'" >&2
exit 1
;;
esac
# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.
#DEBHELPER#
exit 0
Очевидно, что вам потребуется соответствующее удаление в сценариях pre / postrm, если вы добавили какие-либо постоянные файлы в pre / сценарии postinstall.
Шаблоны для сценариев preinst, postinst, prerm и postrm доступны через пакет dh-make в файлах
/usr/share/debhelper/dh_make/debian/*.ex