为什么没有可用的 JBoss 包?Tomcat 服务很好,但是 Ubuntu 中所谓的 jboss 包完全没用。
编辑
由于回答的人似乎没有费心去寻找进入对于有问题的包裹,让我通过展示它来详细解释我的答案:
$ dpkg -L jbossas4
/.
/usr
/usr/share
/usr/share/doc
/usr/share/doc/jbossas4
/usr/share/doc/jbossas4/README.Debian
/usr/share/doc/jbossas4/copyright
/usr/share/doc/jbossas4/changelog.Debian.gz
/usr/share/java
/usr/share/java/jboss-run-4.2.3.GA.jar
/usr/share/java/jboss-shutdown-4.2.3.GA.jar
/usr/share/java/jboss-run.jar
/usr/share/java/jboss-shutdown.jar
$ cat /usr/share/doc/jbossas4/README.Debian
jbossas4 is currently in a very alpha stage of packaging. I can be used
to build other libraries depending on JBoss like libhibernate3-java but
it is not complete and cannot be used as an application server yet.
-- Torsten Werner <[email protected]> Mon, 19 Nov 2007 16:53:36 +0100
答案1
在尝试自己打包 jboss 之后,我非常确定我知道为什么没有一个好的软件包。
业务需求。这是一款“企业级”的 RedHat 产品。Ubuntu 是一款 Debian 式的发行版。因此,很少有人在 Ubuntu 或 Debian 上使用它,因为大多数想要“企业级”功能的人也希望获得企业支持,并认为最好一直使用 RedHat。
更严格的要求。您看过 tomcat 软件包了吗?它乱糟糟的,到处都是。Tomcat tarball 发行版(以及 RedHat 软件包)将所有内容都放在 /usr/share 中,上次我检查是几年前的事了。相比之下,Debian/Ubuntu 软件包将变量数据放在 /var/lib/tomcat* (CATALINA_HOME) 中,将静态 java 库放在 /usr/share/tomcat* (TOMCAT_HOME) 中,将 JNI 放在 /usr/lib/tomcat* 中,并使用符号链接将它们全部绑定在一起。这是因为 Debian 软件包旨在让单个 tomcat 安装能够为多个正在运行的 tomcat 实例提供服务,并且因为 Debian/Ubuntu 的打包要求要严格得多,实际上坚持要求配置放在 /etc 中,变量数据放在 /var 中,等等。RedHat 没有这样的要求,而 JBoss 发行版则将所有内容都放在一起,很难进行拆分。
在文档不全或缺失的情况下追求完美。如果你查看 Debian/Ubuntu 的 libjboss-* 软件包,你会发现所有库都是单独的软件包。这是因为它们实际上不是一个产品,而是它们的集合,只是碰巧一起工作。在标准 JBoss tarball 中,你有“默认”和“全部”(我认为还有“最小”......)这是一些“示例”组合......但实际上有很多组合是可能的。我敢肯定,打包者知道这一点,并试图找到一种方法来只安装那些你需要的库需要在系统 JBoss 安装中,这是很好的做法(但几乎从未遵循过,在 JBoss 的情况下,几乎每个人都只使用“全部”示例)。
集成难度。没有任何服务启动脚本的复杂程度接近 Ubuntu 的正常水平。服务器进程本身甚至只是将数据吐到 stdout。您需要找到以可轮换的方式重定向到日志文件的方法,设置 cron/logwatch 来处理它,编写 init 脚本等。这并非易事,尤其是考虑到 JBoss 是用户决定使用的“任何”库的集合,并且不是设计时考虑了系统安装——它显然是一种“从你的主目录运行”类型的安装,开箱即用。
缺乏需要。tarball 放在 /opt 中,可能带有
checkinstall
,对于任何实际进行大规模部署的人来说,它都能完成工作。如果您正在进行大规模部署,您通常有自己的软件包存储库,因此再多一个并不是什么大问题。只是没有足够的必要来制作好的包。
话虽如此,我一直在努力制作这样的软件包。我已经“研究”了两年,尽管我现在确实需要它。希望很快会有它的 PPA。:-) 如果您以前做过 .deb 打包,并且了解 JBoss 内部原理,也许我们可以合作。
答案2
Jboss 在软件中心可用。
但版本仍然是4.2.3.GA-2