- 创建一个发布包
创建一个发布包
函数 systools:make_tar/1,2 以一个 .rel 文件作为输入,并创建一个包含了指定应用的压缩tar包,即一个发布包(release package)。
- 1> systools:make_script("ch_rel-1").
- ok
- 2> systools:make_tar("ch_rel-1").
- ok
默认的发布包包含了所有的应用的 .app 文件和目标代码,并根据 应用目录结构 建立结构,同时将二进制的启动脚本更名为 start.boot ,还包含了 .rel 文件。
- % tar tf ch_rel-1.tar
- lib/kernel-2.9/ebin/kernel.app
- lib/kernel-2.9/ebin/application.beam
- ...
- lib/stdlib-1.12/ebin/stdlib.app
- lib/stdlib-1.12/ebin/beam_lib.beam
- ...
- lib/sasl-1.10/ebin/sasl.app
- lib/sasl-1.10/ebin/sasl.beam
- ...
- lib/ch_app-1/ebin/ch_app.app
- lib/ch_app-1/ebin/ch_app.beam
- lib/ch_app-1/ebin/ch_sup.beam
- lib/ch_app-1/ebin/ch3.beam
- releases/A/start.boot
- releases/ch_rel-1.rel
注意在制作发布包之前,生成新的启动脚本没有设置 local 选项。在发布包中,所有的应用目录都放在了 lib 。同时,我们不知道发布包会被安装到何处,所以我们不想在启动脚本中硬编码任何绝对路径。
如果有一个 relup 文件以及/或叫做 sys.config 系统配置文件,这些文件也会被包含在发布包。参见 发布处理 :
也可以设置参数让发布包包含代码和ERTS二进制文件。
如何使用发布包安装首个目标系统,请参考系统原理。如果在已存在系统的安装新的发布包,请参考 发布处理 。