我希望以完全基于 RPM 的方式在 CentOS 5 上安装 Tomcat6。JPackage 似乎是一个很好的选择,所以我添加了 repo,现在我正试图让它工作。
说明说要安装从 Sun 下载的基于 RPM 的 JDK,所以我这样做了。然后说明说要从 JPackage 安装适当的 -compat 库。此时我收到以下错误:
[root@localhost bart]# rpm -ivh java-1.6.0-sun-compat-1.6.0.03-1jpp.i586.rpm
error: Failed dependencies:
jdk = 2000:1.6.0_03-fcs is needed by java-1.6.0-sun-compat-1.6.0.03-1jpp.i586
jpackage-utils >= 0:1.7.3 is needed by java-1.6.0-sun-compat-1.6.0.03-1jpp.i586
[root@localhost bart]#
让我特别困惑的是,它似乎在寻找 Sun JVM 的 fedora 版本。JPAckage 指令确实警告说使用基于 RPM 的下载至关重要,所以我确定要这样做。
如果有帮助,这是我的 Java 版本:
[root@localhost bart]# java -version
java version "1.6.0_18"
Java(TM) SE Runtime Environment (build 1.6.0_18-b07)
Java HotSpot(TM) Server VM (build 16.0-b13, mixed mode)
[root@localhost bart]#
有什么我错过或做错的想法吗?
谢谢,
巴特。
您正在尝试为与从 Sun 安装的不同版本的 JDK 安装兼容库。
您正在尝试安装
compat-1.6.0.03
与 JDK 1.6.0_03 匹配的版本。您的 java 版本是 1.6.0_18。你可以在这里得到 1.6.0_03
看起来他们自 U3 (1.6.0_03) 以来还没有更新兼容库
这个宝石在他们的说明中有点隐藏(强调我的):
我建议卸载 1.6.0_18 jdk,并安装 1.6.0_03 jdk。这应该可以让你到达你需要去的地方。
除了 Zypher 回答您需要
-compat
与您安装的 JVM 匹配的正确 rpm 之外,似乎 rpm 提醒您还需要安装适当版本的 jpackage-utils rpm。我还要警告您,postinstall scriptlet 在尝试设置替代方案时有时无法正确执行(我相信有一个错字)。您应该能够通过 提取 scriptlet
rpm -q --scripts <rpm package name>
,将安装后的内容放入 .sh 文件中,修复拼写错误,然后执行修复的脚本 viash mypostinstall.sh
以正确设置 java 和 javac 的替代方案。我就是喜欢讽刺。在放弃了 JPackage 之后,我去寻找手动安装 Tomcat6 并让它以非特权用户身份运行并拥有良好的启动脚本的良好说明。我发现了什么?使用 JPackage 让 Tomcat6 安装在 Centos5 上的解决方案!
关键是这个第 3 方兼容库,它修复了 CentOS 5 与 JPackage 的奇怪问题:http: //plone.lucidsolutions.co.nz/linux/centos/jpackage-jpackage-utils-compatibility-for-centos-5。 X
为了完整起见,我在这里找到了说明:http ://wavded.tumblr.com/post/258713913/installing-tomcat-6-on-centos-5
巴特。