make uninstall・・・

練習のためにソースからコンパイルして
インストールしたアプリを、実際には使わないので
アンインストールしたいけどどぉやるん?という
あまり触れたくない部分の質問がきました。(笑
あまり触れたくないのはインストールはともかく
アンインストールは難易度が高く、電話での説明じゃ
理解して貰えそうにないからです。
また拙生自身もあまりやらない作業であります。
       =あまり詳しくない。。。^^;;

現在Linuxのアプリケーションソフトのインストールや
アンインストールはwindows同様ほとんどがパッケージで
行なわれます。
昔と違ってパッケージ管理のほうが簡単・早いそして
安全かつ確実なんです。
しかしパッケージが用意されていないものは面倒でもソースから
コンパイルしてインストールすることになります。
昔はこの作業がほとんどだったため、LinuxやUnixのハードルを
高くしていた原因の一つでありました。
しかしやってみるとインストールはそれほどハードルは
高くないと思うのですが?

一般的手順

・ソースをダウンロード
・圧縮してあれば解凍
・解凍したディレクトリ(フォルダ)に移動
・環境を調査して依存設定
・上記設定に基づきアプリのコンパイル
・コンパイルされたアプリをインストール

なんか難しそうですねぇ。
でもいくつかのコマンドを叩くだけで意外と
簡単ですから大丈夫です。

例としてこのサイトにqqq.tar.gz(圧縮されたファイル)
というソースが落ちていて、これをダウンロードして
インストールするコマンド達です。
 *実際には置いてありませんのであしからず。

wget http://oba-q.com/qqq.tar.gz ダウンロード
tar zxvf qqq.tar.gz 圧縮ファイル.tar.gzを展開
cd qqq 展開先ディレクトリへ移動
./configure && make && make install
 && で連結して手順の下3つを一気に実行(1個ずつでもOK)

スクリプトでコマンド達を書き連ねている場合は
install.sh等を実行させるなどいくつか方法があり
やり方が異なることもありますが、殆どがたった
これだけなんです。

さてさて、やっとアンインストールのお話です。

インストールはそれほどでなくてもどちらかと言うと
アンインストールのほうがハードルは高いと思います。
アンインストールを知るためにはインストールの
仕組みを知る必要があるためちょっとだけ解説します。

手順の4番目にある環境を調査して依存設定というのは
インストールに必要なライブラリや環境変数やなどが
コンピュータ内にちやんと設置・設定されているかを
チェックしてその結果をMakeFileに記録します。
           コマンドは  ./configure

作成されたMakeFileに従いコンパイルが行われます。
            コマンドは make
  *コンパイルとは
   簡単に言うとプログラム言語をコンピュータが
   認識できる言葉に変換する作業です。

インストールのコマンドは make install です。

ここで親切なMakefileにはuninstallが定義されます。
その場合ディレクトリ内で make uninstall という
コマンドを実行するだけでアンインストールされちゃいます。
な〜んだ、簡単じゃん、って?
でも。。。しかし。。。なのですよ。
Makefileのuninstall定義を覗いてみると。。。。
コンパイル時に行った環境設定ファイルを削除している
だけだったりするので、表面的にはいなくなりますが
ドキュメントファイルなどは残されたまま。。。
つまり完全削除するとなると手作業が伴うわけです。
またuninstallの定義がされていないことも多く、
その場合Makefileでパスなどを確認しながらの手作業が
全てとなるため、それなりのスキルが必要となるわけです。

ま、Windowsにしてもアンインストールしたフリをして
実際にはライブラリ(DLL)なんかが残っているケースは
多々ありますけどね。
もちろんLinuxにもライブラリがあり複数のアプリ等で
使い回ししているものは共有ライブラリといいます。
これまで削除しちゃうとシステムが不安定になったりする
可能性があるので、HDDの肥やしになっても良いから
むやみに消しちゃわないほうが無難と言えるでしょう。

まずは make uninstall を試してください。
駄目だったら・・・諦めましょ。。。
ではなくって、またのご連絡をお待ちします。ww

HOME

おすすめ