如何删除特定包的所有构建依赖项?

Khu*_*lam 12 package-management aptitude apt

当我想在 Ubuntu/Debian 中从源代码编译某些东西时,我通常通过sudo apt-get build-dep PACKAGE_NAME在终端中运行“ ”来获得构建依赖项。

一旦编译工作完成,它们(通常)就无用了。

那么,如何删除特定包的所有构建依赖项

unf*_*ica 8

风滚草写道

对于未来,我强烈建议使用mk-build-deps... 而不是aptitude build-dep. 这会在您的系统中留下一个包...,[它具有依赖项] 对构建依赖项,您可以稍后轻松卸载。

mk-build-deps 可以安装 sudo apt install devscripts

  • 请注意,您可能还需要运行“sudo apt install equals”,因为“devscripts”仅“建议”该包,并且实际上“需要”执行“mk-build-deps”。 (2认同)

小智 5

要找出您可以运行的程序的构建依赖项,该程序apt-cache showsrc pkgname将列出其他信息Build-Depends,这些文件通常以-dev; 尽管值得检查-dev其他程序是否需要任何文件(尤其是未标记的文件)。您可以通过使用apt-cache depends file和找到这一点apt-cache rdepends file。以下示例适用于Shotwell

apt-cache showsrc shotwell
Run Code Online (Sandbox Code Playgroud)

Build-Depends: debhelper (>= 7.0.50~), m4, valac-0.16 (>= 0.15), libgee-dev (>= 0.5.0), libgtk-3-dev (>= 3.0.11), libexif -dev (>= 0.6.16), libsqlite3-dev (>= 3.5.9), libgexiv2-dev (>= 0.4.1-1build1), libgnomevfs2-dev (>= 2.24.2), libgphoto2-2-dev (>= 2.4.2), libsoup2.4-dev (>= 2.26.0), libxml2 (>= 2.6.32), libunique-3.0-dev (>= 1.0.0), libwebkitgtk-3.0-dev (> = 1.1.5), libgudev-1.0-dev (>= 145), libdbus-glib-1-dev (>= 0.80), libraw-dev (>= 0.13.1-2), libusb-dev, libjson-glib -dev (>= 0.7.6), libgstreamer0.10-dev (>= 0.10.28), libgstreamer-plugins-base0.10-dev (>= 0.10.32), python-scour, libunity-dev, liblaunchpad-集成-3.0-dev (>= 0.1.36), librest-dev

webupd8 站点上有一个命令可以一次性完成所有操作,我发现它似乎无法与当前版本的 Ubuntu 一起可靠地工作,因为它似乎删除了太多内容。我用 Pinta 尝试过,它建议删除整个单声道库。在Launchpad 上讨论了使用诸如 webupd8 之类的命令的此类问题。在尝试您可能找到的任何“解决方案”时要非常小心。

遗憾的是没有安装包的autoremove命令build-dep

  • 无论如何,我刚刚了解到正确的方法是使用`pbuilder`。所以没有人需要担心安装/卸载依赖项。 (2认同)