क्या मैं बाद में अपग्रेड के लिए केवल-डाउनलोड-अपग्रेड को पैकेज बना सकता हूं?


33

मैं lubuntu 10.10 चला रहा हूं, और 11.04 में अपग्रेड करना चाहूंगा। मेरे पास एक बहुत मनमौजी इंटरनेट कनेक्शन है, इसलिए मैं इंस्टॉल चलाने से पहले सभी पैकेजों को डाउनलोड करना चाहूंगा।

के अनुसार इस , वहाँ यह करने के लिए कोई आसान तरीका है। बग रिपोर्ट है कि थ्रेड में उल्लिखित अभी भी खुला है।

मेरा प्रश्न: क्या केवल पैकेज डाउनलोड करने के लिए डू-रिलीज़-अपग्रेड को हैक करने का एक तरीका है, तरह-तरह के डिस्ट-अप को "-d" जोड़ना?

या क्या मैं मैन्युअल रूप से केवल अपनी इच्छा के परिणाम प्राप्त करने के लिए ऐसा कर रहा हूं?

अगर मुझे इसे मैन्युअल रूप से करना है, तो क्या यह करने के लिए आवश्यक कदम हैं, या क्या मुझे कुछ याद आ रहा है?

  1. में 3 पार्टी खजाने अक्षम /etc/apt/sources.listऔर/etc/apt/sources.list.d
  2. खजाने बदलें में /etc/apt/sources.listसे maverickकरने के लिएnatty
  3. रन sudo apt-get update
  4. sudo apt-get -d dist-upgradeकेवल संकुल डाउनलोड करने के लिए चलाएँ । ऐसा तब तक करें जब तक सभी पैकेज डाउनलोड न हो जाएं।
  5. sudo apt-get dist-upgradeनवीनीकरण प्रक्रिया को पूरा करने के लिए चलाएँ

मुझे लगता है कि मैंने क्या किया होगा।
जो-एर्लेंड शिनस्टैड

जवाबों:


13

आपके पहले चार चरण सही हैं, लेकिन चरण 5 sudo do-release-upgrade(इसके बजाय sudo apt-get dist-upgrade) होना चाहिए । यह ध्यान रखना चाहिए कि जो पैकेज (या अधिकतर) डाउनलोड करने जा रहे थे, वे पहले से मौजूद हैं /var/cache/apt/archives

डो-रिलीज़-अपग्रेड के कुछ पहले के संस्करणों में एक बग था जहां यह /var/cache/apt/archivesपैकेज नए सिरे से डाउनलोड करने से पहले साफ होगा , लेकिन IIRC कि बग को ठीक कर दिया गया है।


मैंने यह किया और यह काम किया।
Menachem

यहां GUI का उपयोग करने का तरीका देखें: askubuntu.com/a/418789/21794
Menachem

क्या एक एलटीएस से दूसरे में उन्नयन के लिए प्रश्न में वर्णित प्रक्रिया उपयोगी है? मेरे पास 12.04 चलने वाला सर्वर है जिसे मैं 14.04 तक टक्कर देना चाहूंगा, लेकिन इस महीने के अंत में 12.04 के रिपॉजिट को हटाए जाने से पहले अपग्रेड के लिए पूरी तरह से तैयार होने का मौका नहीं हो सकता है।
dgw

9

मैंने ऐसा करने के लिए एक स्क्रिप्ट लिखी, जो कि कई मशीनों के अपने उन्नयन के लिए Ubuntu 14.04 "भरोसेमंद" है। इसे 'apt-get-other-release' कहा जाता है। सरल उपयोग:

$ sudo apt-get-other-release -t trusty
  [ a long time passes as it downloads stuff ]
$ sudo apt-get-other-release -U
  [ it prepares the system for upgrade -- this is quick ]
$ sudo do-release-upgrade   # or update-manager, whatever you're comfortable with
  [ upgrading also takes a long time and may still download some additional stuff ]

स्क्रिप्ट यहां है:

ftp://www.lubkin.com/pub/user/filbo/apt-get-other-release

और संस्करण 1.0 में sha1sum है: 87a466b2bb2d1ac5b0a08509246a450b8d1c7617

पर्दे के पीछे यह मूल रूप से apt-get update; apt-get -d dist-upgradeअपने निजी सेट सोर्स.लिस्ट फ़ाइलों के साथ चल रहा है । परिणाम / var / cache / apt- $ to_rel / अभिलेखागार में संग्रहीत किए जाते हैं, और '-U' ध्वज उन सिस्टम-वाइड / var / cache / apt / अभिलेखागार में कॉपी करता है ताकि वे आपके नवीनीकरण के दौरान मौजूद रहें।

