APT中直接安装包转依赖安装包及相关清理操作的实现方法咨询
APT中直接安装包转依赖安装包及相关清理操作的实现方法咨询
嘿,这两个需求其实都能通过APT相关的命令或工具搞定,我给你一步步拆解清楚:
一、清理无任何依赖关系的孤立包
你要删除的是那些没有被任何已安装包作为直接或间接依赖的包,这类包我们叫“孤立包”。默认的apt autoremove只能处理自动安装的孤立包,但如果是手动安装后变成孤立的,就得借助deborphan工具:
- 先安装
deborphan工具:sudo apt install deborphan - 列出所有孤立包(包括手动安装的):
deborphan - 要是确认要彻底删除这些包(连配置文件一起清掉),可以直接执行:
另外,如果你只需要处理自动安装的孤立包,直接用这条命令就够了:sudo deborphan | xargs sudo apt purge -ysudo apt autoremove --purge
二、将直接安装的包标记为依赖安装(自动安装)
如果某个手动安装的包实际上已经是其他已安装包的依赖,你可以把它改成自动安装状态,这样系统就会把它当作依赖包来处理:
- 先确认这个包确实被其他已安装包依赖,避免误操作后被
autoremove删掉:
输出里如果有其他已安装的包,就说明它是被依赖的,可以放心操作。apt-cache rdepends --installed <你的包名> - 然后执行标记命令:
要是想批量处理多个包,直接把包名依次列在后面就行:sudo apt-mark auto <你的包名>sudo apt-mark auto 包名1 包名2 包名3 - 验证一下标记是否成功,执行
apt-mark showmanual,如果这个包不在输出里,就说明已经改成自动安装状态了。
备注:内容来源于stack exchange,提问作者tribbloid




