Apt-get को पुनरारंभ की आवश्यकता नहीं है, जहां अपडेट प्रबंधक करता है?


53

अक्सर मैं कंसोल को खोलकर और अनुक्रम में प्रवेश करके अपडेट मैनेजर को 'हरा' करने की कोशिश करता हूं

sudo apt-get update
sudo apt-get upgrade

जो, मेरे सर्वोत्तम ज्ञान के लिए, सभी संकुल को अपनी नवीनतम स्थिर रिलीज़ में अद्यतन करना चाहिए। अद्यतन प्रबंधक वही करता है, जहाँ तक मुझे पता है।

हालाँकि, कभी-कभी अपडेट प्रबंधक (सबसे अक्सर जब एक नया कर्नेल वितरित किया जाता है) को समाप्त करने के बाद पुनः आरंभ करने की आवश्यकता होती है। apt-getकभी नहीं करता है, तब भी जब ऐसा लगता है कि मैं कर्नेल को अपग्रेड कर रहा हूं। ऐसा क्यों है?


डुप्लिकेट वोट के जवाब में: मैं यह नहीं पूछ रहा हूं कि किन पैकेजों में रिबूट की आवश्यकता है क्योंकि लिंक किए गए प्रश्न हैं। बल्कि मैं पूछ रहा हूँ क्यों apt-get जब मैं पहचान एक पैकेज अपडेट किया जा रहा है कि अद्यतन प्रबंधक भी रिबूट करने मुझसे पूछते नहीं करता होगा के लिए एक रिबूट की आवश्यकता है।


10
यह भी ध्यान देने योग्य है कि जिस प्रकार के अपडेट कवर किए जाते हैं apt-get dist-upgradeलेकिन उनके द्वारा apt-get updgradeकिए जाने की संभावना अधिक होती है, जो अपडेट मैनेजर को रिबूट का सुझाव देने के लिए प्रेरित करते हैं।
जॉन हैना

4
FWIW, आप जाँच कर सकते हैं कि क्या अस्तित्व की जाँच करके पुनः आरंभ आवश्यक है /var/run/reboot-required। इसके अलावा, बायोबू जरूरत पड़ने पर स्टेटस बार में "अपडेट अपेक्षित" आइकन दिखाता है।
एंड्रिया कोरबेलिनी

2
@ Pilot6 भी नहीं दूर से डुप्लिकेट होने के लिए बंद कर दें। आपके द्वारा चिह्नित प्रश्न पूछ रहा है कि किन पैकेजों को रिबूट की आवश्यकता है। मेरा प्रश्न पूछ रहा है कि क्यों एक अद्यतन विधि मुझे रिबूट करने के
Jan

1
ठीक। लेकिन यह बारीकी से संबंधित है।
पायलट 6

1
@ पायलट 6 जिसे मैं सहमत कर सकता हूं;)
जनवरी

जवाबों:


81

क्योंकि apt-get(या सादा सरल apt) पेशेवरों के लिए है और जब अभियोजन एक:

sudo apt-get dist-upgrade

और एक नए कर्नेल को स्थापित होते हुए देखें, पेशेवरों को पता है कि उन्हें इसे सक्रिय करने के लिए रिबूट करना होगा ...

स्वत: अद्यतन वहाँ बाहर हर किसी के लिए है!

;-)

वैकल्पिक रूप से, आप अब संस्करण 16.04 से उबंटू लाइव कर्नेल पैचिंग स्थापित कर सकते हैं जो आपके सर्वर के चलने के दौरान आपको अपने कर्नेल को अपडेट करने की अनुमति देता है।


4
काश मैं तीनों उत्तर स्वीकार कर सकता क्योंकि वे तकनीकी रूप से सभी एक ही बात कहते हैं। लेकिन मुझे लगता है कि मैं तुम्हारा ले जाऊंगा क्योंकि तुमने मुझे सबसे ज्यादा परेशान किया ;-)
Jan

6
> :) एक जवाब में थोड़ा हास्य कभी खराब नहीं होता है! ;-)
फाबिन

4
कर्नेल लाइवपैचिंग का समर्थन अब मुख्यधारा की गुठली में है, इसलिए किस्मत के साथ हमें LTS 16.04 तक पहुंचने के बाद अब रिबूट नहीं करना पड़ सकता है।
कैस्परल्ड

apt-get upgradeबनाम का आपका वर्णन apt-get dist-upgrademan apt-getतो उपकरण का उपयोग करके मेरे अनुभव से मेल खाता है । मुझे पूरा यकीन है कि अंतर यह है कि पैकेजों को स्थापित करने या हटाने की आवश्यकता पर निर्भरता के साथ क्या करना है; "उन्नयन" उन पैकेजों को छोड़ देता है, "डिस्ट-अपग्रेड" के उन्नयन को स्थापित करने के लिए पैकेजों को स्थापित / हटाने का प्रयास करता है।
derobert

