Redmine から full_text_search プラグインをアンインストールする手順

mroonga

Redmine から full_text_search プラグインをアンインストールする手順

mroonga

目的

apt upgrade に失敗するようになった復旧対応

  • エラー内容

Redmineのプラグインが原因で apt = dpkg が壊れることがある

dpkg: error processing package python-pkg-resources (--remove):
dependency problems - not removing
Errors were encountered while processing:
gyp
python-pkg-resources

上記のエラーでaptアップデートに失敗する場合は、mroonga関連のパッケージとRedmineのmroongaプラグインを削除後に、再度アップデート(apt update / apt upgrade)すれば解決した。

インターネットで検索してもアンインストール手順が纏められた情報がなかったので、備忘録としてブログにしておく。

※ ubuntu のパッケージで Redmine インストールした前提の手順です

sudo 権限のあるユーザーでログイン

ubuntuの場合は 「ubuntu」ユーザー等の sudo権限のあるユーザーでログインしている前提とする。

Redmineはデフォルトのインストール場所 /usr/share/redmine に格納されている前提とする

cd /usr/share/redmine

bundle exec 実行

依存関係を更新する。

sudo bundle exec rake redmine:plugins:migrate NAME=full_text_search VERSION=0 RAILS_ENV=production

pluginのファイルをディレクトリごと移動する

不具合が発生したときに戻せるように、下記はHOMEディレクトリにバックアップする。

cd plugins
mkdir -p ~/backup/redmine-plugins
sudo mv full_text_search ~/backup/redmine-plugins

Mroongaを継続利用する場合は再インストール

  • Mroonga

Mroonga のインストール手順は公式等で公開されている

Mroongaブログ
  • full_text_search プラグイン公式

https://www.redmine.org/plugins/full_text_search

追記:Mroongaのインデックスが生成されたテーブルをSelectやmysqldumpで出力するとエラーになる場合の対策

Mroongaをアンインストールした後も、既存のテーブルがMroongaで印デックスされているとSelectやmysqldumpでテーブル参照(射影)ができなくなる場合がある。

対策

  • テーブルに登録されたEngine(Mroonga)を、AlterやUpdateで強制的に上書きしてもエラーは修復できない
  • Mroongaを再インストールすると再度テーブル参照できるようになる
  • mysqldumpで対象のDBを出力してから、mysql(or mariadb)をアンインストールして、データディレクトリ(/var/lib/mysql等)を物理削除してから、mysqlを再インストールする