Product SiteDocumentation Site

1.6. Bir Sürümün Yaşam Döngüsü

Proje aynı anda her programın Deneysel , Kararsız , Test , Kararlı , eski kararlı ve hatta daha eski kararlı adlı üç ila altı farklı sürümüne sahip olacaktır. Her biri gelişimde farklı bir aşamaya karşılık gelir. İyi bir anlayış için, bir programın ilk paketlemesinden kararlı bir Debian sürümüne dahil edilmesine kadar olan yolculuğuna bir göz atalım.

1.6.1. Deneysel Durum

Öncelikle Deneysel dağıtımının özel durumuna bir göz atalım: bu, şu anda geliştirilmekte olan yazılıma karşılık gelen ve tam olarak tamamlanmayan, adını açıklayan bir Debian paketleri grubudur. Her şey bu adımdan geçmez; bazı geliştiriciler daha deneyimli (veya daha cesur) kullanıcılardan geri bildirim almak için buraya paketler ekler.
Aksi takdirde, bu dağıtım sıklıkla, Kararsız ile ciddi hatalarla entegrasyonu kritik etkilere sahip olan temel paketlerde önemli değişiklikler barındırır. Bu nedenle, tamamen izole edilmiş bir dağıtımdır, paketleri hiçbir zaman başka bir sürüme geçmez (bakımcının veya ftpmasters'ın doğrudan, açık müdahalesi dışında). Aynı zamanda kendi kendine yeten değildir: Deneysel mevcut paketlerin yalnızca bir alt kümesi mevcuttur ve genellikle temel sistemi içermez. Bu dağıtım, bu nedenle, Kararsız gibi başka, kendi kendine yeten dağıtımla kombinasyon halinde çoğunlukla yararlıdır.

1.6.2. Kararsız Durumu

Tipik bir paket durumuna geri dönelim. Sağlayıcı, Kararsız sürümü için derledikleri ve ftp-master.debian.org sunucusuna yerleştirdikleri bir başlangıç paketi oluşturur. Bu ilk olay, ftpmasters tarafından yapılan inceleme ve doğrulamayı içerir. Yazılım daha sonra Kararsız dağıtımında mevcuttur; bu dağıtım, ciddi hatalar hakkında endişelenmekten çok güncel paketlere sahip olmakla ilgilenen kullanıcılar tarafından seçilen "son teknoloji" dağıtımdır. Programı keşfederler ve ardından test ederler.
Hatalarla karşılaşırlarsa, bunları paketin sağlayıcısına bildirirler.Sağlayıcı daha sonra sunucuya yükledikleri düzeltilmiş sürümleri düzenli olarak hazırlar.
Every newly updated package is updated on all Debian mirrors around the world within six hours. The users then test the corrections and search for other problems resulting from the modifications. Several updates may then occur rapidly. During these times, autobuilder robots come into action. The maintainer uploads the package sources (without any precompiled package). The autobuilders take over and automatically compile versions for all supported architectures. Some compilations may fail; the maintainer will then receive a bug report indicating the problem, which is then to be corrected in the next versions. When the bug is discovered by a specialist for the architecture in question, the bug report may come with a patch ready to use.
Otomatik yapıcılar tarafından bir paketin derlenmesi

Şekil 1.2. Otomatik yapıcılar tarafından bir paketin derlenmesi

1.6.3. Test geçişi

Biraz sonra paket olgunlaşacak; tüm mimariler üzerinde derlendiğinde, son zamanlarda değişikliklere uğramayacak. Daha sonra Test dağıtımına dahil edilmek için bir adaydır - bazı ölçülebilir kriterlere göre seçilen Kararsız paketlerinden oluşan bir grup. Her gün bir program, belirli bir kalite seviyesini garanti eden unsurlara göre Test 'e dahil edilecek paketleri otomatik olarak seçer:
  1. successful compilation on all officially supported architectures;
  2. kritik hataların olmaması veya en azından şu anda Teste versiyonuna dahil edilen sürümden daha az;
  3. Kararsız versiyonunda en az 5 gün geçirildikten sonra, ki bu genellikle ciddi sorunları bulmak ve bildirmek için yeterli zaman (eğer varsa paketin kendi test paketini başarıyla geçmek, bu süreyi kısaltır);
  4. dependencies that can be satisfied in Testing, or that can at least be moved there together with the package in question;
  5. automatic quality tests of the package (autopkgtest) — if defined — don't show any regression.
Bu sistem açıkça yanılmaz değildir; Test 'e dahil edilen paketlerde düzenli olarak kritik hatalar bulunur. Yine de, genel olarak etkilidir ve Test versiyonunda, Kararsız 'dan çok daha az sorun ortaya çıkar, çoğu için kararlılık ve yenilik arasında iyi bir uzlaşmadır.

1.6.4. Test versiyonundan Kararlı ' versiyona yükseltme

Şimdi paketimizin Test versiyonuna dahil olduğunu varsayalım. İyileştirme alanı olduğu sürece, sağlayıcının geliştirmeye devam etmesi ve süreci Kararsız 'dan yeniden başlatması gerekir ( daha sonra Test ' e dahil edilmesi genellikle daha hızlıdır: önemli ölçüde değişmedikçe, tüm bağımlılıkları zaten mevcuttur). Mükemmelliğe ulaştığında,sağlayıcı işini tamamlamış demektir. Bir sonraki adım, Kararlı dağıtımına dahil edilmesidir; bu, gerçekte, Sürüm Yöneticisi tarafından seçilen bir anda Testin basit bir kopyasıdır. İdeal olarak, bu karar, yükleyici hazır olduğunda ve Test versiyonunda hiçbir programda bilinen herhangi bir kritik hata bulunmadığında verilir.
Bu an hiçbir zaman tam olarak gelmediği için, pratikte Debian: sağlayıcı hatalarını zamanında düzeltemeyen paketleri kaldırmak veya binlerce programda bazı hatalar içeren bir dağıtımı yayınlamayı kabul etmek için uzlaşmak zorundadır.Sürüm Yöneticisi daha önce bir donma dönemi duyurmuş olacak ve bu süre boyunca her Test versiyonunun güncellemesinin onaylanması gerekiyor. Buradaki amaç, herhangi bir yeni sürümü (ve yeni hatalarını) önlemek ve yalnızca hataları gideren güncellemeleri onaylamaktır.
Bir paketin çeşitli Debian sürümlerindeki yolu

