Eu tenho um pacote Debian com script postinst que cria links simbólicos. Quando tento instalar o .deb
pacote --root
(já que quero alterar o local onde o pacote deve ser instalado), recebo este erro:
dpkg (subprocess): unable to execute installed post-installation script: No such file or directory
subprocess installed post-installation script returned error exit status 2
dpkg
está tentando encontrar o script postinst em /var/lib/dpkg/info
. O que não consigo entender é que, de acordo com a dpkg
página de manual, o uso da opção também --root
altera o admindir
to . Então, por que ele está tentando encontrar o script postinst em ?newdir/var/lib/dpkg
/var/lib/dpkg/info/
Tentei criar outro pacote que não contém esse script de mantenedor e instalei-o usando a mesma -i --root=newdir
opção e não gerou nenhum erro.
Por favor, deixe-me saber como posso fazer isso funcionar.
Responder1
dpkg
encontrou o script postinst /your/root/var/lib/dpkg/info
- ele tentou executá-lo. Parece que o problema é umcarregador faltando: dpkg
encontra o script postinst, mas recebe um erro “Esse arquivo ou diretório não existe” quando tenta executá-lo porque o programa interpretador do script não está presente (por exemplo, é um script Python e python-minimal
não está instalado). Com um instdir alternativo, o interpretador deve estar presente no instdir (o dpkg faz chroot no instdir antes de executar os scripts do pacote).
Se o intérprete não for fornecido por um pacote marcado com Essential
, certifique-se de que seu pacote depende do pacote que fornece o intérprete.