OEL7 - 如何在没有 CPAN 的情况下获取 perl-Template-Toolkit 和 perl-XML-LibXSLT?

OEL7 - 如何在没有 CPAN 的情况下获取 perl-Template-Toolkit 和 perl-XML-LibXSLT?

我想先声明一下,我根本不是 Linux 专家。我目前正在尝试在 OEL7_x86_64 上安装 otrs-5.0.10-01.noarch.rpm (otrs.com),它似乎是基于 Red Hat 7 构建的,如下所示:

[root@**** ~]# cat /etc/redhat-release

Red Hat Enterprise Linux 服务器版本 7.2 (Maipo)

他们的安装手册指出我应该使用 yum 按照如下方式解决依赖关系:

[root@@**** ~]# yum install --nogpgcheck /var/tmp/otrs-5.0.9-01.noarch.rpm

但是,此命令会抱怨两个依赖关系未得到满足:

错误:包:otrs-5.0.9-01.noarch(/otrs-5.0.9-01.noarch)

      Requires: perl(XML::LibXSLT)

错误:包:otrs-5.0.9-01.noarch(/otrs-5.0.9-01.noarch)

      Requires: perl(Template)

我发现我能够使用 CPAN 安装它们,但是依赖关系仍然无法满足,因为 yum 似乎无法看到使用 CPAN 安装的模块,因此我相信我需要这些软件包的 rpm。

我找到了 Oracle 的一份 PDF,其中显示了每个发行版中包含的软件包,并且似乎应该包含 perl-Template-Toolkit 和 perl-XML-LibXSLT - 请参阅 Oracle Linux 7 专栏。

http://www.oracle.com/us/support/library/enterprise-linux-indemnification-069347.pdf

但是我在我们的存储库中找不到 rpm,并且它未安装在系统上。如果我检查通过我们的存储库可用的所有 perl 模块,我找不到模板或 xlm-libxslt:

yum whatprovides“perl(*)”

如果我检查存储库的内容,我可以验证它们不包含在“Oracle Linux 7 (x86_64) Latest”中。

http://public-yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/index.html

所以我的问题很简短...我如何以 rpm 格式获取这些包,以便可以解决我对 OTRS 的依赖关系?我可以看到它们包含在 arch i686 的 OEL6 存储库中,但我不确定它们是否可以在此系统中安全使用....

任何建议都值得感激,任何愿意提供帮助的人都可以得到一个汉堡包和一杯啤酒!

非常感谢!

/丹尼

答案1

答案2

您的问题提出了几个问题:

  1. 我发现我能够使用 CPAN 安装它们,但依赖关系仍然无法满足,因为 yum 似乎无法看到使用 CPAN 安装的模块

  2. 我如何获取 rpm 格式的这些包以便能够解析 OTRS 的依赖关系?

让我们更深入地了解一下。

对于 1),你似乎已经从 CPAN 安装了两个模块,尽管如此,RPM 软件包的安装仍然失败。如果是这种情况(请确认),那么您可以安全地使用 强制安装 RPM rpm -ivh --nodeps otrs-5.0.9-01.noarch。虽然这听起来有点“粗鲁”,但它确实很“安全”,因为您可以随时回滚这样的安装(使用rpm -e otrs)。我敢打赌,如果上面提到的两个是唯一缺少的两个软件包,这将解决您的问题;

对于 1),您也可以轻松检查是否成功安装了这两个软件包,只需让 PERL “检查”它们: perl -e 'use XML::LibXSLT'perl -e 'use Template'。如果这两个命令都成功(它们将运行并结束,没有任何输出,特别是没有任何抱怨!)则它们已被正确安装并被 PERL 识别,因此,被(要安装的)otrs 识别。

至于 2) 事情稍微复杂一些,因为如果你的“分销维护者”(OEL 7) 有不是为此类发行版预构建软件包,那么您找到“官方”RPM 的机会就很小。但是……开源和 RPM(以及 DEB 或其他软件包格式)的一大优点是,您可以真正获得其他“第三方”组装软件包并“检查”如何它已经建成,什么它包含。正如你提到的,OEL7 基于 RHEL7,那么我敢打赌 CentOS 软件包应该好的您的系统。最简单的检查方法:

  • 哪些文件将存储在您的文件系统上以及存储在哪里;
  • 在 RPM 安装之前和之后将启动哪个脚本

我认为,最好用“mc”(yum install mc,如果你还没有的话)打开它们。只需突出显示 RPM 并按 ENTER。然后你就会看到“内容”。只需“单击”它,你就会看到 RPM 中包含哪些文件。返回主级别(ESC、ESC 等),您可以“单击”SCRIPTS 文件夹,在那里你可以看到 PREINSTALL、POSTINSTALL、PREUNINSTALL、POSTUNINSTALL。按 F3 就完成了。此外,检查 RPM 的属性,你可以看到哪个是用于构建 RPM 的 TGZ 文件(URL)。有了所有这些信息,你绝对可以自由的自己使用 TGZ 并开始“构建”您自己的 RPM。无论如何,这实际上并不是“年轻的系统管理员”可以在 10 分钟内成功完成的事情 :-)

最后,我要说明的是,我建议采用方法 1),因为....如果您通过 CPAN 手动安装 PERL 模块,那么您的系统已经(稍微)混乱了,因此....您无法造成更多损害 :-)

相关内容