รีบูตระหว่างการอัพเดตข้อผิดพลาด glibc: libc.so.6: รุ่น 'GLIBC_2.14' ไม่พบ


11

ในขณะที่อัพเกรดจาก 11.10 เป็น 12.04 การอัพเกรดจะหยุดทำงานเนื่องจากกล่าวว่าจำเป็นต้องถอนการติดตั้ง xscreensaver ฉันพยายามเปิด terminal แต่ระบบไม่ตอบสนอง ดังนั้นฉันจึงบูตอย่างหนักและตอนนี้ฉันไม่สามารถผ่านหน้าจอการโหลด Ubuntu ได้ เมื่อฉันไปถึงหน้าจอรูทฉันได้รับข้อความ:

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 live-cd
  • บูตมันเป็น "ลอง"
  • เปิดเทอร์มินัล
  • เมานต์พาร์ติชันที่หักของคุณ
  • คัดลอก libc ของ live cd (เวอร์ชัน 15) ลงในพาร์ติชันของคุณ
  • แก้ไข symlink libc.so.6 พาร์ติชันของคุณ
  • เมานต์ sysfs, ผูกและ proc บนพาร์ติชันของคุณ
  • chroot มัน
  • apt-get -f install
  • apt-get dist-upgrade

นี่คือรายการคำสั่ง (คัดลอก / วางไม่แน่ใจว่าฉันพลาดบางสิ่งให้แน่ใจว่าคุณใช้อุปกรณ์ที่เหมาะสมแทน sda5 ฉันใช้ Linux 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 แพ็คเกจที่จะอัพเกรดและตอนนี้กำลังอัปเกรด ... หลังจากเสร็จสิ้นฉันจะรีบูตและตรวจสอบว่าทุกอย่างเรียบร้อยดี

ถ้าฉันต้องทำอย่างอื่นหลังจากอัพเกรด dist ฉันจะแก้ไขโพสต์นี้

[แก้ไข] : การอัปเกรดเป็นไปด้วยดี จากนั้นฉันเริ่มระบบใหม่และสามารถลงชื่อเข้าใช้ (ฉันใช้ Xfce) ไร้สายไม่ทำงาน แต่เครื่องเดียวmodprobe brcmsmacก็ทำงานได้ ตอนนี้ฉันใช้ระบบภารโรงเพื่อลบแพ็คเกจเก่าออก


เมื่อฉันพยายามเมา sda5 ฉันได้รับคำตอบว่าเป็นไฟล์ swap และไม่สามารถเมานต์ (?)

@TurboWald sda5 เป็นรูทพาร์ติชันของฉัน คุณต้องค้นหาว่าพาร์ทิชันรูทใดของคุณ ลองติดตั้ง sda1 จากนั้นตรวจสอบเนื้อหาจากนั้นลองติดตั้ง sda2 และตรวจสอบเนื้อหาและอื่น ๆ รูทพาร์ติชันของคุณควรมีไฟล์เช่น / lib, / usr, / bin, ฯลฯ
pzanoni

ฉันเห็นข้อผิดพลาดเดียวกันในขณะที่พยายามอัพเกรดเป็น 13.04 และหลังจากการคัดลอก libc-2.17.so และสร้าง symlink ฉันเห็นข้อผิดพลาดต่อไปนี้ `ข้อผิดพลาดขณะโหลดไลบรารีที่ใช้ร่วมกัน __vdso_time`
ShaggyInjun

1

ดังนั้นถ้าคุณเรียกใช้ sudo dpkg - กำหนดค่า - มันเสร็จสิ้นการอัพเกรดหรือไม่? ตัวเลือกอื่นที่จะลองถ้ามันจะช่วยให้คุณ sudo apt-get install --fix-missing เพื่อเข้าสู่โหมดการกู้คืน ....

รับสิ่งนี้ได้จาก Ubuntu wiki ที่นี่: https://wiki.ubuntu.com/RecoveryMode

เปิดคอมพิวเตอร์รอจนกระทั่ง BIOS โหลดเสร็จ (คุณอาจเห็นโลโก้ของผู้ผลิตคอมพิวเตอร์) ข้อความต่อไปนี้จะปรากฏขึ้น:

Grub loading stage1.5

กำลังโหลดด้วงโปรดรอ ...

กด ESC เพื่อเข้าสู่เมนูกดปุ่ม Escape อย่างรวดเร็วซึ่งจะเป็นการเปิดเมนูการบู๊ต (หากคุณเห็นโลโก้ Ubuntu คุณได้เลือกบรรทัดที่ลงท้ายด้วย '(โหมดการกู้คืน)' อาจเป็นบรรทัดที่สองซึ่งมีลักษณะดังนี้:

Ubuntu, เคอร์เนล 2.6.17-10-generic (โหมดการกู้คืน) กด Enter และเครื่องของคุณจะเริ่มกระบวนการบู๊ต หลังจากนั้นครู่หนึ่งเวิร์กสเตชันของคุณควรแสดงเมนูที่มีตัวเลือกจำนวนมาก หนึ่งในตัวเลือก (คุณอาจจำเป็นต้องเลื่อนลงไปที่ด้านล่างของรายการ) จะเป็น "พร้อมต์เพื่อรูทเชลล์พร้อมท์"


ฉันจะทำเช่นนั้นเพราะฉันไม่สามารถเข้าไปในเครื่องเทอร์มินัลและไม่มีสิ่งใดที่ฉันพิมพ์ขึ้นมาบนหน้าจออื่น
ห้วน

คุณยังสามารถบูทเข้าสู่โหมดการกู้คืนได้หรือไม่และให้พรอมต์ # (root) หรือไม่
Brett

หากคุณสามารถรับมือกับไลฟ์ซีดีหรือยูเอสบีอูบุนตูได้ฉันขอแนะนำคำตอบที่ Andrew ให้ไว้ด้านล่าง
Brett

0

ดูว่าคุณสามารถบูทจากสื่อ 12.04 ของคุณและทำการอัพเกรดซีดีของระบบได้หรือไม่ (สมมติว่ามันยังคงคิดว่ามันเป็น 11.10 หวังว่า)


ฉันซื้อแล็ปท็อปจาก System76 ดังนั้นฉันไม่มีซีดีสำหรับบูต ฉันสามารถเริ่มใช้งานได้ในโหมดการกู้คืน แต่เมื่อฉันลองเรียกใช้ตัวเลือก dpkg จะมีข้อความแจ้งว่า: dpkg ขัดจังหวะคุณต้องเรียกใช้ 'dpkg --configure -a' ด้วยตนเองเพื่อแก้ไขปัญหา
ห้วน

@Curt คุณสามารถเรียกใช้dpkg --configure -aหรือไม่
belacqua

0

คุณสามารถบูตจากซีดีหรือ USB แล้วติด chroot sudo apt-get install -f --fix-missingระบบไฟล์ไปยังจุดที่ติดตั้งและเรียกใช้

  1. บูตจาก usb
  2. เปิดเทอร์มินัล
  3. cd /mnt
  4. sudo mkdir /mnt/brokesystem
  5. sudo mount /dev/*sda1* /mnt/brokesystem * note / dev / sda1 อาจเป็นอย่างอื่น / dev / ...
  6. sudo chroot /mnt/brokesystem
  7. sudo apt-get install -f --fix-missing (คุณอาจได้รับแจ้งให้รีสตาร์ทบริการและรับข้อผิดพลาดที่บริการไม่สามารถรีสตาร์ทได้นี่คือ ok)
  8. เมื่อการอัปเดตเสร็จสิ้นให้รีบูต (ลบอุปกรณ์บูตสำรอง cd / usb)
  9. ควรโหลดตามปกติ (อาจใช้เวลาบูตนานกว่าเล็กน้อยในครั้งแรก)

@Vipul Gupta คุณไม่สามารถ chroot sda1 โดยตรง คุณต้องติดตั้ง sda1 คุณต้องสร้างไดเรกทอรีที่ดีที่สุดจะเป็น / mnt จากนั้น sudo mkdir brokesystem จากนั้น sudo mount / dev / sda1 / mnt / brokesystem จากนั้นต่อจาก 6
Andrew
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.