Rebuilderd - niezależny system weryfikacji pakietów binarnych dla Arch Linux

przebudowany

Ostatnio ogłoszono uruchomienie programu „Rebuilderd” który jest ustawiony jako niezależny system weryfikacji pakietów binarnych oferuje nasz konfigurator pozwala na zorganizowanie weryfikacji pakietów dystrybucji implementując stale działający proces kompilacji, który porównuje pakiety do pobrania z pakietami otrzymanymi w wyniku przebudowy w systemie lokalnym.

Innymi słowy system ten zapewnia usługę, która monitoruje stan indeksu pakietów i automatycznie rozpoczyna odbudowę nowych pakietów w środowisku referencyjnym, którego stan jest zsynchronizowany z ustawieniami środowiska Arch główny pakiet kompilacji Linux.

Podczas ponownej kompilacji Uwzględniane są niuanse, takie jak dokładna zgodność zależności, użycie kompozycji i niezmienionych wersji narzędzi kompilacji, identyczny zestaw opcji i ustawień domyślnych oraz zachowanie kolejności składania plików (przy użyciu tych samych metod sortowania).

Ustawienia procesu kompilacji wykluczają dodawanie przez kompilator niespójnych ogólnych informacji, takich jak wartości losowe, łącza do ścieżek plików oraz dane o dacie i godzinie kompilacji.

Informacje o Rebuilderd

Obecnie dostępna jest tylko eksperymentalna obsługa sprawdzania pakietów Arch Linux z rebuilderdem, ale planuje wkrótce dodać obsługę Debiana.

Obecnie Powtarzalne kompilacje są dostępne dla 84.1% pakietów z głównego repozytorium Arch Linux, 83.8% z repozytorium dodatków i 76.9% z repozytorium społeczności. Dla porównania, w Debianie 10 liczba ta wynosi 94,1%.

Natomiast kompilacje są ważną częścią bezpieczeństwa, ponieważ pozwalają dać każdemu użytkownikowi możliwość zapewnienia że pakiety bajt po bajcie oferowane przez pakiet dystrybucyjny odpowiadają pakietom skompilowanym osobiście ze źródła.

Bez możliwości zweryfikowania tożsamości skompilowanego pliku binarnego użytkownik może tylko ślepo zaufać infrastrukturze kompilacji innej osoby, narażając kompilator lub narzędzia kompilacyjne, gdzie może to prowadzić do zastępowania ukrytych znaczników.

Instalacja i wykonanie

W najprostszym przypadku, aby uruchomić rebuilderd wystarczy zainstalować pakiet rebuilderd z normalnego repozytorium, zaimportować klucz GPG w celu weryfikacji środowiska i aktywować odpowiednią usługę systemową. Możliwe jest zaimplementowanie sieci wielu przebudowanych instancji.

Żeby zainstalować, musimy otworzyć terminal iw nim piszemy następujące polecenie:

sudo pacman -S rebuilderd

Zrobiłem to, teraz musimy zaimportować klucz GPG, ponieważ Rebuilderd musi zweryfikować obraz rozruchowy Arch Linux, w tym celu w terminalu będziemy musieli wpisać następujące polecenie:

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

Po tym musimy dodać naszego użytkownika do grupy Rebuilderd, ponieważ możemy otrzymać błąd:

usermod -aG rebuilderd $USER

Teraz po prostu musimy sprawdzić, czy Rebuilderd już działa o systemie, w tym celu wystarczy wpisać:

rebuildctl status

A jeśli chcemy udostępniać wyniki w sieci, musimy wpisać:

systemctl enable –now rebuilderd rebuilderd-worker @ alpha

Teraz ważne jest, aby wziąć pod uwagę, że Rebuilderd nie zadziała, dopóki nie zostanie wyraźnie określone, skąd pakiety systemowe są synchronizowane, w tym celu musimy zmodyfikować plik /etc/rebuilderd-sync.conf, w którym skonfigurowane są profile synchronizacji i że nazwy profili są unikalne:

Oto przykład:

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

Po zmodyfikowaniu pliku wystarczy włączyć zegar, aby automatycznie synchronizował profil:

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

W końcu jeśli chcesz dowiedzieć się więcej o Rebuilderd, powinni wiedzieć, że jest napisany w Rust i jest rozprowadzany na licencji GPLv3 i możesz sprawdzić wszystkie jego szczegóły i kod W poniższym linku.


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.