आप बैंडविड्थ बचाने के लिए एक स्थानीय होस्ट से दूसरे में अपग्रेड आर्काइव को भी कॉपी कर सकते हैं। मैंने यह एक amd64 और i386 के उन्नयन के लिए किया, केवल उन * .deb की नकल करते हुए जिनके नाम में "amd64" नहीं था; फिर apt-get-other-release -t trustyi386 मशीन पर एक और भाग गया , जिसने पैकेजों के एक और बड़े ढेर को डाउनलोड किया क्योंकि दोनों मशीनों में अलग-अलग सामान लगाए गए थे।

प्रतिक्रिया की सराहना की; ईमेल cc की सराहना की, क्योंकि मुझे नहीं पता कि मैं अगली बार askubuntu को कब देखूंगा। खोज इंजन मुझे अच्छी तरह से जानते हैं।

नोट: मैंने वास्तव में एक सिस्टम का अपग्रेड नहीं किया है इसलिए इलाज किया गया! अगले सप्ताह में कुछ समय। इस स्क्रिप्ट को निकालते समय यह कुछ लोगों के काम आ सकता है।

> बेला <


6

अपडेट मैनेजर को आपके लिए चरण 1-3 करने का एक तरीका है।

  1. sudo update-managerGUI में एक टर्मिनल विंडो से चलाएँ (यह महत्वपूर्ण है)

    • अपडेट मैनेजर शुरू करें, यह बताएं कि आप उबंटू के अगले संस्करण में अपग्रेड करना चाहते हैं, और इसे चालू करना शुरू करें। यह 3 पार्टी रिपॉजिटरी को निष्क्रिय कर देगा, मुख्य रिपॉजिटरी को नवीनतम संस्करण में बदल देगा, और फिर sudo apt-get updateआपके लिए चला जाएगा।
    • यह आपको एक स्क्रीन पॉप अप करेगा जो आपको बताएगा कि अपडेट को चलाने के लिए, इसे पैकेजों को निकालना, इंस्टॉल करना और अपग्रेड करना होगा।
    • इस स्तर पर, टर्मिनल विंडो पर जाएं और CTRL-C का उपयोग करके प्रोग्राम को बाध्य करें। [यदि आप ऐसा नहीं करते हैं, और अद्यतन प्रबंधक के रद्द बटन के माध्यम से अद्यतन को रद्द करते हैं, तो यह परिवर्तनों को वापस कर देगा]।
  2. sudo apt-get -d dist-upgradeजब तक सभी पैकेज डाउनलोड और स्थापित करने के लिए तैयार नहीं हो जाते, तब तक कमांड लाइन से आवश्यक रूप से कई बार चलाएं

  3. चलाएं sudo do-release-upgradeऔर पहले से डाउनलोड किए गए पैकेज के साथ इसे अपग्रेड करने दें।

  4. 3rd पार्टी रिपॉजिटरी sudo apt-get update && sudo apt-get upgradeको फिर से सक्षम करें, और नवीनतम संस्करण में 3rd पार्टी रिपॉजिटरी को अपडेट करने के लिए फिर से चलाएं (सुनिश्चित करें कि रिपॉजिटरी को ubuntu की नवीनतम रिलीज में अपडेट किया गया है)


2

मैंने इसके लिए एक स्क्रिप्ट भी लिखी, जिसे आप यहां देख सकते हैं

https://github.com/neldredge/fetch-release-upgrade

उपयोग: एक खरोंच निर्देशिका में, भागो

 ./fetch-release-upgrade.sh trusty

या आप जो भी नया रिलीज़ करना चाहते हैं, उसे अपग्रेड करना चाहते हैं। आवश्यक संकुल को एक उपनिर्देशिका में डाउनलोड किया जाएगा जिसे कहा जाता है debs। फिर आप उन्हें /var/cache/apt/archivesचलाने से पहले स्थानांतरित कर सकते हैं do-release-upgrade

मैंने अभी तक user270294 की स्क्रिप्ट को नहीं देखा है, लेकिन ऐसा लगता है कि यह समान लाइनों के साथ काम करता है और इसमें कुछ और विशेषताएं हो सकती हैं।


2

मेनकेम के उत्तर के थोड़े छोटे संस्करण ने मेरे लिए काम किया:

  1. sudo do-release-upgradeएक टर्मिनल विंडो में चलाएँ , प्रॉम्प्ट तक प्रतीक्षा करें:

    Do you want to start the upgrade? 
    
    ...
    
    Fetching and installing the upgrade can take several hours. Once the 
    download has finished, the process cannot be canceled. 
    
    Continue [yN]  Details [d]
    

    पुष्टि न करें, इसे खुला छोड़ दें

  2. एक दूसरे टर्मिनल विंडो में, भागो sudo apt-get dist-upgrade --download-only

  3. जब किया, जारी रखें या पहले टर्मिनल विंडो में अपने अवकाश पर गर्भपात करें

