ใน Ubuntu / Debian ฉันจะทำเครื่องหมายแพ็คเกจว่าไม่สามารถถอดออกได้โดยอัตโนมัติได้อย่างไร


9

สมมติว่าฉันมีแพ็คเกจ (แพ็คเกจ Python ในกรณีนี้) ที่ฉันติดตั้งโดยใช้ Synaptic เพราะรุ่นของแพคเกจนี้ล้าสมัยบ้างผมเอามันออกไปใน Synaptic easy_installแล้วติดตั้งโดยใช้ หนึ่ง dependencies มันยังได้รับการติดตั้งโดยใช้ Synaptic แต่ฉันอยากจะให้รุ่น Synaptic ติดตั้งมากกว่าeasy_installingเป็นอย่างดี

ปัญหาเดียวคือตอนนี้การพึ่งพาถูกทำเครื่องหมายว่าสามารถถอดออกได้โดยอัตโนมัติ มีวิธีใดในการทำเครื่องหมายว่าถูกติดตั้งด้วยตนเองนอกเหนือจากการลบและติดตั้งใหม่ ถ้ามันสร้างความแตกต่างฉันใช้ Ubuntu Jaunty

คำตอบ:


3

คุณสามารถ "ถือ" แพ็คเกจใน Ubuntu ได้

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

คุณสามารถทำได้ผ่าน Synaptic หรือบนบรรทัดคำสั่งผ่าน apt / dpkg เวอร์ชันของบรรทัดคำสั่งสำหรับเก็บแพ็คเกจคือ:

echo package_name hold | dpkg --set-selections

เอกสาร Ubuntu ชุมชนมีคู่มือที่สมบูรณ์มากขึ้นอธิบายวิธีการปักหรือแพคเกจถือ



2
โดยปกติแล้วการพักสายจะใช้เพื่อป้องกันการอัพเกรดเป็นเวอร์ชั่นใหม่ ไม่ควรใช้เก็บแพ็คเกจ การใช้การระงับจะบล็อกคุณจากการรับการรักษาความปลอดภัยและการปรับปรุง distro และจะเป็นภาระเพิ่มเติมในระหว่างการอัพเกรด การทำเครื่องหมายแพ็คเกจที่ติดตั้งด้วยตนเองควรเป็นวิธีที่ถูกต้อง (ดูคำตอบของฉัน ... )
โทมัส Guyot-Sionnest

6

ฉันรู้ว่าคุณสามารถทำได้ในความถนัด คุณสามารถทำได้ทั้งใน GUI โดยเลือกแพ็คเกจและกด 'm' หรือเลือก "ทำเครื่องหมายด้วยตนเอง" จากเมนู "แพ็คเกจ" หรือใช้บรรทัดคำสั่ง:

ความถนัดติดตั้ง <package_name> & m

5

คุณสามารถใช้apt-mark manual <package>สำหรับ, จากจาก Synaptic, Package=> [ ] Automatically Installed(ยกเลิกการเลือก)

อดีต:

# Mark <some_package> as manually-installed:
apt-mark manual <some_package>

# Mark <other_package> as automatically-installed (ex if you know it's a
# dependency to something else and you want to make sure it'll be
# auto-removable if it's no longer used):
apt-mark auto <other_package>

นอกจากนี้หากคุณใช้apt-get install <package>กับแพ็คเกจที่ติดตั้งไว้แล้วแพคเกจนั้นจะถูกทำเครื่องหมายเป็นแบบแมนวล


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