วิธีการลบธง“ ติดตั้งด้วยตนเอง” และเปลี่ยนกลับเป็น“ ติดตั้งอัตโนมัติ” ด้วย apt-get?


103

เพื่อรวบรวมสิ่งที่ผมจำเป็นต้องมีแพคเกจที่จะติดตั้งเพื่อให้ฉันเปิดตัวzlib1g-devapt-get install zlib1g-dev

apt-get แจ้งให้ฉันทราบอย่างชัดเจนว่าแพคเกจติดตั้งอัตโนมัติแล้วเนื่องจากแพ็คเกจอื่นและฉันเข้าใจว่าฉันต้องการให้ติดตั้งแพคเกจอย่างชัดเจนในตอนนี้:

# apt-get install zlib1g-dev
zlib1g-dev is already the newest version.
zlib1g-dev set to manually installed.

การรวบรวมของฉันเสร็จสิ้นฉันไม่ต้องการมันอย่างชัดเจนอีกต่อไปดังนั้นฉันต้องการเปลี่ยนสถานะเป็นสถานะก่อนหน้า: ติดตั้งอัตโนมัติ วิธีนี้ก็จะถูกตัดโดยอัตโนมัติเมื่อมันจะไม่ถูกต้องใด ๆ apt-get autoremoveเพิ่มเติมด้วยง่าย

ฉันไม่สามารถทำได้apt-get remove zlib1g-devเนื่องจากแพ็คเกจบางตัวยังคงขึ้นอยู่กับมัน

ดังนั้นฉันจะเปลี่ยนzlib1g-devสถานะการติดตั้งแพ็คเกจกลับเป็นติดตั้งอัตโนมัติได้อย่างไร

ฉันรู้ว่าฉันอาจแก้ไข/var/lib/apt/extended_statesด้วยมือจาก

Package: zlib1g-dev
Auto-Installed: 0

ไปยัง

Package: zlib1g-dev
Auto-Installed: 1

... แต่มันก็ไม่ถนัด

คำตอบ:


81

ความถนัดสามารถช่วยคุณได้เมื่อคุณติดตั้งแพคเกจครั้งแรก:

aptitude install "zlib1g-dev&M"

หรือหลังจากคุณติดตั้งแพคเกจ:

aptitude markauto "zlib1g"

แก้ไข:หากคุณไม่มีความถนัดคุณสามารถใช้

apt-mark auto zlib1g-dev

4
คำตอบที่ดี แต่ฉัน + คำตอบที่ 1 ของ @ ArvindSing ใช้เพราะมันไม่จำเป็นต้องให้คุณติดตั้งapt-mark มาพร้อมกับแพ็คเกจที่ทุกคนควรมีอยู่แล้ว aptitudeapt-markapt
Christopher Schultz


8

นี่คือสิ่งที่คุณกำลังมองหา

sudo apt-get markauto first-package second-package etc-package

ที่มา:

apt-get --help

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