为什么 Debian 将 Scalar::Util 打包在 libperl 和 perl-base 中?

为什么 Debian 将 Scalar::Util 打包在 libperl 和 perl-base 中?

我刚刚在 Debian 上查看了一些内容,当我用来apt-file搜索Scalar/Util.pmCORE Perl 模块时,我看到了三个结果,

$ apt-file search Scalar/Util.pm
libperl5.34: /usr/lib/x86_64-linux-gnu/perl/5.34.0/Scalar/Util.pm
libscalar-list-utils-perl: /usr/lib/x86_64-linux-gnu/perl5/5.34/Scalar/Util.pm
perl-base: /usr/lib/x86_64-linux-gnu/perl-base/Scalar/Util.pm

这有 2/3 的意义,因为

  • libscalar-list-utils-perl代表 CPAN 上的包。
  • libperl5.34perl-base代表 Perl 中的包。

但没有意义的是为什么这两个包相同模块的相同版本,

  • libperl5.34
  • perl-base

目前perl-base描述为,

该包提供了一个 Perl 解释器和执行基本任务所需的标准运行时库的小子集。对于完整的 Perl 安装,请安装“perl”(及其依赖项“perl-modules-5.34”和“perl-doc”)。

并被libperl5.34描述为,

该软件包包含共享 Perl 库,供嵌入 Perl 解释器的应用程序使用。它还包含标准库的与体系结构相关的部分(并且依赖于包含与体系结构无关的部分的 perl-modules-5.34)。

是否有技术原因perl-base封装libperl5.34相同的模块?为什么要perl依赖他们两个呢?

答案1

perl-base提供perl二进制文件和最小的模块集,没有辅助二进制文件,也没有文档。正如评论中所指出的,这些模块的文档已被删除。

perl提供完整的 Perl 环境,以及所有预期的二进制文件和文档。它取决于,perl-base因为那是perl二进制文件本身所在的位置,并且取决于,libperl5.34因为那是依赖于体系结构的模块所在的位置。

perl-base是一个重要的软件包,安装在所有基于 Debian 的系统上;这就是为什么它保持尽可能小(在合理范围内)。perl不是必需的,可以想象,基于 Debian 的系统没有它也是可能的。

相关内容