1 puan yazan GN⁺ 5 시간 전 | 2 yorum | WhatsApp'ta paylaş
  • 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
  • testing içindeki mevcut paketlerde yeniden üretilebilirlik gerilemesi oluşsa da geçiş engelleniyor
  • binNMU için de source-full yüklemelerde olduğu gibi autopkgtest çalıştırma özelliği eklendi
  • loong64 eklenmesi 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
  • testing iç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

 
GN⁺ 2 시간 전
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

    • 2007'den bu yana Debian'da yeniden üretilebilir paketlerin önleyebileceği bir hata ya da saldırı olmadı
      “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

    • Bende sadece şu görünüyor:

      Forbidden

      You are not allowed to access this!
      HTML etiketleri bile olduğu gibi görünüyor :)
      Düzenleme: kayıtlarda “I Challenge Thee” sayfasını da buldum. Acaba bot önleme önlemlerine mi takıldı? Neden???

  • Güzel bir gelişme. NetBSD, 2017'den beri tamamen yeniden üretilebilir derlemelere sahip. https://blog.netbsd.org/tnf/entry/netbsd_fully_reproducible_...

    • Linkte de yazdığı gibi NetBSD bunu Debian'ın yardımıyla başardı. Doğru anladıysam bunun nedeni NetBSD'nin daha çok çalışması değil, sorunun daha kolay olmasıydı. Paket sayısı daha az ve değişiklik de daha sınırlı. Hâlâ CVS kullanıyor olmaları, “istikrar” demenin bile ötesinde
      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
    • Biraz övünmek gerekirse stagex, geçen yıl %100 tam kaynak bootstrap temelli deterministik ve izole derlemeleri ilk kez başardı; ayrıca her sürümde farklı bakımcıların kendi donanımlarında gerçekleştirdiği birden fazla imzalı yeniden üretimi zorunlu kılan ilk proje oldu
      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

    • “Bugünlerde bunun neden gündem olduğu” derken tam olarak neyi kastettiğini merak ediyorum
      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ı
    • Asıl merak ettiğim şey, derlemelerin gerçekten bit düzeyinde yeniden üretilebilir olup olmadığının aktif olarak doğrulanıp doğrulanmadığı
  • 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

    • Eğer bir rakip, kendi paketinin büyük bir kuruluşun dağıttığı paketle bit düzeyinde aynı olduğunu kanıtlayabilirse, o rakip büyük kuruluşun güvenlik güvencelerinden fayda sağlayabilir
      Özgür yazılım için harika ama tekel olmak isteyenler için pek de iyi değil
    • Yeniden üretilebilir derlemeler güven ihtiyacını azaltmak için vardır, ama ticari satıcılar güven satan bir iş yapar
  • Forbidden
    You don't have permission to access this resource.
    Apache Server at lists.debian.org Port 443
    :/

 
GN⁺ 5 시간 전
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

    • Bu yalnızca arka kapılar için değil, genel kurcalama veya değiştirme durumlarını doğrulamayı da mümkün kılar. Bu hem güvenliğe yardımcı olur hem de proje geliştirmede fayda sağlar; çünkü yeniden üretilebilir ve bir ölçüde yalıtılmış biçimde derlenen paketlerin başka geliştirici ortamlarında garip şekilde bozulma olasılığı azalır
      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
    • Bunun Debian’ın en yüksek önceliği olması gerektiğini düşünmüyorum ama Debian böyle işlemiyor. İnsanlar yapmak istedikleri şeyleri yapıyor ve bireysel öncelikler çoğu zaman proje düzeyinde makul önceliklerle pek örtüşmüyor
  • Debian’ın sözünü ettiği yeniden üretilebilirlik, NixOS gibi yerlerde kastedilen şeyle aynı kavram mı?

    • Hayır. NixOS is not reproducible bu konuda standart referans yazıdır
    • Yeniden üretilebilir derlemeleri bir proje olarak takip eden dağıtımlar genel olarak aynı hedefe ilerliyor. reproducible-builds.org, paketleme hattında bunun üzerinde aktif olarak çalışan projeleri izliyor
      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?

    • Bir paket yeniden üretilebilir şekilde derlenemiyorsa bir sonraki Debian sürümüne dahil edilmiyor. Yani “daha önce hiç yeniden üretilebilir şekilde derlenmemiş” paketler Debian unstable içinde kalabilir, ancak stable’a hiç ulaşmayacak paketlerin Debian unstable içinde kalmaya devam etmesi de pek hoş karşılanmıyor. Yalnız bunun mekanik olarak zorunlu kılındığı bir kural olduğunu sanmıyorum