chinachuをupdateしたら壊れた話
事の発端
上記の記事から1年が経ち,なんとなく録画鯖のソフトウェアの更新をしておこうと思い
./chinachu updater
を実行して
pm2 restart
したら
┌───────────────────┬────┬──────┬───────┬─────────┬─────────┬────────┬─────┬──────────┬──────┬──────────┐ │ App name │ id │ mode │ pid │ status │ restart │ uptime │ cpu │ mem │ user │ watching │ ├───────────────────┼────┼──────┼───────┼─────────┼─────────┼────────┼─────┼──────────┼──────┼──────────┤ │ chinachu-operator │ 3 │ fork │ N/A │ errored │ 0 │ 0 │ 0% │ 0 B │ root │ disabled │ │ chinachu-wui │ 2 │ fork │ N/A │ errored │ 0 │ 0 │ 0% │ 0 B │ root │ disabled │ │ mirakurun-server │ 1 │ fork │ 26034 │ online │ 5 │ 0s │ 0% │ 5.8 MB │ root │ disabled │ └───────────────────┴────┴──────┴───────┴─────────┴─────────┴────────┴─────┴──────────┴──────┴──────────┘
と出力するようになった.安易に更新したらぶっ壊れた.
原因究明
試しに./chinachu service operator execute
してみたところ,問題なく実行できた.
つまりはpm2にて実行する際に失敗しているようだった.
pm2 delete chinachu-wui chinachu-operator
で一度削除した後,pm2 start processes.json
で登録し直したら,
[PM2][ERROR] Interpreter .nave/node does not seem to be available [PM2][ERROR] Interpreter .nave/node does not seem to be available
と出力された.つまりは.nave/node
がねぇよってことだ.
.nave/node
は.nave/installed/{version}/bin/node
へのリンクのようだったがその存在はなかった.
というか,{version}
ディレクトリすらなかった.
なぜ?
./chinachu installer
で3) Node.js Environment
を試してみて,nodejsの再インストールをしてみたところ,以下のようなログを吐いた.
/home/chinachu/chinachu/.nave/nave.sh: 行 237: shasum: コマンドが見つかりません shasum mismatch, expect 6c35b85a7cd4188ab7578354277b2b2ca43eacc864a2a16b3669753ec2369d52, got 6c35b85a7cd4188ab7578354277b2b2ca43eacc864a2a16b3669753ec2369d52 gzip: stdin: unexpected end of file tar: Child returned status 1 tar: Error is not recoverable: exiting now Binary install failed, trying source. `/home/chinachu/chinachu/.nave/node' -> `/home/chinachu/chinachu/.nave/installed/10.15.3/bin/node' `/home/chinachu/chinachu/.nave/npm' -> `/home/chinachu/chinachu/.nave/installed/10.15.3/bin/npm' done.
./chinachu updater
ではログが爆速で流れるので気づかなかったが,よく見たらここで失敗していた.
どうやらコマンドshasum
が見つかってないみたいだ.
sha1sum
とかsha256sum
とかはあるんだが…
直し方
$ sudo yum install perl-Digest-SHA
これでshasum
コマンドがインストールされる.次に./chinachu installer
で3
を選択すれば,今度は何事もなくインストールが終わる.
これでpm2 restart all
してみたら無事chinachuが起動してくれた.
一安心!!!
余談
ChinachuのIssuesにこんなのがあったのだが,もしかしたらこの辺の問題だったのではなかろうか.
この方は同じ症状になったが,/usr/bin/
から持ってくることで解決していたようだ.