`Release-upgrade-do 'gerçekten ne yapar?


30

Bunun do-release-upgrade“sürüm yükseltme yapıyor” olduğunu biliyoruz . Fakat biraz daha düşük bir seviyede gerçekten ne işe yarıyor?

Debian yöntemi gibi daha manuel bir yükseltme yapmayı planlıyorum: aptitude updateve aptitude full-upgradekaynakları ayarladıktan sonra. Aslında, tamamen etkileşimli yapmayı planlıyorum aptitude. Ama bu beni kaynaklarımı takip etmek dışında başka ne yaptığını merak ediyor do-relase-upgrade.

Yanıtlar:


32

do-release-upgrade“update-manager-core” paketinin bir parçasıdır. Komut, hangi sürümde yükseltme yapacağınızı belirliyor, desteklenip desteklenmediğini bulmaya çalışıyor ve ikincisi hakkında şikayet ediyor. - Çalışmaya ikna olmuşsa, sürümüne özgü UpgradeTool'u indirir ve çalıştırır.

“Update-manager-core” paketinin bir parçası http://changelogs.ubuntu.com/meta-release/etc/update-manager/meta-release URL'sini bulabileceğiniz ve UpgradeTool'un indireceği URL'yi burada bulabileceğiniz dosyadır.

İndirilen UpgradeTool tarball'ı “ubuntu-release-upgrader” kaynak paketinden (“güncelleme yöneticisi” olmadan önce) paketlenir. Sürüm, hedef sürüm için en son güncellemelere karşılık gelir.

Kaynak, warty ve hoary release sürümlerinden eski bir README'ye sahip. Bir sürüm yükseltme sırasında yapılması gerekenler tartışılmaktadır. Ayrıca, daha detaylı bir UpgradeTool teklifine bir bağlantıdan da bahseder .

Burada belirtilen ve aslında uygulanıp uygulanmadıklarını kontrol ediyorum:

  • depo ile ilgili
    • yeni sources.list girişlerine geç
    • bilinmeyen 3. taraf depolarını kaldırın
    • muhtemelen takas aynası (uygulanmadı)
  • paket ile ilgili
    • yükseltmeden önce hiçbir kırık paket olup olmadığını kontrol edin
    • güncellemeden önce güncel sürümü güncelle ( apt-get updateyalnızca)
    • belirli paketleri kaldırın ve yükleyin
    • {ubuntu, kubuntu, edubuntu} -desktop kurulu olup olmadığını kontrol edin
    • eski çekirdeklerden kurtul
    • Kaldırma-kara liste ve -beyaz liste var
    • önceki sürümlerde bulunan eski paketleri kaldırma veya değiştirme
  • konfigürasyon ile ilgili (tuhaflıklar halinde mümkün: aşağıya bakınız)
    • varsayılan kullanıcıyı yeni gruplara ekleme (kontrol ettiğim sürümler için yapılmadı)
    • bazı yapılandırma dosyalarını kontrol et

UpgradeTool, aşağıdaki dosyalar kullanılarak her sürüm için yapılandırılmıştır (görmek için onları açın!):

  • DistUpgrade.cfg
    • UpgradeTool ile ilgili yapılandırma
    • sürümle ilgili yapılandırma
    • depolar (örneğin [Kaynaklar] ValidMirrors)
    • özel değişiklikler ([Distro] PostInstallScript)
    • özel paketler; yalnızca DistUpgradeController.py tarafından işlenir:
      • [Distro] RemoveObsoletes, ForcedObsoletes, BaseMetaPkgs, MetaPkgs
      • [meta_package_name] ForcedObsoletes
    • ... ve DistUpgradeCache.py tarafından:
      • [Distro] MetaPkgs, RemovalBlacklist, RemoveEssentialOk, BadVersions, BaseMetaPkgs, PurgeObsoletes, Demotions, KeyDependencies
      • [Distro ve meta_package_name] KeepInstalledPkgs, KeepInstalledSection, PostUpgrade *
      • [KernelRemoval] *
  • DistUpgradeQuirks.py
    • çalışır (serbest bırakma) belirli işlevler (aynı dosya) ve eklentiler ( pluginsdizin)
    • işlevler belirli adlara (örn. from_nattyPreCacheOpen()) sahip olmalı ve eklentiler özel conditionniteliklere sahip olmalıdır (örn. *veya PostInitialUpdate)
    • bu işlevlerden biri StartUpgrade(),, başka bir kapmak-çantanın kendisidir: diğerlerinin yanı sıra çağırdığı _applyPatches(), patchesdizindeki dosyaların üzerinden geçen
    • bütün bunlar benim kurulumumda pek bir şey yapmıyor (i386, paketler natty güncellemesinden daha eski değil)
  • DistUpgradeCache.py'den daha fazlası
    • çalışır get_kernel_list.sh(güvenilir değil) ve bir çekirdeğin yüklendiğinden emin olur
    • Nvidia sürücüleri hakkında bazı bilgiler

Kontrol sürümleri:

  • natty → oneiric
  • oneiric → kesin
  • Kesin → güvenilir (2014-04-18 itibariyle kesin)
  • güvenilir → ütopik (2014-10-23 tarihinde yayınlanmadan önceki saatler)


Yükseltme işleminin yükseltme işleyişine örnek olarak: nvidia ikili sürücüleri, çoklu geçiş değişiklikleri, ndiswrapper, mimarileri ve çekirdek türlerini ekleme / kaldırma (örn. Sunucu çekirdeğini kullanımdan kaldırma)
NGRhodes

@NGRhodes, yorumunuz benim için çok belirsiz: ndiswrapper, bugünlerde değil, alçakgönüllü özel bir durumdu. Hiçbir mimari eklenmez veya kaldırılmaz (i386'yı yabancı olarak ekleyen amd64 hariç, "çok alanlı değişikliklerle" kapladığınızdan eminim). - Hiçbir şey “kullanımdan kaldırılmaz”: paketler kaldırılıyor veya kaldırılmıyor.
Robert Siemer
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.