प्रो टिप: जैसे टर्मिनल मल्टीप्लेयर स्थापित करें screenऔर do-release-upgradeइसे अंदर चलाएं । फिर, आप screen -D -RRउस टर्मिनल के साथ कुछ भी कर सकते हैं जो अपग्रेड प्रक्रिया को दर्शाता है। (सौभाग्य से, आज मेरा उन्नयन लगभग पूरा हो गया था ...)


यह करने का एक अच्छा तरीका है, लेकिन अगर आपको कंप्यूटर को बीच में बंद करना पड़े तो यह विफल हो सकता है।
मेनकेम

@ मेनकेम: धन्यवाद। "असफल" से आपका क्या मतलब है, क्या आप विस्तृत कर सकते हैं? हां, एपीटी स्रोत संभवतः असंगत स्थिति में होंगे, लेकिन इसके अलावा अन्य?
krlmlr

मैंने इसकी कोशिश नहीं की है, इसलिए मुझे नहीं पता कि वास्तव में क्या होगा। मैं सिर्फ इसलिए सोच रहा था क्योंकि जब आप डोज़-रिलीज़-अपग्रेड को रद्द करते हैं तो यह परिवर्तनों को पुनः प्राप्त करता है, लेकिन आप अपडेट डाउनलोड करने के लिए नवीनतम apt-source का उपयोग कर रहे हैं, आप अपडेट को पुन: चलाने का प्रयास करते समय एक अस्थिर प्रणाली के साथ समाप्त हो सकते हैं बाद में।
मेनकेम

मुझे यकीन नहीं है कि अगर केवल इंस्टॉलेशन फ़ाइलों को डाउनलोड करने से कुछ भी बदल जाता है, तो क्या यह इंटरनेट से सिर्फ कैशिंग फ़ाइलों को नहीं है? वैसे भी, इस प्रक्रिया ने मेरे लिए अच्छा काम किया, और मैंने do-release-upgradeडाउनलोड करने के बाद फिर से गर्भपात कर लिया ।
krlmlr

1
हाँ। जब तक आप नियमित अपडेट चलाने की कोशिश नहीं करते, तब तक आप ठीक होना चाहिए।
मेनकेम

0

अस्वीकरण: मैंने ऐसा पहले कभी नहीं किया। यह एक भयानक विचार हो सकता है। यह सब कुछ तोड़ सकता है, आपके बैंक खातों को खाली कर सकता है और स्पेन के दक्षिण में भाग सकता है। संभावित रूप से खतरनाक कुछ भी करने से पहले , कुछ भी करने से पहले एक बैकअप बना लें


मुझे यकीन नहीं है कि आपने कितना सामान स्थापित किया है, इसलिए यह एक त्रुटिपूर्ण समाधान हो सकता है लेकिन आप सीडी से अपग्रेड कर सकते हैं। वैकल्पिक आइसो डाउनलोड करें , इसे माउंट करें और अपग्रेड स्क्रिप्ट चलाएं।

wget -c http://releases.ubuntu.com/11.04/ubuntu-11.04-alternate-amd64.iso

इससे पहले कि मैं आगे जाऊं, आपको छवि प्राप्त करने के लिए उपयोग करने की आवश्यकता नहीं है। बिटटोरेंट एक मानक डाउनलोड प्रबंधक के साथ अच्छी तरह से काम करेगा। महत्वपूर्ण बात यह है कि आप कुछ ऐसा चाहते हैं जो फिर से शुरू हो, इसलिए आप डाउनलोड करना बंद कर सकते हैं और इसे दूसरे समय पर उठा सकते हैं। यह क्या है wgetके -cध्वज करेंगे।

एक बार जब आपके पास आईएसओ है, तो अगला कदम काफी सरल है:

sudo mount -o loop ubuntu-11.04-alternate-amd64.iso /media/cdrom
sudo sh /media/cdrom/cdromupgrade

जिस दोष के बारे में मैंने बात की है वह केवल उबंटू से जुड़ी चीजों को अपग्रेड करना है जो सीडी में शामिल हैं। यह आपके अन्य पैकेजों को अपग्रेड नहीं करेगा।

में सिद्धांत यह ठीक होना चाहिए। आपको लग सकता है कि कुछ एप्लिकेशन टूट गए हैं, कुछ को अपडेटर द्वारा जबरन हटाया जा सकता है, लेकिन कोर ओएस स्थिर रहना चाहिए।

यदि मेरा सिद्धांत सही है, तो यह तब आपको अपने अन्य पैकेजों का उपयोग करने की अनुमति देगा, जब आप सिनैप्टिक के माध्यम से या (यदि आप इंस्टॉल करते हैं) aptitude


यदि स्पेन के दक्षिण करीब है तो क्या होगा?
मैट जॉइनर
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.