ここでは、ソースからコンパイルインストールした Ruby をアンインストールする方法について説明したいと思います。
説明の前提
Ruby は、別記事「Ruby2.0をCentOS/RedHatにコンパイルインストールする手順」のような手順でインストールされたこととします。 その場合、ダウンロードした Ruby のソースディレクトリ内に .installed.list ファイルが残されているはずです。
アンインストール
Linux のソフトウェアをソースからインストールした場合、アンインストールがとても面倒です。 yumなどでパッケージ管理されていればとても気楽なのですが、ソースからインストールした場合においてはどこにファイルがインストールされたのかを把握するのが難しいですね。 しかし Ruby をソースからインストールした場合、前述の .installed.list というファイルが生成されるため、どこにファイルをインストールしたのかを知ることができます。 このファイルを使って、ソースからインストールした Ruby を削除してみたいと思います。 但し、Ruby をインストールしたフォルダは削除できませんので予めご了承下さい。 あくまでファイルのみが削除されます。
コマンドは以下の通りです。 (ここでは Ruby 2.0.0-p353 をアンインストールする事とします)
# cat /usr/local/src/ruby-2.0.0-p353/.installed.list | xargs rm
.installed.list に記述されたファイルを1行ずつ rm コマンドの引数に渡して削除しています。 実行すると「rm: cannot remove `xxxxxxxxx` : Is a directory」といったエラーメッセージが表示されると思いますが、前述の通りディレクトリは削除しない為です。 (rm コマンドに -r オプションを付けたいと思ってしまうかもしれませんが、付けてしまうと Ruby 以外のものまで消してしまうので絶対に -r オプションを付けてはなりません。)
削除されたことを確認するため、 “rub” + Tab などで予測補完候補に ruby がでないことを確認してください。
おわりに
.install.list ファイルを用いて Ruby をアンインストールする方法を説明しました。 前述の通りディレクトリが削除できないという点がイケていないのですが、なんとも仕方ありません。 もし「こうした方がもっと良いよ」という方法がありましたら、是非教えて頂けますと幸いです。