Elastic Stack 6.4.2への更新 FreeBSD ports用メモ

すでにElastic Stackの最新版6.5がリリースしてるので遅すぎる感はあるけど、重い腰を上げてElastic Stack 6.4.2に更新した。面倒だったのよね。

FreeBSDのportsでインストールしている場合は以下の5点ほど(使ってるのだけ)を更新する。

  • textproc/elasticsearch6
  • sysutils/logstash6
  • textproc/kibana6
  • sysutils/beats
  • www/node8

6.3xから6.4.2への更新なら殆ど手がかからないみたい。(そうとわかってたらもっと早く更新したのに。)
ただし、1点だけFreeBSDのtextproc/elasticsearch6のportsに問題があるので対応が必要。
elasticsearchのプラグイン管理スクリプトの /usr/local/lib/elasticsearch/bin/elasticsearch-plugin は同じディレクトリにある筈の elasticsearch-cli を呼び出そうとするが、FreeBSDのportsでは elasticsearch-cli がそこにコピーされていない。(コピー漏れ)
そのためelasticsearch-pluginはエラーで動かない。

# cd /usr/ports/textproc/elasticsearch6
# make
# cd ./work/elasticsearch-6.4.2/bin
# cp -p elasticsearch-cli /usr/local/lib/elasticsearch/bin/

portsで/usr/local/lib/elasticsearch/binにコピー済みなのはelasticsearch, elasticsearch-env, elasticsearch-pluginの3つのファイルだけ。
elasticsearch-cli以外にも使う予定のあるスクリプトがあれば /usr/local/lib/elasticsearch/bin下にコピーしておく。

コピーしたelasticsearch-cliを修正 (1行目のみ)
1
2
3
#!/usr/bin/env bash
または
#!/usr/local/bin/bash

これでelasticsearchのプラグイン管理ができるようになるのでプラグインを6.4.2に交換する。でないとelasticsearchが起動しなくなる。

# cd /usr/local/lib/elasticsearch/bin
# ./elasticsearch-plugin list          プラグイン一覧表示
# ./elasticsearch-plugin remove hoge   古いhogeプラグインをアンインストール
# ./elasticsearch-plugin install hoge  新しいhogeプラグインをインストール          

おしまい