최근에 "Rebuilderd"출시 발표 위치는 바이너리 패키지를위한 독립적 인 검증 시스템 해적 배포 패키지의 검증을 구성 할 수 있습니다. 다운로드 가능한 패키지를 로컬 시스템에서 재 구축 한 결과받은 패키지와 비교하는 실행중인 빌드 프로세스를 구현합니다.
즉, 이 시스템은 패킷 인덱스의 상태를 모니터링하는 서비스를 제공합니다. 참조 환경에서 새 패키지 재 빌드를 자동으로 시작합니다. 상태가 환경 설정과 동기화 된 상태 아치 리눅스 메인 빌드 패키지.
다시 컴파일 할 때 종속성의 정확한 대응과 같은 뉘앙스가 고려됩니다., 구성 및 빌드 도구의 변경되지 않은 버전 사용, 동일한 옵션 및 기본 설정 세트, 파일 어셈블리 순서 보존 (동일한 정렬 방법 사용).
빌드 프로세스 설정은 임의 값, 파일 경로 링크, 컴파일 날짜 및 시간에 대한 데이터와 같은 일관성없는 개요 정보를 추가하지 못하도록 컴파일러를 제외합니다.
Rebuilderd 정보
현재 Arch Linux 패키지 확인에는 실험적 지원 만 제공됩니다. rebuilderd와 함께, 하지만 곧 데비안 지원을 추가 할 계획입니다.
현재, 84.1 %의 패키지에 대해 반복 가능한 빌드 제공 주요 Arch Linux 저장소에서 그는 추가 저장소에서 83.8 %, 커뮤니티 저장소에서 76.9 %. 비교를 위해 데비안 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 라이센스에 따라 배포된다는 것을 알아야하며 당신은 모든 세부 사항과 코드를 확인할 수 있습니다 다음 링크에서.