Para onde vão os arquivos temporários durante a instalação de um pacote .deb?

2

Estou criando um pacote .deb que precisa de um banco de dados MySQL. Eu estou construindo o pacote usando dpkg-deb --build . Durante a instalação, quero que meu script de pós-instalação execute um script SQL para configurar o banco de dados da seguinte forma:

cat setup.sql | mysql -u root -p

Atualmente, estou colocando setup.sql na pasta "DEBIAN" do meu pacote. Qual caminho eu preciso especificar no meu script de pós-instalação para encontrar este script SQL?

Sei que posso incorporar o conteúdo do SQL no meu script de pós-instalação, mas quero mantê-lo separado por motivos de manutenção de código.

    
por AlastairG 15.11.2017 / 16:09

1 resposta

4

Você não pode facilmente (se é que) acessa os arquivos adicionados a DEBIAN em um pacote criado com dpkg-deb -b - esses arquivos acabam na área de informações de controle do pacote binário, eles não são instalados como tal (na verdade, não tenho certeza se arquivos não-padrão estão incluídos no pacote; os arquivos padrão acabam em /var/lib/dpkg/info ).

Você deve instalar seu script em /usr/share/yourpackage (substituindo yourpackage pelo nome do seu pacote). Então, seu postinst pode acessá-lo lá.

Idealmente , você deve usar dbconfig-common ; que suporta uma ampla variedade de casos de uso e configurações de banco de dados. Isso envolveria mais trabalho inicial, mas resultaria em um pacote muito mais versátil.

    
por 17.11.2017 / 12:54

Tags