dpkg ambiente de instalação

-1

Estou tentando criar um .deb que, como parte de seu processo de instalação, pinga um servidor externo.

Portanto, tenho um script install_foobar que faz a instalação.

No entanto, não consigo instalar install_foobar em curl para o servidor ou, por sinal, ecoar para / tmp.

Qual é o ambiente criado? Eu estou querendo saber se é algum tipo de mundo pbuilder-esque que é removido após a instalação terminar ...

    
por Paul Nathan 22.02.2012 / 20:15

1 resposta

0

Para realizar qualquer ação além de descompactar arquivos no momento da instalação / remoção, você precisará fazer uso de scripts do mantenedor de pacotes

(Nota, "pinging home" é frequentemente visto como uma prática um tanto duvidosa pelo software, se feito sem o consentimento do usuário, embora considerando que este é um pacote interno, eu acho que não é realmente um problema).

Um exemplo aproximado seria usar um packagename.postinst algo assim:

#!/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

Obviamente, você precisaria de uma remoção correspondente nos scripts pré / postrm se tivesse adicionado arquivos permanentes nos scripts de pré / pós-instalação.

Modelos para scripts preinst, postinst, prerm e postrm estão disponíveis no pacote dh-make, nos arquivos

 /usr/share/debhelper/dh_make/debian/*.ex
    
por arand 26.06.2012 / 14:58