Rebuilderd - Un sistema di verifica dei pacchetti binari indipendente per Arch Linux

Ricostruito

recentemente è stato annunciato il lancio di "Rebuilderd" che è posizionato come un sistema di verifica indipendente per i pacchetti binari che permette di organizzare la verifica dei pacchetti di una distribuzione implementando un processo di compilazione in esecuzione che confronta i pacchetti scaricabili con i pacchetti ricevuti come risultato della ricostruzione sul sistema locale.

In altre parole, questo sistema fornisce un servizio che monitora lo stato dell'indice del pacchetto e inizia automaticamente a ricostruire nuovi pacchetti nell'ambiente di riferimento, il cui stato è sincronizzato con le impostazioni dell'ambiente Pacchetto di build principale di Arch Linux.

Quando si compila di nuovo, vengono prese in considerazione sfumature come l'esatta corrispondenza delle dipendenze, l'uso di composizioni e versioni invariate degli strumenti di costruzione, la serie identica di opzioni e impostazioni predefinite e il mantenimento dell'ordine di assemblaggio dei file (utilizzando gli stessi metodi di ordinamento).

Le impostazioni del processo di compilazione escludono il compilatore dall'aggiunta di informazioni generali incoerenti come valori casuali, collegamenti a percorsi di file e dati sulla data e l'ora di compilazione.

Informazioni su Rebuilderd

Attualmente è disponibile solo il supporto sperimentale per il controllo dei pacchetti Arch Linux con ricostruitore, ma prevede di aggiungere presto il supporto Debian.

Attualmente, build ripetibili sono fornite per l'84.1% dei pacchetti dal repository principale di Arch Linux, l'83.8% dal repository extra e il 76.9% dal repository della community. Per confronto, in Debian 10 questa cifra è del 94,1%.

Considerando che le build sono una parte importante della sicurezza, in quanto dare a qualsiasi utente l'opportunità di garantire che i pacchetti byte per byte offerti dal pacchetto di distribuzione corrispondono a quelli compilati personalmente dal sorgente.

Senza la capacità di verificare l'identità del binario compilato, l'utente può solo fidarsi ciecamente dell'infrastruttura di compilazione di qualcun altro, compromettendo il compilatore o gli strumenti di compilazione dove può portare alla sostituzione dei marker nascosti.

Installazione ed esecuzione

Nel caso più semplice, per eseguire rebuilderd è sufficiente installare il pacchetto rebuilderd dal normale repository, importare la chiave GPG per verificare l'ambiente e attivare il servizio di sistema corrispondente. È possibile implementare una rete di più istanze ricostruite.

Installare, dobbiamo aprire un terminale e in esso digitiamo il seguente comando:

sudo pacman -S rebuilderd

Fatto questo, ora dobbiamo importare la chiave GPG, poiché Rebuilderd deve verificare l'immagine di avvio di Arch Linux, per questo nel terminale dovremo digitare il seguente comando:

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

Dopodichè dobbiamo aggiungere il nostro utente al gruppo Rebuilderd, da allora potremmo ricevere un errore:

usermod -aG rebuilderd $USER

Ora dobbiamo semplicemente verificare che Rebuilderd sia già in esecuzione riguardo al sistema, per questo non ci resta che digitare:

rebuildctl status

E se vogliamo condividere i risultati in rete, dobbiamo digitare:

systemctl enable –now rebuilderd rebuilderd-worker @ alpha

Ora è importante tenere in considerazione che Rebuilderd non entrerà in azione finché non viene specificato esplicitamente da dove sono sincronizzati i pacchetti di sistema, per questo dobbiamo modificare il file /etc/rebuilderd-sync.conf dove sono configurati i profili di sincronizzazione e che i nomi dei profili sono univoci:

Un esempio di ciò è il seguente:

## 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"]

Una volta modificato il file, devi semplicemente abilitare il timer per sincronizzare automaticamente il profilo:

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

Infine se vuoi saperne di più su Rebuilderd, dovrebbero sapere che è scritto in Rust ed è distribuito sotto licenza GPLv3 e puoi controllare tutti i suoi dettagli e il codice nel seguente link


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile dei dati: Miguel Ángel Gatón
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.