มีใครบางคนสามารถอธิบายอัพเกรดอูบุนตู (Debian) ให้ฉันได้หรือไม่?


35

ฉันมีเซิร์ฟเวอร์ Ubuntu 8.04 LTS มีหลายแพคเกจซึ่งเป็น "กลับมาเก็บไว้" (เป็น"การปรับปรุงต่อไปนี้ได้รับการเก็บไว้กลับ" ) apt-get upgradeเมื่อฉันทำ เป็นความเข้าใจของฉันที่ฉันสามารถทำได้apt-get dist-upgradeเพื่ออัพเกรดแพ็คเกจเหล่านี้ แต่ฉันมีข้อกังวลเล็กน้อย:

  1. ถ้าฉันทำdist-upgradeฉันจะอัปเกรดจาก 8.04 เป็นเวอร์ชันที่สูงกว่า (8.10 ฉันเดา) ถ้าเป็นเช่นนั้น 8.04 คืออะไร "การสนับสนุนระยะยาว" (LTS)

  2. นี่เป็นกระบวนการ "อันตราย" หรือไม่? ฉันสมมติว่าแพ็กเกจจะถูกเก็บไว้เพราะมีแพ็กเกจใหม่ที่ขึ้นอยู่กับ ไม่dist-upgradeเพียงดึงแพคเกจใหม่และทำอัพเกรดเป็นธรรมตรงไปตรงมาหรือมีคำเตือนที่จะมองเข้าไป?

คำตอบ:


57

คำสั่งapt-get upgradeจะไม่เพิ่มหรือลบแพ็คเกจ apt-get dist-upgradeจะเพิ่มหรือลบแพ็คเกจตามที่ต้องการ

คำสั่งapt-get dist-upgradeจะไม่อัพเกรดคุณจากรีลีสหนึ่งไปสู่อีกรีลีสโดยอัตโนมัติเว้นแต่คุณจะอัพเดทแหล่งข้อมูลของคุณ (/etc/apt/sources.list) เพื่อชี้ไปที่รีลีสที่ใหม่กว่า

คนฉลาด - รับ

upgrade
    upgrade is used to install the newest versions of all packages 
    currently installed on the system from the sources enumerated 
    in /etc/apt/sources.list.

dist-upgrade
    dist-upgrade, in addition to performing the function of upgrade, 
    also intelligently handles changing dependencies with new versions 
    of packages;

มีความกังวลเป็นพิเศษที่ควรระวังเมื่อทำการอัพเกรด dist-vs vs upgrade หรือไม่?

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


ขอบคุณนั่นคือสิ่งที่ฉันหวังไว้ มีความกังวลเป็นพิเศษที่ควรระวังเมื่อทำการอัพเกรด dist-vs vs upgrade หรือไม่? (ไม่ได้ว่าหนึ่งเป็นแทนอื่น ๆ สำหรับฉันแค่สงสัยว่าถ้ามีสิ่งใดที่เราควรจะตระหนักถึง)
Boden

เมื่อคุณเรียกใช้โปรแกรมอัปเกรดคุณจะได้รับข้อมูลสรุปของสิ่งที่จะทำ (แพ็คเกจเพื่ออัปเกรดแพคเกจใหม่แพ็กเกจที่จะลบ) เพียงแค่ดูว่ามันลบอะไรถ้ามี หากคุณยังไม่ได้เปลี่ยนไฟล์ /etc/apt/sources.list ของคุณมันก็ไม่ควรสำคัญอะไรเกินไป
brad.lane

2
เพียงเพื่อความสำเร็จ ในการโยกย้ายไปยัง LTS รุ่นถัดไปเมื่อพร้อมใช้งานคุณจะต้องเรียกใช้คำสั่งต่อไปนี้หลังจากตรวจสอบให้แน่ใจว่าการติดตั้ง 8.04 ของคุณเป็นรุ่นล่าสุด sudo apt-get install-manager-core ติดตั้งแล้ว sudo do-release-upgrade
3dinfluence

2

การอัพเกรดเทียบกับการอัปเกรดเป็นคำเดเบียนจริง ๆ ในเดเบียนคุณจะต้องใช้การอัปเกรดเพื่อรับการเปลี่ยนแปลงภายในรีลีสที่เสถียร (ซึ่งจะไม่เกี่ยวข้องกับสิ่งใดดังนั้นการเอาออกอย่างรุนแรง) และการอัปเกรด dist เพื่อใช้ระหว่างรีลีส dist-upgrade ควรมีผลลัพธ์เช่นเดียวกับการอัพเกรดโดยไม่จำเป็นต้องทำการลบออก

ไประหว่างการเผยแพร่จะต้องเปลี่ยนแหล่งรายการของคุณเพื่อชี้ไปที่การเปิดตัวใหม่

Ubuntu ไม่มีรูปแบบการปล่อย ultraconservative ที่เหมือนกันดังนั้นคำศัพท์ไม่ได้แมปอย่างหมดจด - โดยทั่วไปคุณเพียงแค่ต้องการใช้ dist-upgrade เว้นแต่ว่าคุณจะใช้งานในรุ่นต่าง ๆ ซึ่งในกรณีที่คุณใช้ตัวอัปเกรดเอง อัพเกรด


you'd generally just want to use dist-upgrade unless you're going between releases, in which case you use the upgrade script. ฉันคิดว่า Captain Segfault คุณหมายถึงอีกด้านหนึ่ง: - โดยทั่วไปคุณเพียงต้องการใช้การอัปเกรดเว้นแต่ว่าคุณกำลังจะออกระหว่างรุ่นซึ่งในกรณีนี้คุณใช้สคริปต์ dist-upgrade

2
Ubuntu มีโปรแกรมแยกต่างหากเพื่อทำการอัปเกรด คุณใช้สิ่งนั้นไม่ใช่เพื่อรับระหว่างการเผยแพร่
Captain Segfault

ฉันจะหาโปรแกรมแยกนี้ได้จากที่ไหน
starbeamrainbowlabs

@ starbeamrainbowlabs เรียกว่าdo-release-upgradeตรวจสอบคน do-release-upgradeสำหรับรายละเอียด
isync

@isync ถูกต้อง ฉันรู้เกี่ยวกับสิ่งนั้น - ความคิดเห็นไม่ชัดเจนดังนั้นฉันจึงคิดว่ามีคำสั่งอื่นที่ฉันไม่ได้ติดต่อด้วย ขอบคุณ!
starbeamrainbowlabs
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.