如何卸载“aptitude build-dep”安装的所有软件包
是否可以撤消“aptitude build-dep xxxxxx”所做的所有更改,即卸载此命令安装的所有依赖项?
我不认为有一种自动方式。 通过build-dep
安装的软件包的记录方式与通过名称直接请求的方式相同。
如果您大致了解运行aptitude build-dep
,则可以通过查看/var/log/aptitude*
或/var/log/apt/*
的日志来查找运行命令时安装的软件包。
你可以运行apt-cache showsrc PACKAGENAME | grep '^Build-depends:'
apt-cache showsrc PACKAGENAME | grep '^Build-depends:'
列出包的构建依赖关系。 检查每一个,看看你是否想要它们; 标记你不关心的那些没有手动安装( apt-get markauto PACKAGENAME
)并刷新非必需的包( apt-get autoremove
)。
对于未来,我强烈建议使用mk-build-deps -i
而不是aptitude build-dep
。 这会在系统中安装一个软件包,具体取决于build-deps,您可以在以后轻松卸载。
我在Launchpad 问题上找到了这些命令:
sudo aptitude markauto $(apt-cache showsrc PACKAGE_NAME | grep Build-Depends | perl -p -e 's/(?:[\[(].+?[\])]|Build-Depends:|,|\|)//g')
还有一个基于sed的替代方案,可以处理包名称中的括号:
sudo aptitude markauto $(apt-cache showsrc PACKAGE_NAME | sed -e '/Build-Depends/!d;s/Build-Depends: \|,\|([^)]*),*\|\[[^]]*\]//g')
注意:将PACKAGE_NAME
替换为您自己的套餐。