2015-04-23 150 views
1

我有一个基于CentOS 6.6的webserver,并安装了perl 5.10.1版本。在CentOS 6.6上更新Perl版本

是否有可能将perl及其所有模块(mod_perl,...)更新至5.16或更高版本?

的是CentOS的资料库

非常感谢您的帮助,可到现在为止没有更新。

约翰

回答

0

如果Perl的较新版本是不是可以作为一个CentOS的更新,你有两个选择:

1)更新你的服务器是安装Perl的较新版本的CentOS的新版本你需要。

2)将源代码下载到Perl,并自己构建它。

#2的警告字。如果你这样做,你必须配置和安装一个更新版本的Perl,以便它不会以任何方式覆盖或干扰现有的CentOS perl软件包。 CentOS中的许多其他软件包依赖于Perl,除非您在这些方面有足够的经验,否则几乎可以保证构建您自己的Perl版本,然后将其转储到现有系统Perl软件包的顶部,覆盖它,将导致一个不稳定的系统,伴随着偶然的,偶然的,神秘的失败。

+0

默认的软件包安装位置是/ usr/bin,来自源的perl生成位于/ usr/local/bin中。所以它没有那么糟糕。 – Sobrique

1

标准红帽存储库非常过时。这是一个巨大的问题,也是现在有这么多付费/订阅回购的主要原因。但别担心,还有很棒的免费游戏。 CentOS人员认可的Here are a few。你应该能够找到你想要的Perl版本。

你也可以自己构建Perl(仅作为最后的手段!!!),但像Sam Varshavchik说的那样,确保你的构建方式不会干扰系统。一般来说,你想使用make altinstall而不是make install。这种方法适用于Python,它也应该转换为Perl。

+0

默认的'make install'把它放在'/ usr/local/bin'而不是'/ usr/bin'中,所以不会篡改'system perl'。我已经做了好几次了。 (搞乱'system perl'可能是个坏消息,因为你可能会破坏一些系统处理脚本)。 – Sobrique

-1

当我知道有perl的5.16为CentOS的RPM回购..这里是download链接

5

这是否Perl版本必须是所有用户都可访问?如果没有,你可以尝试使用PerlBrew。 PerlBrew允许你构建一个用户拥有的Perl版本。实际上,您可以为该用户安装多个版本的Perl并在它们之间切换。 (也许版本5.20.1有一个影响你的错误,你需要回到Perl 5.18)。

由于是用户安装的,所以很容易保持最新状态。您可以安装新版本,或者在一个Perl版本或另一个版本之间切换,只需一个命令即可。

CentOS与RHEL保持同步,而不是Fedora,这是Red Hat的出血端分布式。因为它是企业级的,所以CentOS中的软件包版本通常比当前的版本要旧。这是出于稳定性原因。您不希望让您的业务因为最新更新中引入错误而崩溃。至少现在的版本是5.10,而不是5.8.9,这是多年以来的事情。