Şekil 1.3. Bir paketin çeşitli Debian sürümlerindeki yolu

After the release of a new stable version, the Stable Release Managers manage all further development (called “revisions”, ex: 10.1, 10.2, 10.3 for version 10). These updates systematically include all security patches. They will also include the most important corrections (the maintainer of a package must prove the gravity of the problem that they wish to correct in order to have their updates included).
Yolculuğun sonunda, varsayımsal paketimiz artık istikrarlı dağıtıma dahil edildi. Bu zor yolculuk,Debian Kararlı sürümlerini ayıran önemli gecikmeleri açıklıyor. Bu, her şeyden önce, kalite konusundaki itibarına katkıda bulunur. Ayrıca, kullanıcıların çoğunluğu aynı anda mevcut olan üç dağıtımdan birini kullanmaktan memnundur.Sunucularının kararlılığından endişe duyan sistem yöneticileri, GNOME'un en son ve en büyük sürümüne ihtiyaç duymazlar; DebianKararlıversiyonu seçebilirler ve tatmin olurlar. GNOME veya KDE Plasma'nın en son sürümleriyle kaya gibi sağlam kararlılıktan daha fazla ilgilenen son kullanıcılar, Debian'ınTestversiyonunu ciddi sorunların eksikliği ve nispeten güncel yazılımlar arasında iyi bir uzlaşma olarak bulacaklardır. Son olarak, geliştiriciler ve daha deneyimli kullanıcılar, bir programın herhangi bir yeni sürümünde bulunan baş ağrısı ve hatalara maruz kalarak, debianKararsız versiyonunun tüm son gelişmeleri girişin hemen dışında test ederek, yolu ateşleyebilirler. Herkese kendi Debian'ı!
Debian tarafından paketlenmiş bir programın kronolojik yolu

Şekil 1.4. Debian tarafından paketlenmiş bir programın kronolojik yolu

1.6.5. Eski Kararlı ve Daha Eski Kararlı Durumu

Her Kararlı sürümün yaklaşık 5 yıllık tahmini bir ömrü vardır ve sürümlerin 2 yılda bir olma eğiliminde olduğu göz önüne alındığında, belirli bir sürede en fazla 3 desteklenen sürüm olabilir. Yeni bir kararlı sürüm gerçekleştiğinde, eski sürüm Eski Kararlı olur ve daha önceki sürüm Daha Eski Kararlı olur.
Debian sürümlerinin bu Uzun Süreli Desteği (LTS) yeni bir girişimdir: bireysel katılımcılar ve destek veren şirketler Debian LTS ekibini oluşturmak için güçlerini birleştirdiler. Artık Debian güvenlik ekibi tarafından desteklenmeyen eski sürümler bu yeni ekibin sorumluluğundadır.
The Debian security team handles security support in the current Stable release and also in the Oldstable release (but only for as long as is needed to ensure one year of overlap with the current stable release). This amounts roughly to three years of support for each release. The Debian LTS team handles the last (two) years of security support so that each release benefits from at least 5 years of support and so that users can upgrade from version N to N+2, for example, from Debian 9 Stretch to Debian 11 Bullseye.