do-release-upgrade
เป็นส่วนหนึ่งของแพ็คเกจ“ update-manager-core” ดูเหมือนว่าสคริปต์จะเป็นตัวกำหนดรุ่นที่คุณกำลังจะอัพเกรดลองค้นหาว่ารองรับหรือไม่และบ่นเกี่ยวกับรุ่นหลัง - หากมั่นใจว่าใช้งานได้จะดาวน์โหลด UpgradeTool เฉพาะรุ่นและเรียกใช้
ส่วนหนึ่งของแพ็คเกจ“ update-manager-core” เป็นไฟล์/etc/update-manager/meta-release
ที่คุณสามารถค้นหา URL http://changelogs.ubuntu.com/meta-releaseและคุณจะพบ URL สำหรับ UpgradeTool ที่จะดาวน์โหลด
tarball UpgradeTool ที่ดาวน์โหลดมานั้นบรรจุอยู่ในแพ็คเกจ“ ubuntu-release-upgrader” (ก่อนหน้านั้นคือ“ update-manager”) เวอร์ชันนี้สอดคล้องกับการอัปเดตล่าสุดสำหรับการเปิดตัวเป้าหมาย
แหล่งที่มามี README เก่าจากช่วงเวลาเปิดตัวและเปิดตัว มันกล่าวถึงสิ่งที่ควรทำในระหว่างการอัพเกรด นอกจากนี้ยังกล่าวถึงการเชื่อมโยงไปยังข้อเสนอ UpgradeTool รายละเอียดเพิ่มเติม
ฉันแสดงรายการการกระทำที่กล่าวถึงที่นี่และตรวจสอบว่ามีการใช้งานจริงหรือไม่:
- พื้นที่เก็บข้อมูลที่เกี่ยวข้อง
- เปลี่ยนเป็นรายการแหล่งที่มาใหม่
- ลบที่เก็บของบุคคลที่สามที่ไม่รู้จัก
- อาจสลับกระจก (ไม่ใช้งาน)
- แพคเกจที่เกี่ยวข้อง
- ตรวจสอบว่าไม่มีแพ็คเกจที่ใช้งานไม่ได้ก่อนทำการอัพเกรด
- อัปเดตรีลีสปัจจุบันก่อนอัพเกรด (
apt-get update
เท่านั้น)
- ลบและติดตั้งแพคเกจเฉพาะ
- ตรวจสอบว่ามีการติดตั้ง {ubuntu, kubuntu, edubuntu} -desktop หรือไม่
- กำจัดเมล็ดเก่า
- มีรายการลบบัญชีดำและ -whitelist
- ลบหรือแทนที่แพ็กเกจที่ล้าสมัยซึ่งมีอยู่ในรีลีสก่อนหน้า
- เกี่ยวข้องกับการกำหนดค่า (เป็นไปได้ในนิสัยใจคอ: ดูด้านล่าง)
- การเพิ่มผู้ใช้เริ่มต้นให้กับกลุ่มใหม่ (ไม่ได้ทำเพื่อรุ่นที่ฉันตรวจสอบ)
- ตรวจสอบไฟล์กำหนดค่าบางอย่าง
UpgradeTool มีการกำหนดค่าสำหรับแต่ละรุ่นโดยใช้ไฟล์ต่อไปนี้ (เปิดดู):
- DistUpgrade.cfg
- UpgradeTool ที่เกี่ยวข้องกับการกำหนดค่า
- การกำหนดค่าที่เกี่ยวข้องกับการเปิดตัว
- ที่เก็บ (เช่น [แหล่งที่มา] ValidMirrors)
- การเปลี่ยนแปลงที่กำหนดเอง ([Distro] PostInstallScript)
- แพ็คเกจพิเศษ; ประมวลผลโดย DistUpgradeController.py:
- [Distro] RemoveObsoletes, ForcedObsoletes, BaseMetaPkgs, MetaPkgs
- [meta_package_name] ForcedObsoletes
- ... และโดย DistUpgradeCache.py:
- [Distro] MetaPkgs, RemoveBlacklist, RemoveEssentialOk, BadVersions, BaseMetaPkgs, PurgeObsoletes, Demotions, การอ้างอิงคีย์
- [Distro และ meta_package_name] KeepInstalledPkgs, KeepInstalledSection, PostUpgrade *
- [KernelRemoval] *
- DistUpgradeQuirks.py
- เรียกใช้ (เฉพาะ) ฟังก์ชั่นเฉพาะ (ไฟล์เดียวกัน) และปลั๊กอิน (
plugins
ไดเรกทอรี)
- ฟังก์ชั่นจะต้องมีชื่อเฉพาะ (เช่น
from_nattyPreCacheOpen()
) และปลั๊กอินcondition
คุณสมบัติพิเศษ(เช่น*
หรือPostInitialUpdate
)
- หนึ่งในฟังก์ชั่นเหล่านั้น
StartUpgrade()
เป็นอีกหนึ่งตัวคว้า: ในหมู่คนอื่น ๆ ที่มันเรียก_applyPatches()
ซึ่งไปอยู่เหนือไฟล์ในpatches
ไดเรกทอรี
- สิ่งเหล่านี้ไม่ทำอะไรเลยในการติดตั้งของฉัน (i386, แพคเกจไม่เก่ากว่าอัพเดท natty)
- เพิ่มเติมจาก DistUpgradeCache.py
- ทำงาน
get_kernel_list.sh
(ไม่เชื่อถือ) และทำให้แน่ใจว่ามีการติดตั้งเคอร์เนลหนึ่งตัว
- การจัดการบางอย่างเกี่ยวกับไดรเวอร์ของ Nvidia
รุ่นที่ตรวจสอบแล้ว:
- natty → oneiric
- oneiric →แม่นยำ
- แม่นยำ→เชื่อถือ (สุดท้ายของ 2014-04-18)
- Trusty → utopic (ชั่วโมงก่อนวางจำหน่ายใน 2014-10-23)