1

为了使软件部署更可靠、更容易,最好使用操作系统的包管理来分发软件。现在我想将 GlassFish 打包为 RPM。

目标: - 构建一次,多次部署 - 使用最新更新打包 GlassFish - 使用插件打包定制的 GlassFish(对于应该在该 GlassFish 上运行的应用程序是必需的)(参见注释 1)

我已经构建了一个 .spec 文件,它解压缩 GlassFish .zip(来自 Oracle)并将其打包到 RPM 中。然后我尝试添加将运行 pkg 工具的 %build 部分。问题在于 GlassFish 的更新管理:它只接受更新到最新版本,因为您无法传递要更新的版本(或者您可以吗?)。

有了这个,就不可能一次又一次地从头开始构建特定版本的 GlassFish RPM,而每次都没有不同的结果(以周/月为单位)。所以这种方法不能用于生成 RPM。

  • 我怎么能这样做?
  • 这是将 GlassFish 打包为 RPM 的完全错误的方法吗?
  • 您会推荐哪种替代分发/包装方法?

注意 1:我倾向于将这些额外的库(插件)打包为另一个 RPM,它依赖于基本的 GlassFish RPM,但我认为这是不可能的,因为安装插件时涉及的文件太多。

也许我应该将此问题更改为“分发 GlassFish 的替代方式”,到目前为止,我看不出有可能按照上述方式进行操作。

4

2 回答 2

1

我不认为这是创建通用 GlassFish RPM 的正确方法,因为它需要删除包管理器,因此无法在安装后添加必要的运行时库(也无需将所有 GlassFish 库打包为 RPM)。

使用 GlassFish RPM 的唯一有用方法是用于特定应用程序的 GlassFish 安装,其中包含所有必要的库(可能还有配置)。

我不会使用它,因为它增加了太多额外的努力,而收益太小。

我继续构建检查和设置脚本,检查环境。

于 2012-10-28T15:07:05.487 回答
0

我创建了一个 GlassFish 安装 tar,其中包含带有答案文件的 Linux 本机安装程序以及所需的任何补丁或配置更改。然后我有一个内置在 RPM 中的 RPM 脚本。在 scriptlet 中,我有命令使用 JDK 的位置和应答文件(-a 选项)运行本机安装程序。就我而言,我使用密码列表运行 remove weak ciphers 命令,禁用 http2,然后进行任何必要的环境更改。

于 2014-01-07T18:30:18.850 回答