Eu quero criar vários pacotes deb, mas não sei como os pacotes de "assinatura" funcionam. Então, eu queria saber como criar um pacote deb assinado.
Eu quero criar vários pacotes deb, mas não sei como os pacotes de "assinatura" funcionam. Então, eu queria saber como criar um pacote deb assinado.
Respostas:
A assinatura de pacotes nos sistemas Ubuntu / Debian é bastante confusa. Em teoria, assinar um pacote deb torna possível para a pessoa que está recebendo o seu pacote verificar se o pacote não foi modificado depois que você o assinou. Na realidade, a verificação de assinatura é extremamente difícil de configurar e está desativada por padrão. A menos que o usuário faça várias configurações localmente, ele não verificará a assinatura quando o pacote estiver instalado.
Para assinar um pacote, você pode usar: debsigs ou dpkg-sig. As assinaturas não são compatíveis entre si, portanto, você precisará garantir que o usuário esteja usando a ferramenta adequada no lado de recebimento para verificar assinaturas.
O dpkg-sig é mais fácil de usar para você e para o usuário, mas o debsigs é a ferramenta com suporte embutido (que é desativado por padrão) no Ubuntu e Debian.
Eu escrevi uma postagem no blog contendo todos os detalhes técnicos da assinatura e verificação dos pacotes de origem (arquivos .dsc), pacotes binários (.deb) e repositórios de pacotes APT aqui: http://blog.packagecloud.io/eng/2014/ 10/28 / howto-gpg-sign-Verifique-deb-packages-apt-repositories /
A assinatura de pacotes no Debian / Ubuntu geralmente é feita através de arquivos .changes. Ao compilar um pacote, você tende a terminar com um arquivo .changes, listando os resultados da compilação (pacotes de origem e / ou binários) e suas somas de verificação; quando você assina pacotes, normalmente esse é o arquivo que você assina (permitindo a verificação do integridade do pacote por meio de sua soma de verificação).
A maneira mais simples de assinar um arquivo .changes é usar debsign
debsign hello_1.0_amd64.changes
Isso ocorre automaticamente se você possui uma chave primária no seu chaveiro do gnupg e executa dpkg-buildpackage
ou debuild
sem as opções -us
e -uc
.