Запустите узел erlang, чтобы получить оболочку.Не нужно указывать имя узла, просто убедитесь, что вы используете тот же ~/bin/erl
, что и целевой узел.Затем поместите ваш релиз-пакет в ~/lib/erlang/releases
и распакуйте его, как обычно:
1> application:start(sasl),
1> release_handler:unpack_release("my_release-1.0").
{ok, "1.0"}.
Теперь закройте оболочку:
2> q().
[Не пытайтесь обманутьиспользуя другое окно здесь!Вы должны выйти.]
Теперь вам нужно отредактировать файл ~/lib/erlang/releases/RELEASES
и изменить статус нового выпуска с unpacked
на current
:
[{release,"My Release Package","1.0","5.9.1",
[{kernel,"2.15.1","/Users/otpuser/lib/erlang/lib/kernel-2.15.1"},
{stdlib,"1.18.1","/Users/otpuser/lib/erlang/lib/stdlib-1.18.1"},
{sasl,"2.2.1","/Users/otpuser/lib/erlang/lib/sasl-2.2.1"}, ...],
- unpacked}].
+ current}].
Запустить оболочкуснова и сделайте его постоянным:
1> application:start(sasl),
1> release_handler:make_permanent("1.0").
ok
[Примечание: все, что делает make_permanent/1
, это помещает версию выпуска ("1.0"
) в ~/lib/erlang/releases/start_erl.data
, чтобы вы могли обмануть здесь.]
Обязательно поместите конфигурацию вашей системы в ~/lib/erlang/releases/1.0/sys.config
.
Теперь, когда вы запустите ~/bin/start
, название выпуска будет считано с start_erl.data
, а init
будет использовать загрузочный скрипт в ~/lib/erlang/releases/1.0/start.boot
.