IT徒然草

IT関係のことを解説したり一人つらつら書いたり

make installしたプログラム等をさくっと削除する方法まとめ。

ソースコードからインストールしたアプリをアンインストールしたいときどうするか

私は、よく個人的なこだわりでLinuxにアプリをインストールするときにソースコードからビルド、インストールします。←結構変わり者なんですが。

アンインストールするときにはビルドシステムによってコマンドが異なります。そのため、一言では言えません。 そういうこともあり、ビルドシステム(AutotoolsやCMake)ごとにアンインストール方法を以下のようにまとめました。

ビルドシステム名(インストールするために使ったコマンド)
方法、解説、アドバイス

コマンド

Autotools(./configure && make && sudo make install)

これが一番簡単かな??Makefileのあるディレクトリで以下のコマンドを実行するだけです。

sudo make uninstall

CMake(mkdir build && cmake .. && make && sudo make install)

インストールしたファイルのリストがビルドディレクトリの中(今回の場合は、build)にinstall_manifest.txtに書き出されます。よって、

xargs sudo rm -rf < install_manifest.txt

この一発でアンインストール完了です。 rmコマンドの引数として、インストールしたファイルのリストを渡します。

QMake(Qt、qmake && make && sudo make install)

QMakeは、Qt専用のビルドシステムで、Qtのプロジェクトファイル(.pro)からMakefileを生成します。QMakeによって、アプリをインストールした場合、以下のコマンドでアンインストールできます。

sudo make uninstall

Autotoolsなどと同じようにやれば問題ありません。なお、環境によっては処理中に、「ディレクトリは空ではありません」などのメッセージが表示されますが、アンインストールはできていますので、完全無視でOKです。

Python(setuptools)、(sudo python setup.py install)

まず、インストール時に”--record install.log”オプションを書きます。なお、すでにオプション無しでインストールしてしまっている場合でも、もう一度recordオプションをつけて実行すれば問題ありません。

sudo python setup.py install --record install.log

これにより、インストールされたファイルのリストが、install.logに書き出されます。ですから、CMakeと同じ要領で、

xargs sudo rm -rf < install.log

を実行して、アンインストールします。

Meson(mkdir build && meson . build && ninja && sudo ninja install)

Mesonは最近良くGNOME系で目にするビルドシステムです。これは、AutotoolsとCMakeを合体させたようなシステムですね。 アンインストール方法は、ビルドディレクトリにて、

sudo ninja uninstall

最後に

また、新たなことが分かり次第、追記していきます。皆様のお役に立てることを願っております。

参考(ありがとうございました)

uninstallation - CMake support "make uninstall"? - Stack Overflow

setup.pyを用いてインストールしたモジュールのアンインストール方法 - Qiita

(C)2020 EnjoySoftware All rights reserved.