ลดระดับแพ็คเกจจำนวนมาก


11

บางทีคุณอาจติดตั้งแพคเกจจาก PPA หรือแหล่งภายนอก (เช่นดาวน์โหลด. deb สำหรับแพคเกจที่พร้อมใช้งานผ่าน repos ของ Ubuntu)
จากนั้นคุณตัดสินใจปล่อยเวอร์ชันที่อัปเกรดเหล่านี้ไปยังที่เก็บข้อมูลอย่างเป็นทางการ
ขั้นตอนแรกคือการลบรายการของรายการต้นทาง

มีวิธีการปรับลดรุ่นทั้งหมดเป็นรุ่นที่ใช้ได้สูงสุดหรือไม่ ฉันรู้ว่าคุณสามารถติดตั้งรุ่นที่เฉพาะเจาะจงด้วย

apt-get install [package] = [version]
แต่คุณสามารถลดระดับทั้งหมดได้หรือไม่


คุณหมายถึงคำสั่งเดียวที่จะลบแอปพลิเคชั่น PPA ปัจจุบันแล้วติดตั้งคำสั่งนั้นจากที่เก็บข้อมูลอย่างเป็นทางการหรือไม่ ฉันจะทำสิ่งที่ชอบsudo apt-get -y remove package1 package2 package3 && sudo apt-get install package1 package2 package3- ฉันไม่เชื่อว่ามีคำสั่งเดียวsudo apt-get repocleanเช่นเพื่อทำ
kingmilo

ดังนั้นฉันต้องได้รับแพ็คเกจทั้งหมดที่ติดตั้งจาก repo ไม่มีการอัปเกรดเป็นเวอร์ชันสูงสุดที่มีอยู่ (นั่นคือสิ่งที่คุณสามารถทำได้ด้วย openSUSEs zypper)
Manuel

หากคุณลบ repo และแพ็คเกจนั้นมีอยู่ในพื้นที่เก็บข้อมูลอย่างเป็นทางการและแพคเกจนั้นเป็นรุ่นที่สูงกว่าแพ็คเกจที่มีอยู่ใน repo ที่คุณเพิ่มแพคเกจนั้นจะถูกอัปเกรดเป็นรุ่นที่มีอยู่ในพื้นที่เก็บข้อมูลอย่างเป็นทางการ
kingmilo

1
ใช่ แต่ถ้าไม่ใช่ล่ะ การอัพเกรดไม่มีปัญหาเลย แต่เป็นการลดระดับ
Manuel

คำตอบ:


16

สายไปงานเลี้ยง แต่ฉันพบคำถามนี้เมื่อมองหาคำตอบและตอนนี้ฉันมีคำตอบของตัวเองเพื่อแบ่งปัน

ฉันเชื่อว่าคุณสามารถทำได้ผ่านโลกลึกลับของ apt_preferences

ลองสร้างไฟล์ชื่อ / tmp / a_p (หรืออะไรก็ตาม) อย่างนั้น ...

Package: *
Pin: release a=*-backports
Pin-Priority: 100

Package: *
Pin: release n=*
Pin-Priority: 1001

จากนั้นเรียกใช้:

sudo apt-get -o Dir::Etc::Preferences=/tmp/a_p dist-upgrade

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

ส่วนแรกจะป้องกันส่วนที่สองจากการเรียกการติดตั้ง Backport ทั้งหมด คุณอาจหรือไม่สนใจหรือต้องการสิ่งนี้ ฉันขอแนะนำให้แก้ไขเพื่อดูว่าอะไรทำงาน คุณสามารถใช้apt-cache -o Dir::Etc::Preferences=/tmp/a_p policy somepkgเพื่อดูว่าไฟล์ a_p มีผลกับแพ็คเกจใดบ้าง

TIM


6

ตกลงจะทำอย่างไรหากพบว่าเป็นสคริปต์ppa-purge

หากคุณเพิ่ม PPA และซอฟต์แวร์ที่อัปเกรดแล้วคุณสามารถลบ repo ได้และในขั้นตอนนี้ดาวน์เกรดแพคเกจทั้งหมดที่อัพเกรดด้วย

ppa-purge [ชื่อ repo]

มีประโยชน์สำหรับคนอื่นหรือไม่

แต่จะยังคงเปิดอยู่หากคุณสามารถติดตั้งเวอร์ชันสูงสุดที่มีอยู่แม้ว่ารุ่นที่ติดตั้งจะสูงกว่า ...

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