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

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

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

answer

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

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

ผู้ชายapt-get

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;

Are there special concerns to be aware of when doing a dist-upgrade vs upgrade?

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

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

ระหว่างรุ่นต่างๆ จะต้องเปลี่ยน source.list ให้ชี้ไปที่รุ่นใหม่

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