1
@ फैबी कुछ उलझा हुआ है जैसा कि आपने वर्तमान में उस पैराग्राफ को हटा दिया है, लेकिन यदि आप apt-get man पेज को देखते हैं, तो "अपग्रेड" का वर्णन उदाहरण के लिए, "किसी भी परिस्थिति में वर्तमान में हटाए गए पैकेजों को स्थापित नहीं किया गया है, या पहले से इंस्टॉल नहीं किए गए पैकेज और स्थापित किया। " इसलिए यदि एक सामान्य ऐप अपडेट के लिए एक नया पैकेज (नया पुस्तकालय सोनम, उदाहरण के लिए) स्थापित करने की आवश्यकता होती है, तो ऐसा नहीं किया जाएगा। या यदि कोई कर्नेल अपडेट एक ही पैकेज नाम का उपयोग करता है, तो यह किया जाएगा।
derobert

37

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

इस मामले /var/run/reboot-requiredमें एक पैकेज इंस्टॉलेशन स्क्रिप्ट द्वारा सेट किया गया है।

कमांड लाइन apt-get upgradeकुछ भी सुझाती नहीं है, क्योंकि यह अधिक उन्नत उपयोगकर्ताओं को लक्षित है जो सिस्टम को पुनरारंभ करने के लिए खुद को तय कर सकते हैं;;

लेकिन कुछ ही समय में apt-get अपडेट मैनेजर का उपयोग करके अपग्रेड करने के बाद भी पुनरारंभ करने का सुझाव देगा।


मुझे विश्वास नहीं हो रहा है कि क्या यह सच है? "ऐसी सेवाएँ जिन्हें पूरे सिस्टम को रिबूट किए बिना दोबारा शुरू नहीं किया जा सकता है।"
एबी

2
हाँ यह सच है। जैसे "अपस्टार्ट" और कुछ अन्य। ज्यादा नहीं।
पाइलट

2
@ पाइलट 6 हास्यास्पद लगता है अगर कोई रिबूट के बिना अपस्टार्ट को फिर से शुरू नहीं किया जा सकता है। यह SysV इनिट से अपग्रेड होना चाहिए था जिसे रिबूट के बिना फिर से शुरू किया जा सकता है।
कैस्परल्ड

@kasperd यह सिर्फ एक उदाहरण था। मैंने देखा कि अपडेट प्रबंधक कुछ गैर-कर्नेल पैकेजों पर पुनः आरंभ करने के लिए कहता है। इन पैकेजों की कुछ सूची होनी चाहिए। मुझे यकीन नहीं है कि ऊपरवाला वहाँ है।
पायलट 6

1
@MaxNanasy अपडेट मैनेजर पॉपअप और रीबूट करने का सुझाव देगा। यह थोड़ी देर में हो सकता है।
पायलट 6

15

जब आप एक नया कर्नेल स्थापित करते हैं, तो आपको परिवर्तनों को प्रभावी करने के लिए मशीन को फिर से चालू करना होगा, apt-get बस इसके बारे में नहीं सोचते हैं।


1
सिर्फ कर्नेल अपडेट नहीं। जब कुछ अन्य पैकेज अपग्रेड किए जाते हैं तो आपको कुछ सेवाओं को रिबूट या पुनरारंभ करना होगा। यदि आप समझदार हैं तो आप अक्सर प्रासंगिक सेवाओं को फिर से शुरू कर सकते हैं और रिबूट से बच सकते हैं। यदि आप नहीं हैं, तो एक रिबूट हमेशा काम करेगा। यह अक्सर काम करना आसान नहीं है कि सेवाओं को पुनरारंभ करने की आवश्यकता है, क्योंकि उन्नत पैकेजों में साझा पुस्तकालय शामिल हो सकते हैं जो कि बहुत से अन्य सॉफ़्टवेयर प्रत्यक्ष या अप्रत्यक्ष रूप से अन्य सॉफ़्टवेयर के माध्यम से निर्भर करते हैं। मैं जरूरी नहीं कि 100% ग्राफिकल अपडेट मैनेजर को जानने के लिए विश्वास करता हूं।
थोमसट्रेटर

7

apt-get वास्तव में आपको टर्मिनल पर सूचित करता है जब एक निश्चित पैकेज स्थापित करने के बाद, अगर उसे रिबूट करने की आवश्यकता होती है।

अपडेट-मैनेजर एक ऑल-इन-वन प्रकार का समाधान है जो आपकी सभी अपग्रेड आवश्यकताओं को ध्यान में रखता है।

मैं उपयुक्त पसंद करते हैं, हालांकि, पता नहीं क्यों :)


2

apt-get upgrade कर्नेल अद्यतन नहीं करता है।

apt-get dist-upgrade Ubuntu में कर्नेल अद्यतन करता है।

4.1 से पहले लिनक्स कर्नेल संस्करणों को कर्नेल के अद्यतन होने पर रिबूट की आवश्यकता होती है।

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

wineserver -k

और एप्लिकेशन को पुनरारंभ करें।

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