出于什么目的将 perl* 排除在 yum.conf 中?

Dav*_*ith 4 yum centos git package-management

不是Unix/Linux 管理员。

我试图在我们的服务器上安装 git,经过多次谷歌搜索和反复试验,我发现 perl* 被排除在我们的 yum.conf 文件中,阻止了 perl-Git 安装,这是 git-core 的依赖项。我明白这是做什么的,但我不确定为什么要这样做。这个文件中排除了很多东西,我只是想了解人们可能想要排除某些东西的原因,无论是安全问题还是什么。

我们原来的服务器管理员在一次划船事故中丧生。我们使用的是 CentOS 5.4,我使用 yum 来尝试安装 git。

Gil*_*il' 7

如果已知可用版本有问题,暂时从安装中排除软件包可能是有意义的,尽管这很少发生在服务器上,因为服务器通常安装除错误修复外不经常更新的发行版。

特别排除 perl 的一个原因是,是否有单独的 perl 安装,可能直接从 CPAN 安装,可能与网络上的其他机器共享或同步,以确保安装的库和版本集一致。查找范围/usr/localopt一个备用Perl安装,检查是否有PERL5LIB在设置/etc/profile。我不会那样做,因为正如您注意到的那样,它会破坏依赖关系,但我明白为什么有人会受到诱惑。

也许如果您发布全套排除项,有人会发现一种模式。文件中是否有任何可能给出提示的注释?


为避免将来出现此类问题,您应该将所有配置置于版本控制之下。然后更改日志将指示设置令人惊讶的配置的时间,并希望是为什么。

在 Debian/Ubuntu 上,我使用etckeeper,我认为它也已为 CentOS 打包。在多管理员机器上,应该设置为从不自动提交更改,强制管理员在运行yum installyum update.


小智 6

cPanel 跟踪自己的 Perl 副本。默认安装添加了排除规则。我认为他们这样做是因为许多人严重依赖 cPanel 工作并完成所有服务器工作,而且过去可能存在有关软件包和 Perl 的问题。

您可以使用--disableexcludes禁用存储库中排除项的选项来安装 git :

yum --disableexcludes=epel install git
Run Code Online (Sandbox Code Playgroud)