do-release-upgrade
adalah bagian dari paket "update-manager-core". Script tampaknya menentukan rilis mana yang akan Anda tingkatkan, cobalah untuk mencari tahu apakah itu didukung atau tidak dan mengeluh tentang yang terakhir. - Jika yakin berhasil, ia mengunduh UpgradeTool khusus rilis dan menjalankannya.
Bagian dari paket "update-manager-core" adalah file /etc/update-manager/meta-release
, di mana Anda dapat menemukan URL http://changelogs.ubuntu.com/meta-release dan di sana Anda menemukan URL untuk mengunduh UpgradeTool.
Tarbal UpgradeTool yang diunduh dikemas dari paket sumber "ubuntu-release-upgrader" (sebelum "update-manager"). Versi ini sesuai dengan pembaruan terbaru untuk rilis target.
Sumber memiliki README lama dari masa rilis berkutil dan serak. Ini membahas apa yang harus dilakukan selama upgrade rilis. Itu juga menyebutkan tautan ke proposal UpgradeTool yang lebih rinci .
Saya daftar di sini tindakan yang disebutkan di sana dan memeriksa apakah mereka benar-benar dilaksanakan:
- terkait repositori
- beralih ke entri sources.list baru
- menghapus repositori pihak ke-3 yang tidak dikenal
- mungkin swap mirror (tidak diterapkan)
- paket terkait
- periksa tidak ada paket yang rusak sebelum meningkatkan
- perbarui rilis saat ini sebelum meningkatkan (
apt-get update
hanya)
- hapus dan instal paket tertentu
- periksa apakah {ubuntu, kubuntu, edubuntu} -desktop diinstal
- singkirkan kernel lama
- memiliki penghapusan-daftar hitam dan -witel
- menghapus atau mengganti paket usang yang ada di rilis sebelumnya
- konfigurasi yang terkait (mungkin dalam kebiasaan: lihat di bawah)
- menambahkan pengguna default ke grup baru (tidak dilakukan untuk versi yang saya periksa)
- periksa beberapa file konfigurasi
UpgradeTool dikonfigurasi untuk setiap rilis menggunakan file-file berikut (buka untuk melihat!):
- DistUpgrade.cfg
- Konfigurasi terkait UpgradeTool
- konfigurasi terkait rilis
- repositori (mis. [Sumber] ValidMirrors)
- perubahan khusus ([Distro] PostInstallScript)
- paket khusus; diproses hanya oleh DistUpgradeController.py:
- [Distro] RemoveObsoletes, ForcedOboletes, BaseMetaPkgs, MetaPkgs
- [meta_package_name] ForcedObsoletes
- ... dan oleh DistUpgradeCache.py:
- [Distro] MetaPkgs, RemovalBlacklist, RemoveEssentialOk, BadVersions, BaseMetaPkgs, PurgeOboletes, Demotions, KeyDependencies
- [Distro dan meta_package_name] KeepInstalledPkgs, KeepInstalledSection, PostUpgrade *
- [KernelRemoval] *
- DistUpgradeQuirks.py
- menjalankan (melepaskan) fungsi spesifik (file yang sama) dan plugin (
plugins
direktori)
- fungsi harus memiliki nama spesifik (mis.
from_nattyPreCacheOpen()
) dan plugin condition
atribut khusus (misalnya *
atau PostInitialUpdate
)
- salah satu dari fungsi-fungsi itu,,
StartUpgrade()
adalah grab-bag lain itu sendiri: antara lain ia memanggil _applyPatches()
, yang berjalan di atas file dalam patches
direktori
- semua ini tidak melakukan apa-apa pada instalasi saya (i386, paket tidak lebih lama dari natty-update)
- lebih banyak dari DistUpgradeCache.py
- berjalan
get_kernel_list.sh
(tidak dalam kepercayaan) dan memastikan satu kernel terinstal
- beberapa penanganan tentang driver Nvidia
Versi yang diperiksa:
- rapi → oneiric
- oneiric → tepat
- tepat → trusty (final per 2014-04-18)
- trusty → utopic (jam sebelum rilis pada 2014-10-23)