การขัดจังหวะ apt-get dist-upgrade: จะเกิดอะไรขึ้น?


10

สมมติว่าฉัน ssh ลงในคอมพิวเตอร์ของฉันและเรียกใช้

sudo apt-get dist-upgrade

และในขณะที่ apt-get กำลังทำงานและติดตั้งแพ็คเกจคนอื่นที่กำลังนั่งอยู่ที่เครื่องเทอร์มินัลและเข้าสู่ระบบ gnome ตัดสินใจที่จะปิดเครื่องคอมพิวเตอร์ผ่านทาง GUI

อะไรคือสิ่งที่เลวร้ายที่สุดที่สามารถเกิดขึ้นได้ภายใต้สถานการณ์เช่นนี้? มีกลไกใดที่ป้องกันไม่ให้บรรจุภัณฑ์อยู่ในสถานะ 'สกปรก' หรือไม่? หากไม่ทำเช่นนั้นจะป้องกันได้อย่างไร

คำตอบ:


8

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

  1. ใช้โหมดช่วยเหลือโดยการบูตด้วย Ubuntu ติดตั้ง CDROM และป้อน“ กู้ภัย” ที่พร้อมท์การบูต

  2. เมาท์พาร์ติชันทั้งหมดของคุณและดำเนินการ chroot to / target ที่มีการติดตั้งพาร์ติชันรูท

  3. หลังจากที่ระบบได้บูทไปที่เมนูให้เลือกรายการที่ระบุว่า“ พรอมต์ไปยังรูทเชลล์พร้อมระบบเครือข่าย” สิ่งนี้จะช่วยให้คุณสามารถอัปเดตซอฟต์แวร์แพ็กเกจจากอินเทอร์เน็ต

  4. เมื่อพรอมต์ปรากฏขึ้นให้เริ่มต้นด้วยการตรวจสอบให้แน่ใจว่ามีการกำหนดค่าโปรแกรมที่ติดตั้งอยู่ในปัจจุบันทั้งหมด:

    dpkg - กำหนดค่า -a

อาจใช้เวลานานขึ้นอยู่กับจำนวนโปรแกรมที่ติดตั้งก่อนที่ระบบจะหยุด

  1. จากนั้นไปข้างหน้าและอัปเดตรายการแพ็คเกจปัจจุบัน:

apt-get update

  1. ทำตามสิ่งนี้อัพเกรดซอฟต์แวร์บนระบบ:

apt-get upgrade

ขั้นตอนสุดท้ายนี้อีกครั้งอาจใช้เวลานานกว่าจะเสร็จสมบูรณ์ คุณควรใส่ใจกับรายการของแพ็คเกจที่ถูกระงับไว้ (อยู่ด้านบนของผลลัพธ์จากคำสั่งนี้); แพ็คเกจเหล่านี้จะต้องได้รับการร้องขอโดยเฉพาะ

โดยปกติแพคเกจจะถูกระงับเพราะพวกเขาต้องการซอฟต์แวร์ใหม่หรือการเปลี่ยนแปลงที่รุนแรงอื่น ๆ : เคอร์เนล Linux จะถูกระงับไว้เสมอ ใช้คำสั่งเช่นนี้เพื่อติดตั้งแพ็คเกจเหล่านี้:

apt-get install บางแพ็คเกจอื่น ๆ package

คุณอาจต้องทำซ้ำมากกว่าหนึ่งครั้งจนกว่าแพ็คเกจทั้งหมดจะได้รับการติดตั้งและไม่มีการระงับใด ๆ

จากนั้นคุณควรทำซ้ำการอัปเดตและอัปเกรดเพื่อยืนยันว่าระบบนั้นได้รับการอัปเดตอย่างสมบูรณ์ที่สุดเท่าที่จะเป็นไปได้:

apt-get update

apt-get upgrade

คำสั่งสุดท้ายเหล่านี้ควรดำเนินการอย่างรวดเร็วเนื่องจากทุกอย่างอาจเสร็จสมบูรณ์ - เป็นไปไม่ได้ที่การอัพเกรดจะส่งผลกระทบต่อบางสิ่งที่ต้องใช้การอัพเกรดอื่น การไม่ทำสิ่งนี้อาจไม่สำคัญ แต่ทำไมไม่ทำเช่นนั้น?

เมื่อดำเนินการเสร็จสิ้นจะต้องเริ่มระบบใหม่เพื่อให้แน่ใจว่าซอฟต์แวร์เดิมจะไม่ถูกใช้อีกต่อไปและสิ่งที่ใช้ทั้งหมดคือซอฟต์แวร์ที่อัปเกรดใหม่ อย่าเพิ่งบู๊ตต่อไป: รีบูต

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

apt-get autoremove

แหล่ง


นี่อาจเป็นคำถามใหม่ทั้งหมด แต่มีวิธีง่ายๆในการแก้ไขหรือไม่ เช่นเดียวกับคำสั่งกู้คืน?
giZm0

1
ฉันได้อัปเดตคำตอบของฉันเพื่อรวมแล้ว
LnxSlck

2
ฉันอยากจะแนะนำให้ทำงานapt-get dist-upgradeทุกที่apt-get upgradeแนะนำข้างต้น ด้วยสิ่งนี้คุณไม่จำเป็นต้องติดตั้งแพ็คเกจด้วยตนเอง "ระงับกลับ"
Mikko Rantalainen
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.