Debian yeniden üretilebilir paketler sunmak zorunda
(lists.debian.org)- Debian sürüm ekibi, forky döngüsünün ortasında yeniden üretilebilir paketler sunma kararı aldı
- Geçiş yazılımı, reproduce.debian.net üzerinde yeniden üretilemeyen yeni paketleri engelliyor
testingiçindeki mevcut paketlerde yeniden üretilebilirlik gerilemesi oluşsa da geçiş engelleniyorbinNMUiçin de source-full yüklemelerde olduğu gibi autopkgtest çalıştırma özelliği eklendiloong64eklenmesi ve multi-arch yeniden derlemeleri nedeniyle CI kuyruğu büyüdü; sabır gerekiyor
Debian paketlerinde yeniden üretilebilirlik zorunlu hale geliyor
- Debian sürüm ekibi, forky sürüm döngüsünün orta noktasında Debian'ın yeniden üretilebilir paketler sunması gerektiğine karar verdi
- Bu karar, Reproducible Builds projesinin çabaları sayesinde alındı
- Dünden itibaren geçiş yazılımı, reproduce.debian.net üzerinde yeniden üretilemeyen yeni paketlerin geçişini engelleyecek şekilde etkinleştirildi
testingiçinde zaten bulunan mevcut paketlerde yeniden üretilebilirlik gerilemesi yaşanması durumunda da geçiş engelleniyor
Kalite güvencesi ve yükleyici sorumluluğu
-
testing binNMU için autopkgtest çalıştırılması
- Bu yılın başlarında geçiş yazılımına, binNMU için de source-full yüklemelerde olduğu gibi autopkgtest çalıştırma özelliği eklendi
- Bu özellik çoğu bakımcının işleriyle doğrudan çok ilgili olmayabilir, ancak kalite güvencesini güçlendiren bir başka adım olarak görülüyor
-
loong64 mimarisinin eklenmesi ve CI kuyruğunun artması
- İki hafta önce arşive yeni bir mimari olan loong64 eklendi
- Debian, yalnızca
builddüzerinde derlenen ikililerin geçişine izin veriyor ve multi-arch gereksinimleri nedeniyle tüm mimarilerde çok sayıda paketin yeniden derlenmesi gerekti - Daha önce eklenen
binNMUözelliği nedeniyle şu anda CI kuyruğu oldukça büyüdü ve sürüm ekibi biraz sabır rica ediyor
-
Yükleme sonrası takip işlemleri
- Kaynak paket yükleyicisi, ilgili paketin geçiş yapmasını güvence altına alma sorumluluğunu taşıyor
- Paket, ters test bağımlılıklarında görülen autopkgtest gerilemesi nedeniyle engelleniyorsa ve bu bağımlılığın güncellenmesi gerekiyorsa, yükleyicinin uygun RC ciddiyetinde bir hata kaydı açması gerekiyor
2 yorum
Hacker News yorumları
Debian ve özgür yazılım dünyası için büyük bir başarı
Ancak bunun neden gerekli olduğunun anlaşılması epey zaman aldı. 2007'de debian-devel üzerinde bunun gerekli olduğunu söylediğimde bunun muazzam bir zaman kaybı olduğu cevabını almıştım; gerçekten de buraya gelmek için birçok kişinin çok büyük emek vermesi gerekti ama buna kesinlikle değdi
“Buna değdi” ifadesine katılmıyorum. Bu sadece Debian'a katkı verme eşiğini daha da yükseltiyor ve zaten Debian'a katkı vermenin zor olduğundan şikayet eden pek çok kişi gördüm. Eskiden bunu, “paketlerin birbiriyle düzgün çalışması için her türlü doğrulama ve denetim gerekli” diye savunurdum ama bu, anlamlı bir gerekçe olmadan işleri zorlaştıran ve getirisi küçük görünen bir adım gibi duruyor
https://wiki.debian.org/ReproducibleBuilds adresinde daha fazla bilgi var. Bazı kısımlar eski olsa da, CI'da derlenen paket sayısını ve bunların ne kadarının yeniden üretilebilir derlemeye sahip olduğunu gösteren grafikler de bulunuyor
Turuncu renk FTBR, yani “yeniden üretilebilir şekilde derlenemedi” anlamına geliyor. Grafiklerden sayı okumakta çok iyi değilim ama kabaca birkaç yüzde, yaklaşık %4~5 gibi görünüyor
Güzel bir gelişme. NetBSD, 2017'den beri tamamen yeniden üretilebilir derlemelere sahip. https://blog.netbsd.org/tnf/entry/netbsd_fully_reproducible_...
Bu arada Debian paketlerinin çoğu zaten yeniden üretilebilir derlemelere sahip. Olmayanlar, yani yaklaşık %5'lik kısım, şu grafikte turuncu olarak gösteriliyor: https://wiki.debian.org/ReproducibleBuilds
Debian da çok ilerledi ama Debian yeniden üretilebilir olduğunu söylediğinde, kendi derlemeleri için üçüncü taraf binary'ler indirdiği anlamına geliyor. Biz yeniden üretilebilir dediğimizde ise bunun anlamı, tüm yazılım tedarik zinciri boyunca sonuna kadar %100 kaynak kodundan bootstrap yapılmasıdır
Bence bu fark önemli
https://stagex.tools
Bu değişikliği görmek gerçekten sevindirici. 2021'de SolarWinds saldırısı hakkında okuyup sarsıldıktan sonra yeniden üretilebilir derlemelerle ilgilenmeye başladım. [1]
OpenJDK'nin yeniden üretilebilir derlemeleri üzerinde çalışan Magnus Ihse Bursie'nin şu sözü bence en yerinde ifade: “Bana sorarsanız, derleyicilerin ve derleme araçlarının bir noktadan itibaren deterministik olmayan çıktı üretmeye başlaması başlı başına ilk günden beri bir hataydı.” [2]
[1] https://www.linux.com/news/preventing-supply-chain-attacks-l...
[2] https://github.com/openjdk/jdk/pull/9152#issue-1270543997
Bugünlerde bunun neden gündem olduğunu merak ediyorum. Gömülü cihazlarda Yocto kullanıyorum ve yeniden üretilebilir derlemeleri neredeyse doğal olarak uygulayabildim
Debian paket yönetimini de kolayca etkinleştirebildiğiniz için sanki bunların hepsi zaten mümkünmüş gibi geliyor
Yeniden üretilebilir derlemeler endüstriyel bilişimde temel bir yöntemdir. Debian'ın bu alanın ön saflarında olmasından ziyade, uzun ömürlü işletim ve güvenlikle ilgili kullanım alanlarında kullanılan diğer işletim sistemlerine de uygulanan sektör genelindeki bir tekniği benimsediğini söylemek daha doğru olur
Elbette burada Yocto'nun ve Debian geliştiricilerinin yaptığı pek çok zor çalışmanın sayesinde zaten kolayca yararlandığımız büyük bir pay da var
İlginç olan, Debian geliştiricilerinin artık bunu daha ileriye dönük bir politika olarak uygulayıp bir seçenek olmaktan çıkararak varsayılan norm haline getiriyor olması
amd64 forky için
reproduced: 97.02%
good: 17586
bad: 511
fail: 30
unknown: 0
Bu istatistikleri, diğer mimarilere ait istatistikleri ve yeniden üretilemez olma nedenlerini https://reproduce.debian.net adresinde görebilirsiniz
Debian'ın buna öncülük etmesi ve bunun bir ticari satıcıdan gelmemesi bana hep şaşırtıcı gelmiştir. RHEL ve Ubuntu için para ödeyen büyük kuruluşların doğrulanabilir binary'leri güçlü biçimde talep etmesini beklersiniz
Özgür yazılım için harika ama tekel olmak isteyenler için pek de iyi değil
Forbidden
You don't have permission to access this resource.
Apache Server at lists.debian.org Port 443
:/
Her durumda Wayback Machine'de var: https://web.archive.org/web/20260510074120/https://lists.deb...
Lobste.rs görüşleri
Güvenlik açısından iyi bir değişim. Geçiş süreci zahmetli olabilir ama sonuçta dünya genelindeki Debian Linux kullanıcıları için daha yüksek güvenilirlik sağlayacak
Debian gibi bir projeye sağladığı temel faydanın ne olduğunu merak ediyorum. Amaç, herkesin ikililerde arka kapı olmadığını kanıtlayan bir kanıta sahip olabilmesi mi?
Yani bakımcıya duyulan güveni azaltıp kötü niyetli bakımcı riskini de düşürmek gibi bir etkisi mi var diye merak ediyorum. Şüpheci değilim, sadece Debian’ın neden buna bu kadar zaman harcadığını %100 anlayabilmiş değilim. Derlemeleri yeniden üretilebilir hale getirmek oldukça zor ve emek yoğun görünüyor
Asıl nokta, ortaya çıkan çıktı paketini üreten kaynak kodun gerçekten o belirli kaynak kod olduğunu ve gizli ikinci bir kaynak paketinden gelmediğini gösteren kanıt eserleri üretmektir. the reproducible-builds org has a bit of a 'why' which puts it better than i can
Yeniden üretilebilir derlemeler yapmak çok zordur. Örneğin derleme hattındaki zaman damgaları fark yaratabilir, oluşturulan arşivlerin meta verileri de öyle. Bunların hepsinin ortadan kaldırılması gerekir ve bazı durumlarda paketin kendisi yerine CMake veya Go derleyicisi gibi üst proje yamaları gerekir. Çoğu durumda bu tür sorunlar eskiden hiç dikkate alınmıyordu, bu yüzden tüm derleme yığını boyunca çalışma gerekiyor. Yine de bu çalışma uzun zamandır sürüyor, dolayısıyla alt yapıdaki önemli bir kısmı ya tamamlandı ya da oldukça ilerledi
Debian’ın sözünü ettiği yeniden üretilebilirlik, NixOS gibi yerlerde kastedilen şeyle aynı kavram mı?
NixOS da yeniden üretilebilir derlemeler üzerinde çalışıyor ve doğru hatırlıyorsam en azından ISO’ları hem derleme hem çalışma zamanında %100 yeniden üretilebilir. Ancak NixOS için sıkça söylenen yeniden üretilebilirlik, burada tartışılan “yeniden üretilebilir derlemeler” değil. Bu başlıktaki kardeş yorumda bağlantısı verilen foxboron yazısına bakabilirsiniz. O daha çok ortamın yeniden üretilebilirliği ya da “deterministik derlemeler” ile ilgili ve hâlâ değerli, ama burada kastedilen bu değil
Şimdilik bu bana cırcırlı bir yaklaşım gibi geliyor. Daha önce hiç yeniden üretilebilir şekilde derlenmemiş olanlar yine de kabul ediliyor mu?