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

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

我是不是Unix/Linux 管理员。

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

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

答案1

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

特别排除 perl 的一个原因是,是否有单独的 perl 安装,可能直接来自 CPAN,可能与网络上的其他计算机共享或同步,以确保安装的库和版本集一致。查找/usr/localopt替代 perl 安装,检查PERL5LIB中的设置/etc/profile。我不会这样做,因为正如您所注意到的,这会破坏依赖性,但我可以理解为什么有人可能会受到诱惑。

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


为了避免将来出现此类问题,您应该将所有配置置于版本控制之下。然后变更日志将指出令人惊讶的配置是何时设置的,以及原因。

在 Debian/Ubuntu 上我使用等等管理员,我认为它也已针对 CentOS 进行了打包。在多管理员计算机上,应将其设置为永远不会自动提交更改,从而强制管理员在运行yum install或之前进行显式提交yum update

答案2

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

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

yum --disableexcludes=epel install git

答案3

将 Perl 安装到其正常根目录中不太可能干扰 cPanel,具体取决于配置。返回什么which perl

从技术上讲,您可以安装 Git,甚至可以安装 Git 及其依赖项,而无需安装 Perl。请注意,这样做可能会影响 Git 中的某些功能。

yum -y install yum-downloadonly && yum install --downloadonly --downloaddir=/foo/bar/ git

这会将 Git 及其依赖项(perl-Error 和 perl-Git)的当前 rpm 下载到 /foo/bar/。现在你可以rpm -ivh --nodeps /foo/bar/{git,perl-{Error,Git}}*.rpm

相关内容