среда установки dpkg

Я пытаюсь создать .deb, который в процессе установки проверяет связь с внешним сервером.

Итак, у меня есть скрипт install_foobar, который выполняет установку.

Однако я не могу вывести install_foobar на curl на сервер или, в этом отношении, вывести на /tmp.

Какова среда, которая создается? Мне интересно, если это какой-то мир в стиле pbuilder, который удаляется после завершения установки ...

-1
задан 22 February 2012 в 23:15

1 ответ

Для выполнения каких-либо действий, кроме распаковки файлов во время установки / удаления, вам необходимо использовать сценарии сопровождающего пакета

(обратите внимание, что «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
0
ответ дан 22 February 2012 в 23:15

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

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