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


10

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

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

那么,如何删除特定软件包的所有构建依赖关系

Answers:


5

为了找出程序的构建依赖性,您可以运行该程序,该程序apt-cache showsrc pkgname将列出,其中Build-Depends通常是文件结尾-dev;尽管值得检查-dev其他程序是否需要任何文件(尤其是未标记的文件)。您可以使用apt-cache depends file和找出答案apt-cache rdepends file。以下示例适用于Shotwell

apt-cache showsrc shotwell

构建依赖于: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开发(> = 0.1.36),librest开发

webupd8站点上有一个命令可以一次完成所有操作,但是我发现它似乎不能与当前版本的Ubuntu可靠地一起工作,因为它似乎删除了太多。我用Pinta尝试过,它建议删除整个Mono库。在Launchpad上使用webupd8之类的命令讨论了此类问题。在尝试可能找到的任何“解决方案”时,请务必小心。

autoremove对于build-dep已安装的软件包没有命令是很可惜的。


1
我尝试了aptitude方法,是的,您是对的,它删除了太多...可能是由于交叉依赖。彼此评判我发现是通过下列选项(在使用积聚DEP命令): sudo apt-get build-dep -o APT::Get::Build-Dep-Automatic=true PACKAGE_NAME。现在可以使用删除它们apt-get autoremove。但这仅在删除主程序包后有效。
库尔希德·阿拉姆

2
无论如何,我刚刚了解到正确的做法是使用pbuilder。因此,无需担心安装/卸载依赖项。
库尔希德·阿拉姆

6

风滚草写道

对于将来,我强烈建议使用mk-build-deps...而不是aptitude build-dep。这就在系统中留下了一个软件包...,该软件包[具有依赖项]位于build-deps上,以后可以轻松卸载。

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


4

选项1:

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

选项2:

apt-cache showsrc 给出了大量有关源软件包的信息,包括构建依赖项列表。

apt-cache showsrc PACKAGE_NAME

例如:

$ apt-cache showsrc pithos
Package: pithos
Binary: pithos
Version: 0.3.17~git07dcbd86a1
Section: python
Maintainer: Kevin Mehall <km@kevinmehall.net>
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 之外的其他重要内容的软件包。继续之前,请通读要删除的软件包列表。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.