Debian:如何安装没有特定依赖项的软件包(没有 Perl 的 git)

Debian:如何安装没有特定依赖项的软件包(没有 Perl 的 git)

我正在尝试安装一个不带其依赖项的 apt 包(具体来说,不带 Perl 的 git 可以减少 Docker 镜像大小 >50MB)。

我能想到两个选择:

  1. 安装没有此特定依赖项的软件包
  2. 安装包含所有依赖项的软件包,然后删除依赖项

我调查了这两种方法,但都没有奏效。所以我的问题是:有没有一种干净的方法可以做到这一点?

以下是我迄今为止尝试过的。

1. 安装没有特定依赖项的软件包

最多建议推荐

apt download git
dpkg --ignore-depends=perl -i git*.deb

不幸的是,这并没有安装其他依赖项,因此git clone由于缺少而失败libcurl

因此,为了解决这个问题,一些其他建议建议使用

apt-get -f install

之后,但是这个命令尝试安装 Perl,这正是我想要避免的。

好的,所以我告诉你不要用以下方法接触 Perl:

apt-mark hold perl

但随后apt-get -f install尝试删除 git。

好的,所以我告诉你不要管 git:

apt-mark hold git

但随后就apt-get -f install放弃了,因为它无法安装 Perl,也无法卸载 git。故事结束了。

2. 安装软件包及其所有依赖项,然后删除依赖项

我使用 Perl 安装了 git:

apt install -y git

然后删除 Perl

dpkg -P --force-depends perl

但这不会删除 Perl 带来的其他依赖项,例如 perl-modules。因此尝试失败。

答案1

相关内容