Rebuilderd - Независимая система проверки двоичных пакетов для Arch Linux

Rebuilderd

Недавно было объявлено о запуске Rebuilderd который позиционируется как независимая система проверки бинарных пакетов что позволяет организовать проверку пакетов дистрибутива путем реализации непрерывного процесса сборки, который сравнивает загружаемые пакеты с пакетами, полученными в результате перекомпоновки в локальной системе.

Иными словами, эта система предоставляет услугу, которая отслеживает статус индекса пакета и автоматически начать перестроение новых пакетов в эталонной среде, состояние которого синхронизировано с настройками среды Основной пакет сборки Arch Linux.

При повторной компиляции учтены такие нюансы, как точное соответствие зависимостей, использование неизменных сборок и версий инструментов сборки, идентичный набор опций и настроек по умолчанию, а также сохранение порядка сборки файлов (с использованием тех же методов сортировки).

Параметры процесса сборки исключают компилятор из добавления общей несогласованной информации, такой как случайные значения, ссылки на пути к файлам и данные о дате и времени компиляции.

О Rebuilderd

В настоящее время доступна только экспериментальная поддержка для проверки пакетов Arch Linux. с rebuilderd, но вскоре планирует добавить поддержку Debian.

В настоящее время, повторяющиеся сборки предусмотрены для 84.1% пакетов из основного репозитория Arch Linux, он 83.8% из репозитория extras и 76.9% из репозитория сообщества. Для сравнения, в Debian 10 этот показатель составляет 94,1%.

В то время как сборки являются важной частью безопасности, поскольку они позволяют дать возможность любому пользователю обеспечить что побайтовые пакеты, предлагаемые дистрибутивом, соответствуют тем, которые были скомпилированы из исходного кода.

Без возможности проверки идентичности скомпилированного двоичного файла пользователь может только слепо доверять чужой инфраструктуре сборки, подвергая риску компилятор или инструменты компиляции, где это может привести к замене скрытого маркера.

Установка и исполнение

В простейшем случае для запуска rebuilderd достаточно установить пакет rebuilderd из обычного репозитория, импортировать ключ GPG для проверки среды и активировать соответствующую системную службу. Можно реализовать сеть из нескольких перестроенных экземпляров.

Установить, мы должны открыть терминал и в нем набрать следующая команда:

sudo pacman -S rebuilderd

Сделано это, теперь мы должны импортировать ключ GPG, так как Rebuilderd должен проверить загрузочный образ Arch Linux, для этого в терминале нам нужно будет ввести следующую команду:

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

После этого мы должны добавить нашего пользователя в группу Rebuilderd, поскольку мы можем получить ошибку:

usermod -aG rebuilderd $USER

Сейчас нам просто нужно убедиться, что Rebuilderd уже запущен о системе, для этого нам просто нужно набрать:

rebuildctl status

И если мы хотим поделиться результатами в сети, мы должны ввести:

systemctl enable –now rebuilderd rebuilderd-worker @ alpha

Теперь важно принять во внимание, что Rebuilderd не вступит в действие, пока не будет явно указано, откуда синхронизируются системные пакеты, для этого мы должны изменить файл /etc/rebuilderd-sync.conf, в котором настроены профили синхронизации, и что имена профилей уникальны:

Примером этого является следующее:

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

После того, как файл был изменен, вам просто нужно включить таймер для автоматической синхронизации профиля:

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

В конце концов если вы хотите узнать больше о Rebuilderd, они должны знать, что он написан на Rust и распространяется под лицензией GPLv3, и вы можете проверить все его детали и код. По следующей ссылке.


Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.

Будьте первым, чтобы комментировать

Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: Мигель Анхель Гатон
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.