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


要编译一些东西,我需要 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

......但感觉不对劲。


90
2017-11-24 20:18






答案:


最初安装包时,Aptitude可以帮助您:

aptitude install "zlib1g-dev&M"

或者,在安装包之后:

aptitude markauto "zlib1g"

编辑: 如果你没有资质,你可以使用

apt-mark auto zlib1g-dev

71
2017-11-24 20:59



很好的答案,但我+ 1的@ ArvindSing的回答使用 apt-mark 因为它不需要你安装 aptitude。 apt-mark 附带 apt 每个人都应该拥有的包裹。 - Christopher Schultz


apt-mark可以帮助您:

apt-mark auto zlib1g-dev

对于11.04或更早版本,请使用“markauto”而不是“auto”


96
2017-08-10 08:21





这就是你要找的东西。

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

资源:

apt-get --help

8
2018-01-18 15:44



请注意,现在不推荐使用apt-mark - Joril