如何逆转 apt-get build-dep <package> 的效果?

0xC*_*22L 10 apt

当我运行时:

apt-get build-dep <package>
Run Code Online (Sandbox Code Playgroud)

特权它安装构建依赖项<package>

现在,我知道我可以apt-cache depends <package>用来查看二进制依赖项。我还没有找到任何方法来在单个命令调用中显示相同的构建依赖项信息,然后我可以使用它来实现我想要的。

那么,我如何才能逆转 a 的影响apt-get build-dep <package>,即删除以前通过调用该命令安装的软件包?


以下 Braiam 的回答产生了构建依赖项的包:

autotools-dev
debhelper
dpkg-dev
libexpat-dev
libgd2-noxpm-dev
libgeoip-dev
liblua5.1-dev
libmhash-dev
libpam0g-dev
libpcre3-dev
libperl-dev
libssl-dev
libxslt1-dev
zlib1g-dev
Run Code Online (Sandbox Code Playgroud)

完整apt-get autoremove要删除的包是:

build-essential debhelper dpkg-dev libpcre3-dev libpcrecpp0 libssl-dev zlib1g-dev
Run Code Online (Sandbox Code Playgroud)

尤其build-essential是在这里是不可取的,但我可以自己解决这个问题。

已安装的实际软件包列表是:

debhelper
dh-apparmor
gettext
html2text
intltool-debian
libcroco3
libgettextpo0
libpcre3-dev
libpcrecpp0
libssl-dev
libunistring0
po-debconf
zlib1g-dev
Run Code Online (Sandbox Code Playgroud)

Bra*_*iam 4

好吧,没有我承诺的 aptitude(搜索词一团糟),所以我们需要使用旧的 apt:

sudo apt-get autoremove $(apt-cache showsrc PACKAGE_NAME | sed -e '/Build-Depends/!d;s/Build-Depends: \|,\|([^)]*),*\|\[[^]]*\]//g')
Run Code Online (Sandbox Code Playgroud)

参考:http://www.webupd8.org/2010/10/undo-apt-get-build-dep-remove-build.html

  • `sudo apt-mark manual build-essential` 将保留该软件包。 (2认同)