Adicionando scripts de instalação post .deb

17

Então, estou construindo um .debe preciso executar alguns comandos pós-instalação (vinculando caminhos de bibliotecas e outras coisas).

Existe uma maneira de tê-lo assim, quando você faz um sudo dpkg -i <pacakage-name>.deb, um script é executado?

jrg
fonte

Respostas:

21

Você pode executar comandos após a instalação usando o script shell postinst localizado na pasta debian na fonte.

Este é um script de shell normal que contém todos os comandos a serem executados (em ordem) após a instalação do pacote. O dpkg irá executar isso automaticamente. Então, tudo o que você precisa fazer é criar um shell script antes de colocar seu pacote fonte em um pacote binário, nomeá-lo como 'postinst' e colocá-lo no diretório debian.

Para mais informações, visite o Ubuntu Packaging Guide .

manipulado
fonte
A página não existe mais ...
Ionică Bizău
2
A página existe, o link está errado (há uma duplicata '/ html' no final). O link correto é packaging.ubuntu.com/html . Mas talvez a página tenha mudado, porque achei o packaging.ubuntu.com/html/packaging-new-software.html mais útil.
Knetic
Cuidado, o postinst não é executado após a "instalação do pacote", após a extração dos arquivos do pacote deb ", o processo de instalação pode falhar e o postinst ainda está sendo executado.
Miguel Ortiz
Não, @ Miguel, se o processo de instalação encontrar um erro antes das postinstexecuções, ele postinstnão será executado.
Stephen Kitt
@StephenKitt Atualmente, estou trabalhando com um pacote deb que não atendeu às dependências e realmente executou o postinst. Vou tentar atualizar minha resposta com as informações do laboratório.
Miguel Ortiz