กู้คืนจากการปิดในระหว่างการอัพเกรดแจกจ่าย Ubuntu


18

ฉันมีคอมพิวเตอร์ที่ถูกปิดตัวลงโดยไม่คาดคิดในระหว่างการอัพเกรดการแจกจ่าย (Ubuntu 8.10 -> 9.04) ตอนนี้จะไม่บูตเสร็จ - ข้อผิดพลาด X ต่างๆจากนั้นไปที่หน้าจอเข้าสู่ระบบ แต่จะไม่อนุญาตให้เข้าสู่ระบบ

ฉันมีข้อมูลสำรองและ / / ข้อมูลบ้านยังคงใช้ได้บนไดรฟ์ดังนั้นจึงไม่เกิดขึ้นใหม่ แต่การสร้างใหม่ทั้งหมดยังคงเป็นกระบวนการที่น่ารำคาญและใช้เวลานาน มีวิธีการกู้คืนจากนี้ ฉันมีซีดี 9.04 ฉันกำลังพยายามลองติดตั้งด้านบน - นั่นเป็นความคิดที่ดีหรือไม่?

มีวิธีใดบ้างในการตรวจสอบไดรฟ์และสร้างรายการซอฟต์แวร์ที่ติดตั้งและยังดีกว่าการตั้งค่าจากภายนอก / บ้าน (เช่น / ฯลฯ ) หรือไม่?


หากฉันต้องเริ่มต้นใหม่ตั้งแต่ต้นคำแนะนำสำหรับการจัดการกับบุคคลที่รับผิดชอบในการปิดระบบที่ไม่คาดคิดคืออะไร? :)


แก้ไข: ขอบคุณมากสำหรับคำตอบทั้งหมดฉันต้องยอมรับคำตอบทั้งหมดตามที่ฉันต้องการใช้บิตจากแต่ละคำตอบ ฉันสามารถซ่อมแซมการติดตั้งได้อย่างสมบูรณ์โดยใช้สิ่งนี้:

sudo dpkg --configure -a
sudo apt-get update
sudo dpkg --configure -a
sudo dpkg --configure -a --abort-after=99999
sudo apt-get dist-upgrade
sudo apt-get -f install
sudo apt-get dist-upgrade

1
ใช้ LART ( catb.org/jargon/html/L/LART.html ): "LART classic เป็น 2x4 หรือเหล็กแท่งขนาดใหญ่อื่น ๆ ของไม้ที่ใช้งานได้ในฐานะสโมสร [... ] ลูกบิดเกอร์อาวุธอัตโนมัติเครื่องพ่นไฟและยุทธวิธี นิวเคลียร์ทุกคนมีพรรคพวกของพวกเขา "
David Schmitt

คุณสามารถพิมพ์ข้อมูลประจำตัวในการเข้าสู่ระบบหรือไม่สามารถใช้แป้นพิมพ์และ / หรือเมาส์ได้หรือไม่
Oddmund

ฉันพิมพ์ข้อมูลรับรองได้ แต่จะไม่ไปไกลกว่านี้อีก CTRL + ALT + F1 ให้ฉันขั้วอย่างไรและผมก็สามารถที่จะเข้าสู่ระบบในการมี
โคลิน Pickard

คุณอาจได้รับปัญหาเมื่อ / usr, / home และโฟลเดอร์ที่คล้ายกันติดตั้งจากดิสก์แยกกันในสถานการณ์เช่นนี้การเชื่อมช่วย ใช้ mount - ผูก / proc / chrooted / proc ติด - ผูก / mnt / usr / chrooted / usr ...

คำตอบ:


11

หากคุณสามารถไปยังสถานที่ที่คุณสามารถใช้ dpkg เป็นรูทได้คุณสามารถเรียกใช้ dpkg --configure -a

อย่างไรก็ตามคุณอาจพบว่ามีการระเบิดสำหรับการอัปเกรด borked ดังนั้นคุณอาจต้อง:

dpkg --configure -a --abort-after=99999

7

