ソースファイルからインストールしたものをアンインストールしようとすると、結構面倒なことになることが多い。
というのも、yumやrpmみたいにパッケージとして管理されてないので、コマンド一つでアンインストールが
できないからだ。

必然手動で関連ファイルを消したりパスを変更したりせねばならず。大変面倒だし、うっかり消してはいけない
ものまで消してしまったりするので色々面倒なことになりかねない。

そこでCheckInstallというソフトを使う。
これを使えば本来はSpecがなければ作成できないRPM等のパッケージが作れるという優れもの。

さっそく本体をインストール。

wget http://asic-linux.com.mx/~izto/checkinstall/files/rpm/checkinstall-1.6.1-1.i386.rpm
rpm -ivh checkinstall-1.6.1-1.i386.rpm

ここでは別の作業でインストールしたlibrsyncを例にする。
作成したいソースのフォルダ内に入ったところから、通常通りに
./configureとmakeを行い、make installとするところを代わりに
checkinstallと入力する。という手順をとる。

例としてlibsyncを使用。

checkinstall

checkinstall 1.6.1, Copyright 2002 Felipe Eduardo Sanchez Diaz Duran
           This software is released under the GNU GPL.

The checkinstallrc file was not found at:
/usr/local/lib/checkinstall/checkinstallrc

Assuming default values.

The package documentation directory ./doc-pak does not exist.
Should I create a default set of package docs?  [y]: y

パッケージのドキュメンテーションを準備..OK

パッケージの種類を選択、コメントの作成、そのほか細かい設定。
パッケージの種類以外はすべてEnterを押してしまってもあまり問題はなさそう。

Please choose the packaging method you want to use.
Slackwareなら[S], RPMなら[R], Debianなら[D]を入力r

このパッケージの説明を書いてください
End your description with an empty line or EOF.
>> RPM package for libsync
>>
**************************************
**** RPM package creation selected ***
**************************************

This package will be built according to these values:

1 -  Summary: [ RPM package for libsync ]
2 -  Name:    [ librsync ]
3 -  Version: [ 0.9.7 ]
4 -  Release: [ 1 ]
5 -  License: [ GPL ]
6 -  Group:   [ Applications/System ]
7 -  Architecture: [ i386 ]
8 -  Source location: [ librsync-0.9.7 ]
9 -  Alternate source location: [  ]
10 - Requires: [  ]
11 - Provides: [ librsync ]

変更するものの番号を入力してください。Enterで続行します:

で、あとは通常のRPMと同様にインストール可能。ただし、このバージョンのcheckinstall
は割とアレゲなバグがあって、インストールしようとするとMD5チェックエラーおこしてインストールが失敗してしまうので、オプションでMD5チェックをしないようにする必要がある。

rpm -ivh --nomd5 /usr/src/redhat/RPMS/i386/librsync-0.9.7-1.i386.rpm

残念ながら確実にパッケージ化できるわけではないので注意が必要。