如何使用apt-get删除“手动安装”标志并恢复为“自动安装”?


103

要进行编译,我需要zlib1g-dev安装该软件包,因此我启动了apt-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

...但是感觉不对。

Answers:


81

最初安装软件包时,Aptitude可以为您提供帮助:

aptitude install "zlib1g-dev&M"

或者,在您安装了软件包之后:

aptitude markauto "zlib1g"

编辑:如果您没有能力,可以使用

apt-mark auto zlib1g-dev

4
好的答案,但是我+1的@ArvindSing的答案正在使用,apt-mark因为它不需要您安装aptitudeapt-mark附带了apt每个人都应该拥有的软件包。
Christopher Schultz 2013年


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.