ลองกด CTRL-ALT-F1 และดูว่าคุณได้รับพรอมต์คำสั่งหรือไม่ ดูว่าคุณสามารถเข้าสู่ระบบแล้วลองใช้sudo apt-get-DIST การดำเนินการนี้จะช่วยให้คุณอัพเกรดได้สำเร็จ คุณอาจได้รับข้อผิดพลาดดังนั้นคุณอาจต้องลองใช้sudo dpkg --configure -a


ที่จะได้รับรายชื่อของซอฟต์แวร์ที่ติดตั้งที่คุณสามารถเรียกใช้คำสั่งdpkg --get-เลือก หากคุณบันทึกผลลัพธ์ของคำสั่งนั้นลงในไฟล์คุณสามารถใช้คำสั่งcat selections | sudo dpkg --set-selectionsจากนั้นใช้คำสั่งsudo apt-get dselect-upgradeเพื่อรับแพคเกจทั้งหมดที่ติดตั้ง

หากคุณไปเส้นทางนั้นคุณควรสำรองข้อมูลโฟลเดอร์ / etc และ / home ของคุณไปยังอุปกรณ์อื่น


ฉันจะเพิ่ม dpkg - ตัวเลือกไปยังสคริปต์สำรองของฉันที่ฉันคิด มีประโยชน์มาก.
Colin Pickard

5
sudo apt-get update
sudo dpkg --configure -a
sudo apt-get update
sudo apt-get dist-upgrade

บรรทัดที่ 1 รีเฟรชระดับปัจจุบันของ repo ที่คุณดาวน์โหลด

บรรทัดที่ 2 กำหนดค่าแพ็คเกจใด ๆ ที่อยู่ในสถานะ "ไม่ดี" ใหม่

มีบรรทัดที่ 3 อยู่ในกรณีที่ที่เก็บ "ย้าย" ไปเป็นเวอร์ชันใหม่ในระหว่างกระบวนการของบรรทัดที่ 2

บรรทัดที่ 4 ควรทำงานให้เสร็จ


5

ฉันสามารถกู้คืนจากสถานการณ์ความหายนะที่ Xubuntu จะไม่สามารถบู๊ตได้หลังจากไฟฟ้าดับในระหว่างการอัพเกรด ประมาณ 10 วินาทีหลังจากโพสต์ Xubuntu จะหยุดกับโฮสต์ของข้อผิดพลาด (พยายามโหลดตัวเลือก "กู้คืน" ในด้วงจะไม่ทำงานด้วย)

ดังนั้นหากใครก็ตามที่พบสิ่งนี้ฉันกำลังโพสต์ข้อมูลบางอย่างจากฟอรัม Ubuntu ที่ช่วยให้ฉันไปที่หน้าต่างเทอร์มินัลเพื่อที่ฉันจะได้ใช้คำสั่ง Colin และ Avery ที่โพสต์ไว้ด้านบน

---------- snip ---------- snip ---------- snip ---------- snip ------ ----

ubuntuforums.org/showthread.php?t=157250

