Skip to content

Reproducible-builds

  • Published on
    2026년 5월 9일, Debian 릴리스 팀은 이행 소프트웨어 britney를 재현 가능성 검사와 연결했습니다. 다음 날 메일링 리스트에 올라온 문장은 "Debian must ship reproducible packages"였지만, 실제로 막히는 것은 재현되지 않는 신규 패키지와 재현되던 패키지의 회귀 두 가지뿐입니다. 이 글은 그 게이트를 뜯어봅니다 — buildd가 남긴 .buildinfo로 배포된 바이너리를 그대로 다시 만드는 reproduce.debian.net의 구조, 스트레스 테스트와 실제 재현의 결정적인 차이, 그리고 2026년 5월 9일 발표 기준 아키텍처별 재현율. 동시에 헤드라인과 현실의 간극도 정직하게 짚습니다 — 요청하면 풀어 주는 unblock, allowlist, 아키텍처별 결과 무시, RC 버그가 아니라는 점, 자동 삭제가 없다는 점, 그리고 forky에서는 꽤 관대하게 가겠다는 발표자 본인의 말. 마지막으로 이 접근에서 당신의 CI로 옮길 수 있는 것과 옮기지 말아야 할 것을 정리합니다.
  • Published on
    2026년 7월 13일 태그된 Nix 2.35.0의 첫 번째 하이라이트는 "Sources are copied to the store more lazily"입니다. 이 한 줄이 닫은 이슈 #3121은 2019년 10월 7일 Eelco Dolstra 본인이 열었고, 2026년 6월 9일에 닫혔습니다 — 2,437일. 흥미로운 건 정작 머지된 물건이 Dolstra의 lazy trees가 아니라는 점입니다. 그의 PR #6530은 3년을 열려 있다가 머지 없이 닫혔고, 후속인 #13225는 지금도 충돌 상태로 열려 있습니다. 대신 들어간 것은 Sergei Zimmerman의 #15711 — 제목이 "maybe 3rd time's the charm"이고, diff는 14개 파일에 +180/-37입니다(lazy trees v1은 56개 파일에 +1363/-364였습니다). 이 글은 그 사이에 무슨 일이 있었는지 — Determinate Nix가 같은 기능을 다운스트림에서 먼저 출시하고 5퍼센트에서 20퍼센트로 단계 롤아웃한 것, Lix가 아예 플레이크 기능 동결을 택한 것 — 을 정리하고, 무엇보다 이번 변경이 고치지 않은 것을 정직하게 짚습니다. 복사는 사라졌지만 트리 전체를 훑고 NAR 해시를 계산하는 일은 그대로이고, 릴리스 노트가 이걸 직접 "unavoidable"이라고 적었습니다.
  • Published on
    "works on my machine"을 OS 수준에서 해결하는 도구, Nix. 이 글은 Nix를 처음부터 해부합니다. Eelco Dolstra의 2003년 박사 논문에서 시작된 아이디어, "빌드는 순수 함수"라는 핵심 통찰, 콘텐트 주소 기반 /nix/store, Derivation과 .drv 파일, Nix 언어, 샌드박스 빌드, 바이너리 캐시, nixpkgs(세계 최대 패키지 저장소), 2021년 판도를 바꾼 Flakes, NixOS의 선언적 시스템 설정, Home Manager, direnv 통합, 그리고 Docker/Guix와의 비교까지 — 재현 가능성에 집착하는 시스템 도구의 결정판을 제대로 이해하고 싶은 엔지니어를 위한 종합 가이드입니다.