sunatomoさん CC.Passさん、パパリウスさん
おはようございます。お手を煩わせてしまい申し訳ありません。アドバイスに基づき早速下記の手順にてやってみました。sysytemdへの登録はうまくいくのですが、systemctlでの起動が出来ず結果自動起動がまだできていません。(通常の起動は問題なし)
手動起動ではstartdのスクリプト125行目(下記記載)で「JAVA : command not found」で叱られています、、、通常起動とsysytemctl起動の動きが若干違うのかな、、、
(添付、長くてすみません)
1.為念バックアップを取得
root [ ~ ]# mkdir /home/pi/backup
root [ ~ ]# cp /home/pi/minimserver/bin/setup /home/pi/backup
root [ ~ ]# ls /home/pi/backup
setup
2.setupを編集して起動 (44行目と202行目を ctl+jキーで探すと早い)
root [ ~ ]# nano /home/pi/minimserver/bin/setup
root [ ~ ]# /home/pi/minimserver/bin/setup
(以下setupの応答、正しい処理がスタート)
MinimServer desktop integration is not available
MinimServer automatic startup is disabled
Do you want to change these settings (y/n)?
y
Enable automatic startup for MinimServer (y/n)?
y
Created symlink /etc/systemd/system/multi-user.target.wants/minimserver.service → /lib/systemd/system/minimserver.service.
MinimServer automatic startup has been enabled
3.minimserverのステータスを見てみる。が、systemctlでは起動できない。(これが問題?)
root [ ~ ]# systemctl status minimserver.service
● minimserver.service - MinimServer
Loaded: loaded (/lib/systemd/system/minimserver.service; enabled; vendor preset: enabled)
Active: inactive (dead)
root [ ~ ]# systemctl start minimserver.service
Job for minimserver.service failed because the control process exited with error code.
See "systemctl status minimserver.service" and "journalctl -xe" for details.
4.minimserverの手動起動(問題無し)
root [ ~ ]# /home/pi/minimserver/bin/startd
/home/pi/minimserver/bin/startd: line 144: warning: command substitution: ignored null byte in input
5.systemdに登録された内容
root [ ~ ]# nano /lib/systemd/system/minimserver.service
[Unit]
Description=MinimServer
After=multi-user.target
[Service]
Type=oneshot
RemainAfterExit=yes
ExecStart=/home/pi/minimserver/bin/startd init
ExecStop=/home/pi/minimserver/bin/stopall
[Install]
WantedBy=multi-user.target
6.rebootするも起動されない。(systemctl startでエラーになっているため?)
root [ ~ ]# systemctl status minimserver.service
● minimserver.service - MinimServer
Loaded: loaded (/lib/systemd/system/minimserver.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Sun 2020-04-26 08:38:18 JST; 1min 59s ago
Process: 243 ExecStart=/home/pi/minimserver/bin/startd init (code=exited, status=1/FAILURE)
Main PID: 243 (code=exited, status=1/FAILURE)
CPU: 137ms
Apr 26 08:38:18 smpd startd[276]: /home/pi/minimserver/bin/startd: line 125: java: command not found
Apr 26 08:38:18 smpd systemd[1]: minimserver.service: Main process exited, code=exited, status=1/FAILURE
Apr 26 08:38:18 smpd systemd[1]: minimserver.service: Failed with result 'exit-code'.
Apr 26 08:38:18 smpd systemd[1]: Failed to start MinimServer.
(startd の125行目がエラー、二段になっているが、一行)
LD_LIBRARY_PATH="${MINIMDIR}/libsys" MINIM_LANG="${MINIM_LANG}" "${JAVAX}" ${JAVAOPTS} -jar "${MINIMDIR}/lib/m${ws}.jar" --launchrc --set watch.view=log --nohup ${MINIMOPTS} "$@" >"${OUTFILE}" 2>&1 &
(以下のように手動起動するとちゃんと動く)
root [ ~ ]# /home/pi/minimserver/bin/startd init
(ただし、systemctlでの停止は出来ない、startでのエラー状態のままだから?)
root [ ~ ]# systemctl stop minimserver.service
root [ ~ ]# systemctl status minimserver.service
● minimserver.service - MinimServer
Loaded: loaded (/lib/systemd/system/minimserver.service; enabled; vendor preset: enabled)
Active: failed (Result: exit-code) since Sun 2020-04-26 08:38:18 JST; 17min ago
Process: 243 ExecStart=/home/pi/minimserver/bin/startd init (code=exited, status=1/FAILURE)
Main PID: 243 (code=exited, status=1/FAILURE)
CPU: 137ms
Apr 26 08:38:18 smpd startd[276]: /home/pi/minimserver/bin/startd: line 125: java: command not found
Apr 26 08:38:18 smpd systemd[1]: minimserver.service: Main process exited, code=exited, status=1/FAILURE
Apr 26 08:38:18 smpd systemd[1]: minimserver.service: Failed with result 'exit-code'.
Apr 26 08:38:18 smpd systemd[1]: Failed to start MinimServer.
(手動での停止はできる)
root [ ~ ]# /home/pi/minimserver/bin/stopall
Stopping MinimServer process 342
7.journalctl -xeの中身(一部抜粋、125行目がエラーなのは同じ)
A start job for unit minimserver.service has finished with a failure.
The job identifier is 80 and the job result is failed.
Apr 26 09:02:49 smpd startd[457]: /home/pi/minimserver/bin/startd: line 125: java: command not found
Apr 26 09:02:49 smpd systemd[1]: minimserver.service: Main process exited, code=exited, status=1/FAILURE
Subject: Unit process exited
Defined-By: systemd
Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
An ExecStart= process belonging to unit minimserver.service has exited.
The process' exit code is 'exited' and its exit status is 1.
Apr 26 09:02:49 smpd systemd[1]: minimserver.service: Failed with result 'exit-code'.
Subject: Unit failed
Defined-By: systemd
Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
The unit minimserver.service has entered the 'failed' state with result 'exit-code'.
Apr 26 09:02:49 smpd systemd[1]: Failed to start MinimServer.
Subject: A start job for unit minimserver.service has failed
Defined-By: systemd
Support: https://lists.freedesktop.org/mailman/listinfo/systemd-devel
A start job for unit minimserver.service has finished with a failure.