कैसे "परीक्षण" से "स्थिर" वापस पाने के लिए - कर्नेल डाउनग्रेड


37

वर्तमान में मुझे बहुत मज़ा आ रहा है apt-get- और बुरी बात यह है, यह मेरी अपनी गलती थी। मैंने एक निश्चित पैकेज को स्थापित करने के लिए testingसंकुल को सक्षम किया था /etc/apt/sources.list। और मैंने अपने सिस्टम को बताया apt-get dist-upgrade। सबकुछ ठीक रहा, लेकिन अब मैं stableअपडेट को वापस पाने की कोशिश कर रहा हूं - और मैं असफल हूं ...

जब करने की कोशिश कर रहा है apt-get dist-upgrade, मैं निम्नलिखित जानकारी प्राप्त करें:

The following packages will be REMOVED:
  linux-image-3.10-3-amd64
The following NEW packages will be installed:
  libcgi-fast-perl libfcgi-perl libyaml-syck-perl
The following packages will be DOWNGRADED:
  initramfs-tools libdate-manip-perl munin munin-common

ठीक है, यह ठीक है, लेकिन जब मैं ऐसा करने की कोशिश कर रहा हूं, तो मुझे बोल्ड फ्रेंडली लाल अक्षरों में एक चेतावनी मिलती है:

You are running a kernel (version 3.10-3-amd64) and attempting to remove the same version.
...
It is highly recommended to abort the kernel removal unless you are prepared to fix the system after removal.

वैसे, मुझे सिफारिश का पालन करना पसंद है। stableरिलीज के लिए सही कर्नेल संस्करण होगा linux-image-3.2.0-4-amd64और यह पहले से ही स्थापित है। अगर मैं पुराने कर्नेल के तहत काम कर रहा था तो संभवत: डाउनग्रेड कोई समस्या नहीं होगी? वास्तव में, मैं कोई सुराग नहीं कैसे गिरी सक्षम करने के लिए 3.2.0की बजाय 3.10


5
मुझे आपसे इसे तोड़ने से नफरत है, लेकिन डेबियन में डाउनग्रेड का समर्थन नहीं किया गया है। आप इस बारे में विशिष्ट नहीं हैं कि आपके सिस्टम में अब परीक्षण से कितने पैकेज हैं (यह खोज योग्य है, उदाहरण के लिए, उपयुक्त-शो-संस्करण द्वारा), लेकिन यदि यह एक महत्वपूर्ण हिस्सा है, तो आपको समस्याएं हो सकती हैं। जब तक मैं कुछ याद नहीं कर रहा हूँ, आपके तत्काल मुद्दे का समाधान सरल लगता है। बस 3.2 में रिबूट करें और फिर नए कर्नेल को हटा दें। हालाँकि, यह आपके सिस्टम के बाकी हिस्सों को जादुई रूप से स्थिर नहीं बना देगा।
फहीम मीठा

धन्यवाद! जहाँ तक मैं देख रहा हूँ, वहाँ बहुत परेशानी नहीं है - बस कुछ संकुल ... क्या रिबूट के बाद कर्नेल 3.2 का उपयोग करने के लिए सिस्टम को बताने का कोई विकल्प है? मैं एक VPS (वर्चुअल सर्वर) पर काम कर रहा हूं और SSH के उठने से पहले किसी भी बटन पर क्लिक नहीं कर पाऊंगा ...
BurninLeo

आप कह रहे हैं कि आप कर्नेल को बूट पर अंतःक्रियात्मक रूप से नहीं चुन सकते हैं? यदि आप GRUB का उपयोग कर रहे हैं, तो आपको ग्रब कॉन्फिगरेशन में जाने में सक्षम होना चाहिए और कर्नेल के अपने डिफ़ॉल्ट विकल्प को बूट करने के लिए बदलना चाहिए। विवरण इस बात पर निर्भर करेगा कि आप GRUB के किस संस्करण को चला रहे हैं।
फहीम मीठा

1
@Ilff डेबियन स्वचालित रूप से एक डाउनग्रेड का प्रयास नहीं करेगा। आप ऐसा करने की कोशिश करने के लिए उपयुक्त को कॉन्फ़िगर कर सकते हैं, लेकिन मुझे नहीं लगता कि इससे यहां मदद मिलेगी।
फहीम मीठा

