เทียบเท่ากับการอัพเกรด apt-get vs apt-get dist-upgrade หรือไม่


31

ฉันเป็น * .deb guy และฉันรู้สึกค่อนข้างอึดอัดในขณะที่จัดการ rpms

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

ในเซิร์ฟเวอร์ CentOS ที่ฉันเป็นผู้ดูแลฉันต้องการมีคุณสมบัติที่คล้ายกัน แต่ man yum ดูเหมือนจะไม่เสนอพฤติกรรมดังกล่าว และความแตกต่างระหว่างyum updateและyum upgradeดูเหมือนจะไม่ใช่สิ่งที่ฉันกำลังมองหา

จนถึงแนวทางที่ดีที่สุดของฉันคือการเพิ่มและลบการตั้งค่าต่อไปนี้ใน/etc/yum.conf:

exclude=kernel*

จะต้องมีวิธีการที่ดีกว่า ทุกคำแนะนำจะได้รับการต้อนรับ

แก้ไข:

คำอธิบาย man page ของ yum ของพวกเขาและการ--obsoletesตั้งค่าสถานะเป็นความลับเล็กน้อยสำหรับฉัน ดังนั้นให้ฉันพูดใหม่สิ่งที่ฉันเข้าใจ: ฉันต้องเข้าใจว่าyum updateจะไม่ติดตั้งเคอร์เนลใหม่เพราะมันหมายถึงการทำเครื่องหมายว่าล้าสมัยแล้วหรือไม่? ฉันคิดว่าyum upgradeมันเหมือนหรือเกือบเหมือนเดิมได้apt-get dist-upgradeไหม

แก้ไขแล้ว 2

สิ่งที่ฉันชอบที่สุดapt-get upgradeคือบอกว่าแพ็คเกจไหนยังคงอยู่เพื่อที่ฉันจะได้ทำตามนั้นได้ ทั้งที่มีหรืออย่างชัดเจนapt-get dist-upgradeapt-get install package

ดังนั้นหลังจากที่คิดบิตวิธีที่ดีที่สุดของฉันในขณะนี้จะเป็น: ปิดใช้งานobsoletesการตั้งค่าใน yum.conf (ตามที่อธิบายไว้โดยสตีเวน Pritchard ในคำตอบของเขา ) yum updateและเรียกใช้ในตอนแรก เมื่อติดตั้งการอัปเดตทั้งหมดแล้วให้รันหนึ่งวินาทีyum update --obsoletesเพื่อตรวจสอบว่าแพคเกจใดที่ได้รับการเก็บรักษาไว้และทำงานในผลลัพธ์ของมัน

มันจะใช้ได้ไหม

คำตอบ:


57

yum updateเดิมทีเพิ่งทำการอัพเกรดแพ็คเกจเป็นเวอร์ชั่นใหม่ ถ้ายกตัวอย่างเช่นfoo-awesomeจำหน่ายแล้วfoo, yum updateจะได้มีการปรับรุ่นจากไปfoo foo-awesomeการเพิ่มการ--obsoletesตั้งค่าสถานะเพื่อyum updateทำการตรวจสอบพิเศษเพื่อเสนอเส้นทางการปรับรุ่นนั้นด้วย yum upgradeถูกบันทึกเป็น (หลัก) yum --obsoletes updateนามแฝงสำหรับ เนื่องจากนี่เป็นพฤติกรรมที่เกือบทุกคนต้องการตลอดเวลาจึงมีการobsoletes=1เพิ่มตัวเลือกการกำหนดค่าให้เป็นค่าเริ่มต้น/etc/yum.confสร้างyum updateและyum upgradeเทียบเท่ากับหุ้นล่าสุด Fedora / RHEL / CentOS / etc

หากคุณต้องการการปรับปรุงเคอร์เนลหลีกเลี่ยงเมื่อคุณกำลังทำงานคุณก็สามารถทำได้yum update yum --exclude=kernel* updateหากคุณต้องการเปิดการอัปเดตอัตโนมัติ แต่คุณต้องการหลีกเลี่ยงการอัพเกรดเคอร์เนลโดยอัตโนมัติการเพิ่มการแยกไปที่ yum.conf อาจเป็นคำตอบที่ถูกต้อง

อาจไม่มีคำตอบที่ถูกต้องสำหรับคำถามของคุณ การแจกแจงแบบอิง RHEL และ RHEL นั้นไม่มีปรัชญาแบบเดียวกันกับผู้พัฒนา Debian เมื่อพูดถึงการอัพเดทดังนั้นเครื่องมือไม่สนับสนุนพฤติกรรมที่หลากหลาย


+1 สตีเวน; ฉันเดาว่าจะไม่มีคำตอบที่ถูกต้องนั่นเป็นเหตุผลที่ฉันต้องการความคิดเห็นมากที่สุด คำตอบของคุณยอดเยี่ยม ให้ฉันรอคนอื่นเข้าใกล้ :-)
hmontoliu

ดูการแก้ไขของฉัน2จนถึงตอนนี้ฉันเชื่อว่านี่เป็นวิธีการที่ดีในการเลียนแบบพฤติกรรมที่เหมาะสม
hmontoliu

นอกจากนี้คุณยังสามารถเพิ่มการยกเว้นลงในไฟล์ yum.conf
ไม่ใช่ตอนนี้

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