Rebuilderd - um sistema independente de verificação de pacote binário para Arch Linux

Reconstruído

Faz pouco o lançamento de "Rebuilderd" foi anunciado que está posicionado como um sistema de verificação independente para pacotes binários que permite organizar a verificação dos pacotes de uma distribuição implementando um processo de construção em execução que compara os pacotes para download com os pacotes recebidos como resultado da reconstrução no sistema local.

Em outras palavras, este sistema fornece um serviço que monitora o status do índice de pacotes e começa a reconstruir automaticamente novos pacotes no ambiente de referência, cujo estado está sincronizado com as configurações do ambiente Pacote de construção principal do Arch Linux.

Ao compilar novamente, nuances como a correspondência exata das dependências são levadas em consideração, o uso de composições e versões inalteradas das ferramentas de construção, o conjunto idêntico de opções e configurações padrão e a preservação da ordem de montagem do arquivo (usando os mesmos métodos de classificação).

As configurações do processo de construção impedem o compilador de adicionar informações gerais inconsistentes, como valores aleatórios, links para caminhos de arquivo e dados sobre a data e hora de compilação.

Sobre o Rebuilderd

Atualmente, apenas o suporte experimental está disponível para verificar os pacotes do Arch Linux com o rebuilderd, mas planeja adicionar suporte Debian em breve.

Atualmente, compilações repetíveis são fornecidas para 84.1% dos pacotes do repositório principal do Arch Linux, ele 83.8% do repositório extras e 76.9% do repositório da comunidade. Para comparação, no Debian 10 esse número é 94,1%.

Visto que as compilações são uma parte importante da segurança, pois dar a qualquer usuário a oportunidade de garantir que os pacotes byte-a-byte oferecidos pelo pacote de distribuição correspondam aos compilados pessoalmente do código-fonte.

Sem a capacidade de verificar a identidade do binário compilado, o usuário só pode confiar cegamente na infraestrutura de construção de outra pessoa, comprometendo o compilador ou as ferramentas de compilação, o que pode levar à substituição de marcadores ocultos.

Instalação e execução

No caso mais simples, para executar o rebuilderd é suficiente instalar o pacote rebuilderd do repositório normal, importar a chave GPG para verificar o ambiente e ativar o serviço de sistema correspondente. É possível implementar uma rede de várias instâncias reconstruídas.

Para instalar, devemos abrir um terminal e nele digitamos o seguinte comando:

sudo pacman -S rebuilderd

Feito isso, agora devemos importar a chave GPG, uma vez que O Rebuilderd deve verificar a imagem de boot do Arch Linux, para isso no terminal teremos que digitar o seguinte comando:

gpg --auto-key-locate nodefault,wkd --locate-keys pierre@archlinux.de

Depois disto temos que adicionar nosso usuário ao grupo Rebuilderd, uma vez que podemos receber um erro:

usermod -aG rebuilderd $USER

Agora nós simplesmente temos que verificar se o Rebuilderd já está em execução sobre o sistema, para isso, basta digitar:

rebuildctl status

E se quisermos compartilhar resultados na rede, temos que digitar:

systemctl enable –now rebuilderd rebuilderd-worker @ alpha

Agora é importante levar em consideração que o Rebuilderd não entrará em ação até que seja explicitamente especificado de onde os pacotes do sistema são sincronizados, para isso temos que modificar o arquivo /etc/rebuilderd-sync.conf onde os perfis de sincronização estão configurados e que os nomes dos perfis são únicos:

Um exemplo disso é o seguinte:

## rebuild all of core
[profile."archlinux-core"] distro = "archlinux"
suite = "core"
architecture = "x86_64"
source = "https://ftp.halifax.rwth-aachen.de/archlinux/core/os/x86_64/core.db"


## rebuild community packages of specific maintainers
#[profile."archlinux-community"] #distro = "archlinux"
#suite = "community"
#architecture = "x86_64"
#source = "https://ftp.halifax.rwth-aachen.de/archlinux/community/os/x86_64/community.db"
#maintainer = ["somebody"]

Uma vez que o arquivo foi modificado, você simplesmente tem que ativar o cronômetro para sincronizar automaticamente o perfil:

systemctl enable --now rebuilderd-sync@archlinux-core.timer

Finalmente se você quiser saber mais sobre o Rebuilderd, eles devem saber que é escrito em Rust e é distribuído sob a licença GPLv3 e você pode verificar todos os seus detalhes e o código no link a seguir.


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.