अद्यतन के दौरान रिबूट, glibc त्रुटि: libc.so.6: संस्करण 'GLIBC_2.14' नहीं मिला


11

11.10 से 12.04 तक अपग्रेड करते समय अपग्रेड ठप हो गया क्योंकि यह कहा गया कि xscreensaver को अनइंस्टॉल करने की जरूरत है। मैंने एक टर्मिनल खोलने की कोशिश की, लेकिन सिस्टम जवाब नहीं देगा। इसलिए मैंने एक हार्ड बूट किया और अब मैं उबंटू लोडिंग स्क्रीन को पा नहीं सकता। जब मुझे रूट स्क्रीन मिली तो मुझे एक संदेश मिला:

mountall: /lib/x86_64-linux-gnu/libc.so.6: version 'GLIBC_2.14' not found (required by /lib/libpllibply.so.2

मैं वास्तव में नहीं जानता कि इस बिंदु से क्या करना है।

जवाबों:


8

मुझे आज यह समस्या थी और इसे कुछ मिनट पहले हल किया गया था।

संक्षिप्त जवाब:

  • Ubuntu के 12.04 लाइव-सीडी को डाउनलोड करें
  • इसे बूट करें "इसे आज़माएं"
  • टर्मिनल खोलें
  • अपने टूटे हुए विभाजन को माउंट करें
  • अपने विभाजन में लाइव सीडी के libc (संस्करण 15) की प्रतिलिपि बनाएँ
  • अपने विभाजन के libc.so.6 सिमिलिंक को ठीक करें
  • माउंट sysfs, बाँध और अपने विभाजन पर खरीद
  • chroot यह
  • apt-get -f install
  • apt-get dist-upgrade

यहां आदेशों की एक सूची है (कॉपी / पेस्ट किया गया, सुनिश्चित नहीं है कि मैं कुछ चूक गया, सुनिश्चित करें कि आप sda5 के बजाय उपयुक्त डिवाइस का उपयोग कर रहे हैं, मैं 64 बिट लिनक्स का उपयोग कर रहा हूं):

sudo -i
cd /mnt
mkdir sda5
mount /dev/sda5 sda5
cp /lib/x86_64-linux-gnu/libc-2.15.so sda5/lib/x86_64-linux-gnu/
cd sda5/lib/x86_64-linux-gnu
rm libc.so.6
ln -s libc-2.15.so libc.so.6
cd /mnt
mount -t sysfs sys sda5/sys
mount -o bind /dev sda5/dev
mount -t proc proc sda5/proc
chroot sda5
ls # make sure ls does not complain about libc!
apt-get -f install
apt-get dist-upgrade

सिस्टम ने मुझे बताया कि अपग्रेड करने के लिए 400 पैकेज हैं और अब यह अपग्रेड हो रहा है ... इसके खत्म होने के बाद मैं रिबूट करूंगा और जांच करूंगा कि सब कुछ ठीक है या नहीं।

यदि मुझे डिस्ट-अपग्रेड के बाद कुछ और करने की आवश्यकता है तो मैं इस पोस्ट को संपादित करूंगा।

[संपादित] : उन्नयन ठीक चला गया। फिर मैंने रिबूट किया और मैं लॉग इन कर सकता हूं (मैं Xfce का उपयोग करता हूं)। वायरलेस काम नहीं कर रहा था, लेकिन एकल modprobe brcmsmacने इसे काम किया। अब मैं पुराने पैकेजों को हटाने के लिए सिस्टम चौकीदार चला रहा हूं।


एक बार जब मैं sda5 को माउंट करने की कोशिश करता हूं, मुझे एक प्रतिक्रिया मिलती है जो कहती है कि स्वैप फ़ाइल है और इसे माउंट नहीं किया जा सकता है (?)

@TurboWald sda5 मेरा रूट विभाजन था। आपको यह पता लगाने की जरूरत है कि आपका रूट विभाजन कौन सा है। Sda1 को माउंट करने का प्रयास करें, फिर इसकी सामग्री की जांच करें, फिर sda2 को माउंट करने और इसकी सामग्री की जांच करने का प्रयास करें, और इसी तरह। आपकी रूट पार्टीशन में / lib, / usr, / bin, आदि जैसी फाइलें होनी चाहिए
pzanoni

मैं 13.04 में अपग्रेड करने की कोशिश करते हुए और libc-2.17.so को कॉपी करने के बाद एक ही त्रुटि देख रहा हूं और एक सिमिलिंक बना रहा हूं, मैं साझा पुस्तकालयों __vdso_time` को लोड करते समय निम्न त्रुटि देख रहा हूं
Shaggye, 5

1

तो अगर आप sudo dpkg चलाते हैं --configure -a क्या यह अपग्रेड को पूरा करता है? एक और विकल्प यह कोशिश करने का है कि क्या यह आपको एप्टो-गेट स्थापित करने की सुविधा देगा। रिकवरी मोड में आने के लिए…।

यहाँ उबंटू विकी पर मिला: https://wiki.ubuntu.com/RecoveryMode

अपने कंप्यूटर पर स्विच करें, तब तक प्रतीक्षा करें जब तक कि BIOS लोडिंग समाप्त न हो जाए (आपको संभवतः अपने कंप्यूटर निर्माता का लोगो दिखाई देगा) निम्न संदेश दिखाई देंगे:

ग्रब लोडिंग स्टेज1.5

ग्रब लोड हो रहा है, कृपया प्रतीक्षा करें ...

मेनू में प्रवेश करने के लिए ESC दबाएं जल्दी एस्केप कुंजी दबाएं, जो बूट मेनू लाएगा। (यदि आप उबंटू लोगो देखते हैं, तो आप 'रिकवरी मोड') के साथ समाप्त होने वाली लाइन का चयन करें, संभवतः दूसरी पंक्ति, कुछ इस तरह है:

उबंटू, कर्नेल 2.6.17-10-जेनेरिक (रिकवरी मोड) प्रेस दर्ज करें और आपकी मशीन बूट प्रक्रिया शुरू कर देगी। कुछ क्षणों के बाद, आपके कार्य केंद्र को कई विकल्पों के साथ एक मेनू प्रदर्शित करना चाहिए। विकल्पों में से एक (आपको सूची के नीचे स्क्रॉल करने की आवश्यकता हो सकती है) "ड्रॉप टू रूट शेल प्रॉम्प्ट" होगा।


मैं ऐसा कहां कर सकता हूं क्योंकि मैं एक टर्मिनल में नहीं जा सकता और कुछ भी नहीं जो मैं टाइप करता हूं वह अन्य स्क्रीन पर आता है।
कर्ट

क्या आप अभी भी रिकवरी मोड में बूट कर सकते हैं और क्या यह आपको # (रूट) प्रॉम्प्ट देता है?
ब्रेट

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

0

देखें कि क्या आप अपने 12.04 मीडिया को बूट कर सकते हैं और सिस्टम का सीडी अपग्रेड कर सकते हैं। (यह मानते हुए अभी भी यह 11.10 उम्मीद है कि)


मैंने System76 से लैपटॉप खरीदा है इसलिए मेरे पास कोई बूट सीडी नहीं है। मैं तब से इसे रिकवरी मोड में शुरू करने में सक्षम हूं, लेकिन जब मैं कोशिश करता हूं कि मैं dpkg विकल्प को चलाता हूं तो यह कहता है: dpkg बाधित हो गया था, आपको समस्या को ठीक करने के लिए मैन्युअल रूप से 'dpkg --configure -a' चलाना होगा।
कर्ट

@ क्या आप चलाने में सक्षम हैं dpkg --configure -a?
बेलाक्वा

0

आप cd या usb से बूट कर सकते हैं और फिर फाइल सिस्टम चेरोट को माउंट पॉइंट पर चलाकर चला सकते हैं sudo apt-get install -f --fix-missing

  1. यूएसबी से बूट करें
  2. खुला टर्मिनल
  3. cd /mnt
  4. sudo mkdir /mnt/brokesystem
  5. sudo mount /dev/*sda1* /mnt/brokesystem * नोट / देव / sda1 कुछ और हो सकता है / देव / ...
  6. sudo chroot /mnt/brokesystem
  7. sudo apt-get install -f --fix-missing (आपको सेवा को फिर से शुरू करने के लिए प्रेरित किया जा सकता है और ऐसी त्रुटियां प्राप्त हो सकती हैं जो सेवा फिर से शुरू करने में सक्षम नहीं हैं, यह ठीक है)
  8. जब अपडेट रिबूट किया जाता है (वैकल्पिक बूट डिवाइस सीडी / यूएसबी हटा दें)
  9. सामान्य रूप से लोड करना चाहिए (पहली बार बूट करने में थोड़ा अधिक समय लग सकता है)

@ विपुल गुप्ता आप सीधे sda1 को नहीं काट सकते। आपको sda1 माउंट करने की आवश्यकता है। आपको एक निर्देशिका बनाने की आवश्यकता है सबसे अच्छी जगह होगी / mnt, फिर sudo mkdir brokesystem, फिर sudo माउंट / dev / sda1 / mnt / brokesystem फिर 6. से जारी रखें
एंड्रयू
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.