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

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

编译工作完成后,它们(通常)无用。

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

要找出程序的构建依赖关系,你可以运行apt-cache showsrc pkgname ,这将列出Build-Depends等其他信息,这些信息通常是以-dev结尾的文件; 虽然值得检查是否有其他程序需要任何文件(特别是那些未标记为-dev的文件)。 您可以通过使用apt-cache depends fileapt-cache rdepends file 。 以下示例适用于Shotwell

 apt-cache showsrc shotwell 

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- integration-3.0-dev(> = 0.1.36),librest-dev

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

遗憾的是, build-dep安装的软件包没有autoremove命令。

选项1:

请记住sudo apt-get build-dep PACKAGE_NAME安装了哪些软件包,并在构建后删除它们。

选项2:

apt-cache showsrc提供了大量有关源包的信息,包括build-depends列表。

 apt-cache showsrc PACKAGE_NAME 

例如:

 $ apt-cache showsrc pithos Package: pithos Binary: pithos Version: 0.3.17~git07dcbd86a1 Section: python Maintainer: Kevin Mehall  Build-Depends: cdbs (>= 0.4.43), debhelper (>= 6), python, python-central (>= 0.6.11), python-distutils-extra (>= 2.10) Architecture: all Standards-Version: 3.8.2 Format: 1.0 Directory: pool/main/p/pithos Files: cdf2129923e62bb62c246965453b40bd 2023031 pithos_0.3.17~git07dcbd86a1.tar.gz 97689e8ada8be527d689f2c83415d3b0 1544 pithos_0.3.17~git07dcbd86a1.dsc Python-Version: current Checksums-Sha1: 35cbf3ae52922e50a0b81afcce2cd97a86afb254 2023031 pithos_0.3.17~git07dcbd86a1.tar.gz Package-List: pithos deb python extra Checksums-Sha256: 2b704d86f3dc1d36d180177d11e578bdcf74ea97b09b530144afe754e570b262 2023031 pithos_0.3.17~git07dcbd86a1.tar.gz $ sudo apt-get remove cdbs debhelper python python-central python-distutils-extra 

此选项的风险在于您可以删除对构建PACKAGE_NAME 之外的其他内容非常重要的包。 在继续之前,请仔细阅读要删除的软件包列表。

Tumbleweed 写道 :

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

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