1
आप शायद GRUB का उपयोग कर रहे हैं। dpkg -l | grep grubप्रश्न में GRUB के अपने संस्करण को पोस्ट करें ।
फहीम मिठ्ठ

जवाबों:


43

इसे देखो, यह इंगित करता है कि मंदी का उपयोग करके डाउनग्रेड संभव है:

http://ispire.me/downgrade-from-debian-sid-to-stable-from-jessie-to-wheezy/

अनिवार्य (3-चरण):
(यदि आपका सिस्टम अधिक संस्करण का है, तो आप सावधान रहना चाहते हैं। विशेष रूप से प्रारूप परिवर्तन (डेटा और व्यक्तिगत कॉन्फ़िगरेशन फ़ाइलें) देखें

  1. सभी संदर्भ निकाल दें sid या अस्थिर अपने में /etc/apt/sources.list, हटाने की जगह, या बाहर टिप्पणी करके। सुनिश्चित करें sources.listकि आप क्या चाहते हैं (मैं सुरक्षा और स्थिर डिबेट स्रोतों की सिफारिश करता हूं)। उदाहरण के लिए:

    deb http://security.debian.org/ wheezy / updates मुख्य
    डिब-src http://security.debian.org/ wheezy / updates मुख्य

    देब http://cdn.debian.net/debian/ खरखरा मुख्य योगदान गैर मुक्त
    deb-src http://cdn.debian.net/debian/ खरखरा मुख्य योगदान गैर मुक्त

  2. अपनी इच्छित रिलीज़ को पिन करें /etc/apt/preferences(यह पहले से डाउनलोड किए गए लेकिन अब अवांछित पैकेज जानकारी को वांछित के रूप में अनदेखा कर देगा)।

    पैकेज: *
    पिन: एक = स्थिर
    पिन-प्राथमिकता जारी करें: 1001

  3. अंत में हमें सभी पैकेजों को डाउनग्रेड करने के लिए apt अपडेट और अपग्रेड प्रक्रिया को चलाना होगा।
    * aptपुष्टि के लिए पूछेंगे

    # apt-get update
    # apt-get upgrade
    # apt-get dist-upgrade

यदि आप यह नहीं समझा सकते हैं कि इनमें से प्रत्येक कमांड स्वतंत्र रूप से क्या करता है, तो अपने मैन पेज पढ़ें! :) और अन्य उपयोगिताओं में आपके द्वारा उपयोग किए जाने वाले कम से कम विकल्पों के लिए भी ऐसा ही करें।

  1. (यदि आपके पास पैकेज को अपग्रेड करने में समस्याएँ हैं) तो इसे शुद्ध करें, फिर से इंस्टॉल करें

    # apt-get purge [your_failing_package]
    # apt-get install [your_failing_package]


2
बहुत बढ़िया जवाब, धन्यवाद! इसका मूल चरण २ है।
क्रिस हैरिंगटन १२

/etc/issueऔर अन्य फ़ाइलों को डाउनग्रेड नहीं रखा जाता है। इसे कैसे हल करें?
मोरेविस्क

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

    gayan@deb:~$ dpkg -l | grep linux 
    ii  linux-image-amd64                     4.9.25-1~bpo8+1
    ii  linux-image-3.16.0-4-amd64            3.16.43-2
    ii  linux-image-4.9.0-0.bpo.3-amd64       4.9.25-1~bpo8+1
    
  • बस मेटा पैकेज को शुद्ध करें ( linux-image-amd64) और इसे पुनर्स्थापित करें।

    तब आपके पास होगा:

    gayan@deb:~$ dpkg -l | grep linux
    ii  linux-image-amd64                     3.16.43-2
    ii  linux-image-3.16.0-4-amd64            3.16.43-2
    
  • रीबूट।


जानकारी:

linux-image-amd64एक मेटा पैकेज है। यह या तो स्थिर कर्नेल या बैक-पोर्टेड पॉइंट (4.9.25-1 ~ bpo8 + 1) पर निर्भर करता है कि आप इसे कैसे स्थापित करते हैं:

apt-get -t jessie-backports install linux-image-amd64

या

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