release_handler模块¶
Unpacking and Installation of Release Packages
简介¶
状态:
unpacked, current, permanent, or old
% 各状态转换:
Status Action NextStatus
-------------------------------------------
- unpack unpacked
unpacked install current
remove -
current make_permanent permanent
install other old
remove -
permanent make other permanent old
install permanent
old reboot_old permanent
install current
remove -
framework包含:
Offline support - systools for generating scripts and building release packages
Online support - release_handler for unpacking and installing release packages
install_release/1/2¶
结构:
install_release(Vsn) -> {ok, OtherVsn, Descr} | {error, Reason}
install_release(Vsn, [Opt]) -> {ok, OtherVsn, Descr} | {continue_after_restart, OtherVsn, Descr} | {error, Reason}
类型:
Vsn = OtherVsn = string()
Opt = {error_action, Action} | {code_change_timeout, Timeout}
| {suspend_timeout, Timeout} | {update_paths, Bool}
Action = restart | reboot
Timeout = default | infinity | pos_integer()
Bool = boolean()
Descr = term()
Reason = {illegal_option, Opt} | {already_installed, Vsn} | {change_appl_data, term()} | {missing_base_app, OtherVsn, App} | {could_not_create_hybrid_boot, term()} | term()
App = atom()
make_permanent/1¶
结构:
make_permanent(Vsn) -> ok | {error, Reason}
类型:
Vsn = string()
Reason = {bad_status, Status} | term()
Makes the specified release version Vsn permanent.
remove_release/1¶
结构:
remove_release(Vsn) -> ok | {error, Reason}
Types
Vsn = string()
Reason = {permanent, Vsn} | client_node | term()
Removes a release and its files from the system. The release must not be the permanent release. Removes only the files and directories not in use by another release.