สมมติว่าระบบของคุณเพิ่งละลายหลังจากการอัพเกรดมิฉะนั้นเคอร์เนลใหม่ของคุณจะไม่บูต คุณไม่สามารถแก้ไขปัญหาด้วย apt-get ได้เพราะคุณไม่สามารถไปถึงบรรทัดรับคำสั่งได้ เคอร์เนลเพียงแค่พ่นข้อผิดพลาดออกมาและค้างเมื่อบูตเครื่อง โชคดีที่มีซีดีแบบสดคุณสามารถซ่อมแซมระบบของคุณและเริ่มต้นใช้งานได้ คุณมี 2 ตัวเลือกสำหรับ live cd: Knoppix หรือ Ubuntu live cd เนื่องจาก Knoppix โดยทั่วไปมีการตรวจจับฮาร์ดแวร์ที่ดีกว่านี้จะใช้เป็นตัวอย่าง

  1. ขั้นแรกให้ดาวน์โหลด iso จากhttp://www.knoppix.org/และเขียนลงดิสก์
  2. รับการตั้งค่าไบออสของคุณเพื่อบู๊ตจากซีดีป๊อปอัพในดิสก์ Knoppix และบู๊ต
  3. ฮาร์ดไดรฟ์ของคุณควรปรากฏบนเดสก์ท็อป KDE เป็น hda1 หรือ sdb2 หรืออะไรบางอย่างขึ้นอยู่กับระบบของคุณ
  4. คลิกที่ภาพเพื่อติดตั้งจากนั้นคลิกขวาการกระทำ -> เปลี่ยนเป็นโหมดอ่าน - เขียน มันจะเปิดกล่องโต้ตอบขึ้นมา คลิกใช่
  5. ตอนนี้เปิดรูทเทอร์มินัลที่พบในเมนู Knoppix (อันถัดจาก K บนพาเนล) ป้อน: chroot / mnt / hda1 หรือไอคอนที่ฮาร์ดไดรฟ์ของคุณพูดบนเดสก์ท็อป

ตอนนี้คุณสามารถใช้คำสั่งทั้งหมดบนฮาร์ดไดรฟ์รวมถึง apt-get หากคุณได้รับข้อผิดพลาดนี้: "/ dev / null: การอนุญาตถูกปฏิเสธ" ให้ทำดังนี้: "sudo rm / dev / null" และควรหายไป ตอนนี้ใช้ apt-get เพื่ออัพเกรดเคอร์เนล udev หรืออะไรก็ตามที่ทำให้ระบบของคุณยุ่งเหยิง

---------- snip ---------- snip ---------- snip ---------- snip ------ ----

มันก็ออกมาสมบูรณ์แบบเช่นกัน! ฉันติดตั้งฮาร์ดไดรฟ์ตามคำแนะนำเปิดหน้าต่างเทอร์มินัลป้อน "sudo chroot / media / hda1" และในที่สุดก็สามารถเข้าถึงฮาร์ดไดรฟ์ของฉันได้ ฉันสามารถใช้คำสั่งที่โพสต์ไว้ก่อนหน้าในเธรดนี้เพื่อเริ่มกระบวนการอัพเกรดใหม่ได้ :)

มีข้อสงสัยว่าทำไม Ubuntu Live / CD ติดตั้งของ Ubuntu จึงไม่มี "คอนโซลการกู้คืน" ในตัวเพื่ออำนวยความสะดวกในกระบวนการกู้คืนทั้งหมด


สิ่งนี้ใช้ได้สำหรับฉันในสถานการณ์ที่คล้ายคลึงกัน คำตอบของ SU นี้ให้คำแนะนำที่ดีเกี่ยวกับวิธีการติดตั้งพาร์ติชันจากซีดีที่ใช้งานจริง
zelanix

1

สำหรับฉันคำสั่งอื่นยังช่วยในสภาพแวดล้อม chroot สำหรับแพ็คเกจทั้งหมดกำหนดค่าอย่างเหมาะสม (เรียกใช้ก่อนหน้านี้dpkg ,distเป็นต้น):

งานพุ่งพรวดไม่สามารถเริ่มต้นใน chroot ได้เพราะพุ่งพรวดทำหน้าที่เป็นผู้ควบคุมดูแลบริการและกระบวนการภายใน chroot ไม่สามารถสื่อสารกับการพุ่งพรวดที่ทำงานนอก chroot (Bug: 430224) สิ่งนี้จะทำให้บางแพ็กเกจที่ถูกแปลงเพื่อใช้งานพุ่งพรวดแทนที่จะเป็นสคริปต์เริ่มต้นที่จะล้มเหลวในการอัพเกรดภายใน chroot ผู้ใช้ควรกำหนดค่า chroots ด้วย / sbin / initctl ที่ชี้ไปที่ / bin / true โดยคำสั่งต่อไปนี้จะทำงานภายใน chroot:

รหัส:

dpkg-divert --local --rename --add /sbin/initctl
ln -s /bin/true /sbin/initct
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.