![如何将所有已安装依赖项的包标记为“自动安装”?](https://linux22.com/image/1114718/%E5%A6%82%E4%BD%95%E5%B0%86%E6%89%80%E6%9C%89%E5%B7%B2%E5%AE%89%E8%A3%85%E4%BE%9D%E8%B5%96%E9%A1%B9%E7%9A%84%E5%8C%85%E6%A0%87%E8%AE%B0%E4%B8%BA%E2%80%9C%E8%87%AA%E5%8A%A8%E5%AE%89%E8%A3%85%E2%80%9D%EF%BC%9F.png)
有一些类似的问题,但这正是我想要实现的,也是我难以连接点:
- 查询“手动安装”包的列表(
apt-mark showmanual
有效) - 检查每个包裹已安装受抚养人
- 将每个这样的包标记为“自动安装”(
apt-mark auto <pkg ...>
有效)
所以我认为我的命令看起来像这样:
apt-mark showmanual | <esoteric apt/bash magic> | apt-mark auto -
那正确吗?
相关问题
答案1
你可以使用Aptitude 的why
命令:
for x in $(apt-mark showmanual)
do
r="$(echo ${x} | sed -e 's/\([+.]\)/[\1]/g')"
aptitude why ${x} | egrep -q "^i.* (Pre)?Depends +${r}( |$)" && apt-mark auto ${x}
done
未经测试,因为这不是我想要(必须取消)在我的计算机上做的事情。