是否可以撤消“aptitude build-dep xxxxxx”所做的所有更改,即卸载该命令安装的所有依赖项?
答案1
未来,我强烈建议使用mk-build-deps -i
而不是aptitude build-dep
。这样会将一个软件包安装在您的系统中,具体取决于 build-deps,您以后可以轻松卸载它。
答案2
我在 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
用您自己的包替换。
答案3
我认为没有自动方法。通过安装的软件包的build-dep
记录方式与直接按名称请求的方式相同。
如果您知道大概何时运行,则可以通过查看或aptitude build-dep
中的日志来找到运行该命令时安装了哪些软件包。/var/log/aptitude*
/var/log/apt/*
您可以运行apt-cache showsrc PACKAGENAME | grep '^Build-depends:'
以列出软件包的构建依赖项。检查每个依赖项以确定是否需要它们;将您不关心的软件包标记为未手动安装 ( apt-get markauto PACKAGENAME
) 并清除非必需软件包 ( apt-get autoremove
)。