do-release-upgrade
"अपडेट-मैनेजर-कोर" पैकेज का हिस्सा है। स्क्रिप्ट यह निर्धारित करती है कि आप किस रिलीज़ को अपग्रेड करने जा रहे हैं, यह पता लगाने की कोशिश करें कि यह समर्थित है या नहीं और बाद की शिकायत करें। - अगर यह काम करने के लिए आश्वस्त है, तो यह रिलीज़-विशिष्ट अपग्रेडटूल डाउनलोड करता है और इसे चलाता है।
"अपडेट-मैनेजर-कोर" पैकेज का एक हिस्सा फ़ाइल है /etc/update-manager/meta-release
, जहां आप URL http://changelogs.ubuntu.com/meta-release पा सकते हैं और वहां आपको डाउनलोड करने के लिए अपग्रेडटूल का URL मिल जाता है।
डाउनलोड किए गए अपग्रेडटूल टारबॉल को स्रोत पैकेज "ubuntu-release-upgrader" (पहले यह "अपडेट-मैनेजर") से पैक किया गया था। संस्करण लक्ष्य रिलीज के लिए नवीनतम अपडेट से मेल खाता है।
स्रोत के पुराने और खराब होने के समय से पुराना README है। यह चर्चा करता है कि रिलीज के उन्नयन के दौरान क्या किया जाना चाहिए। इसमें एक अधिक विस्तृत अपग्रेडटूल प्रस्ताव के लिंक का भी उल्लेख किया गया है ।
मैं यहाँ उल्लिखित क्रियाओं की सूची देता हूँ और जाँचता हूँ कि क्या वे वास्तव में कार्यान्वित की गई हैं:
- भंडार संबंधी
- नए स्रोतों पर जाएँ। प्रविष्टियाँ
- अज्ञात तृतीय पक्ष रिपॉजिटरी को हटा दें
- संभवतः स्वैप दर्पण (लागू नहीं)
- पैकेज संबंधित
- जाँच करें कि उन्नयन से पहले कोई टूटे हुए पैकेज नहीं हैं
- नवीनीकरण से पहले वर्तमान रिलीज़ को अपडेट करें (
apt-get update
केवल)
- विशिष्ट पैकेज निकालें और इंस्टॉल करें
- जांचें कि क्या {ubuntu, kubuntu, edubuntu} -desktop स्थापित है
- पुरानी गुठली से छुटकारा पाएं
- एक हटाने-ब्लैकलिस्ट और -विशेषज्ञ है
- पहले से मौजूद रिलीज़ में मौजूद अप्रचलित पैकेजों को हटा दें या बदल दें
- कॉन्फ़िगरेशन संबंधित (संभव quirks में: नीचे देखें)
- नए समूहों में डिफ़ॉल्ट उपयोगकर्ता जोड़ना (मेरे द्वारा जांचे गए संस्करणों के लिए नहीं)
- कुछ कॉन्फिग फाइल की जाँच करें
UpgradTool निम्न फ़ाइलों का उपयोग करके प्रत्येक रिलीज़ के लिए कॉन्फ़िगर किया गया है (उन्हें देखने के लिए खोलें!):
- DistUpgrade.cfg
- अपग्रेडटूल-संबंधित कॉन्फ़िगरेशन
- रिलीज़-संबंधित कॉन्फ़िगरेशन
- रिपॉजिटरी (उदाहरण के लिए [स्रोत] ValidMirrors)
- कस्टम परिवर्तन ([Distro] PostInstallScript)
- विशेष पैकेज; केवल DistUpgradController.py द्वारा संसाधित:
- [Distro] RemoveObsoletes, ForcedObsoletes, BaseMetaPkgs, MetaPkgs
- [meta_package_name] ForcedObsoletes
- ... और DistUpgradeCache.py द्वारा:
- ]
- [Distro और meta_package_name] KeepInstalledPkgs, KeepInstalledSection, PostUlgrade *
- [कर्नेलमोरल] *
- DistUpgradeQuirks.py
- रन (जारी) विशिष्ट कार्य (एक ही फ़ाइल) और प्लगइन्स (
plugins
निर्देशिका)
- फ़ंक्शंस में विशिष्ट नाम (जैसे
from_nattyPreCacheOpen()
) और प्लगइन्स विशेष condition
विशेषताएँ (जैसे *
या PostInitialUpdate
) होनी चाहिए
- उन कार्यों में
StartUpgrade()
से एक, एक और ग्रैब-बैग स्वयं है: दूसरों के बीच यह कॉल करता है _applyPatches()
, जो patches
निर्देशिका में फ़ाइलों पर जाता है
- ये सब मेरे इंस्टालेशन पर बहुत कुछ करते हैं (i386, पैकेज नट्टी-अपडेट से पुराने नहीं हैं)
- DistUpgradCache.py से अधिक
get_kernel_list.sh
(भरोसेमंद नहीं) चलाता है और सुनिश्चित करता है कि एक कर्नेल स्थापित है
- एनवीडिया ड्राइवरों के बारे में कुछ संभालना
जांचे गए संस्करण:
- नट्टी → एकरी
- oneiric → सटीक
- सटीक → भरोसेमंद (2014-04-18 के अनुसार अंतिम)
- भरोसेमंद → यूटोपिक (2014-10-23 को रिलीज़ होने से पहले)