1 คะแนน โดย GN⁺ 2023-10-30 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • ทีม NixOS สร้างซ้ำ ISO nixos-minimal ที่ออกโดย Hydra ได้สำเร็จอย่างอิสระและได้ผลลัพธ์เหมือนกันทุกบิต
  • ข้อดีสำคัญของ Reproducible Builds คือให้วิธีที่เชื่อถือได้ในการยืนยันว่าไม่มีการดัดแปลงในไปป์ไลน์การบิลด์
  • ทีมได้ทำให้แพ็กเกจทั้งหมดที่รวมอยู่ใน ISO, การบิลด์ตัว ISO เอง และแพ็กเกจที่จำเป็นสำหรับการบิลด์ ISO แต่ไม่ได้รวมอยู่ใน ISO สามารถทำซ้ำได้
  • การทำซ้ำนี้เกิดขึ้นโดยการเริ่มเครื่อง VirtualBox ใหม่ที่ใช้ NixOS 20.03, โคลนรีโพซิทอรี NixOS, checkout คอมมิตที่กำหนด และรันชุดคำสั่งเพื่อบิลด์ ISO
  • ทีมยอมรับว่าแนวทางนี้มีปัญหา bootstrap ที่อาจเกิดขึ้นได้ ซึ่งรวมถึงความเป็นไปได้ที่ 2020 ova หรือ git ที่ดาวน์โหลดมาจะมี backdoor อย่างไรก็ตาม การทดสอบนี้ยังคงให้ความเชื่อมั่นสูงว่า ISO นี้สามารถทำซ้ำได้
  • ก่อนหน้านี้ทีมเคยประกาศว่า minimal ISO ทำซ้ำได้ 100% แต่มีความแตกต่างเกิดขึ้นจากปัญหาในแคช Hydra และวิธีการสร้าง ISO ซึ่งตอนนี้ได้รับการแก้ไขแล้ว
  • งานในอนาคตรวมถึงการนำ hack ที่ใช้ในกระบวนการทำซ้ำออก, ทำให้แพ็กเกจเพิ่มเติมสามารถทำซ้ำได้, สร้างโครงสร้างพื้นฐานสำหรับการสร้างซ้ำอย่างอิสระเป็นประจำ และสร้างเครื่องมือสำหรับแชร์และใช้งานหลักฐานการบิลด์
  • ทีมเชิญชวนให้ผู้อื่นเข้าร่วมความพยายามนี้ และให้ลิงก์ไปยังบอร์ดโปรเจกต์บน GitHub และเว็บไซต์ NixOS Reproducible Builds เพื่อดูข้อมูลเพิ่มเติม

1 ความคิดเห็น

 
GN⁺ 2023-10-30
ความคิดเห็นบน Hacker News
  • การสร้าง minimal ISO ขึ้นใหม่จากซอร์สถือเป็นความสำเร็จสำคัญในการสร้างระบบจากซอร์สที่ทำซ้ำได้
  • Guix บรรลุหมุดหมายที่น่าจับตามองในการบูตสแตรปชุดเครื่องมือคอมไพเลอร์ทั้งหมดจากไบนารีที่ทำซ้ำได้เพียงไฟล์เดียวขนาด 357 ไบต์
  • มีคำถามว่าทำไมความสามารถในการทำซ้ำได้จึงไม่เป็นพฤติกรรมปกติพื้นฐานของการคอมไพล์ซอฟต์แวร์
  • มีข้อเสนอว่า NixOS ควรให้ผู้ดูแลแพ็กเกจลงลายเซ็นก่อนส่งแพ็กเกจเหมือนดิสทริบิวชันลินุกซ์อื่น ๆ เพื่อยืนยันว่าโค้ดที่ส่งและตรวจสอบแล้วตรงกับโค้ดที่ถูกนำไปบิลด์
  • มีความสับสนเกี่ยวกับความสามารถในการทำซ้ำของ NixOS เพราะเคยคิดว่านี่เป็นฟังก์ชันหลักของระบบ
  • โปรเจกต์ OpenBSD ถูกยกขึ้นมาเป็นแนวทางที่ตัดกัน โดยการติดตั้งทุกครั้งมีเอกลักษณ์เฉพาะและมี address offset แบบสุ่ม
  • มีการอธิบายอย่างชัดเจนว่าความสามารถในการทำซ้ำของ Nix/NixOS/Nixpkgs ครอบคลุมเฉพาะซอร์สเท่านั้น และไบนารีอาจเปลี่ยนไปในแต่ละการบิลด์
  • มีการกล่าวว่าระบบอื่นอย่าง Guix, Archlinux และ Debian ทำเรื่องการทำซ้ำของไบนารีได้ดีกว่า Nix/NixOS/Nixpkgs
  • หมุดหมายนี้ได้รับคำชมว่าน่าประทับใจ และมีการขอข้อมูลเพิ่มเติมว่า ISO ถูกสร้างขึ้นอย่างไร
  • มีข้อเสนอว่าความก้าวหน้านี้อาจช่วยแก้ปัญหาคอมไพเลอร์ที่มีแบ็กดอร์ตามที่ Ken Thompson กล่าวถึงใน 'Reflections on Trusting Trust'
  • มีคำถามว่าเนื่องจากเวลามักถูกฝังอยู่ในไบนารี จึงต้องปลอมเวลาในระบบสำหรับกระบวนการนี้หรือไม่
  • มีการขอให้เปรียบเทียบการพัฒนานี้กับ Fedora Silverblue, Ansible และ Fedora Silverblue + Ansible ภายในระบบนิเวศของ Red Hat