RedmineをプレイブックでOracleLinuxに入れるときに躓いたこと


概要

Redmineの検証でプレイブックを使ってインストールをしようとしたところ、どうしても躓くところがあった。
プレイブック:https://github.com/farend/redmine-centos-ansible

作業環境:Oracle Linux 8.4

致命的な"アレ"がない

rootで入りプレイブックをクローンし、ansibleを走らせると必ずこのエラーが出てしまう。

TASK [system : powertoolのインストール] ***************************************************************************************************************************************
fatal: [localhost]: FAILED! => {"changed": true, "cmd": "dnf config-manager --set-enabled powertools", "delta": "0:00:00.961142", "end": "2021-11-27 15:25:06.259012", "msg": "non-zero return code", "rc": 1, "start": "2021-11-27 15:25:05.297870", "stderr": "エラー: 修正用の一致する repo はありません: powertools.", "stderr_lines": ["エ ラー: 修正用の一致する repo はありません: powertools."], "stdout": "", "stdout_lines": []}

読んでもらえればわかるがPowertoolsのリポジトリがないと出てきてしまう。
それもそのはず、Oracle LinuxにはPowerToolsは同梱されていない

じゃあどうすればいいのか

PowerToolsの使用用途はImage Magickインストールするためのものだった。
調べたらOracle LinuxではCodeReady BuilderがPowerToolsに該当するみたいだった。

とりあえず、有効にする。
※手癖の都合、yumで記載してます。ご了承ください。

yum config-manager --set-enabled ol8_codeready_builder

有効にしたはいいがこのままではPowerToolsを参照してしまい結局エラーが出てしまう。
かといって手動でインストールもやりたくない。

そのため、site.ymlが入っているディレクトリ(redmine-centos-ansible)からさらに移動して、

~(省略)/redmine-centos-ansible/roles/system/tasks/main.yml

をVimまたはEmacsで開く。(宗教戦争のための配慮)

その後以下の記載を削除する。

  • name: powertoolのインストール shell: dnf config-manager --set-enabled powertools warn=no

保存し、site.ymlが入っているディレクトリまで戻り、プレイブックの手順通り以下のコマンドを実行し、インストール作業が無事始まる。

ansible-playbook -i hosts site.yml

おまけ

デスクトップ(フルパス:/home/test/デスクトップ)で作業してたら文字コードの変換でエラーが出て当然の如く止まってしまった。

解決方法は言うまでもない。

やはり日本語ディレクトリは悪い文化である。