ページ目次
CheckInstallとは
Wikipediaから拝借。
CheckInstallは、tarballで配布されているソースコードパッケージからのインストール・アンインストールを容易にするパッケージ管理システムである。
Wikipedia – CheckInstall
通常、CentOSではYumを使って様々なパッケージをインストール・管理します。そうすることで、インストール(及びアンインストール)やアップデートの際に各パッケージの依存関係を気にする必要がなくなります。
しかしながら、Yumを使わずにソースコードから直接インストールを行った場合、依存関係などは自分で管理しなければならなくなり、膨大な手間が必要となります(まず無理です)。これを解決してくれるがCheckInstallです。
インストールする
まずはGitのレポジトリをクローンします。自分の環境に合わせて任意の場所にクローンします。
# cd /usr/local/src
# git clone http://checkinstall.izto.org/checkinstall.git
CentOSに合わせて設定ファイルをいじる
いろいろと他の方のブログを拝見していると、どうやらインストールする前に設定をCentOS仕様に合わせないといけないようです。
【参考】
akishin999の日記: 64bit 版 CentOS での CheckInstall 導入方法
右往左往ブログ: CentOS6にcheckinstallを導入する
先程クローンしてできたcheckinstallディレクトリに移動し、ファイルの中身を書き換えます。参考にさせていただいたブログではsedコマンドで書き換えておられますが、viで書き換えても同じなので使い慣れたviで書き換えました。
以下の(checkinstallディレクトリ内の)3つのファイルに変更を加えます。
- checkinstallrc-dist
- installwatch/Makefile
- Makefile
順番に見ていきます。
checkinstallrc-dist
# cd checkinstall
# vi checkinstallrc-dist
# viで以下の部分を(上段を下段に)書き換える
#MAKEPKG=/sbin/makepkg
MAKEPKG=
#INSTYPE=""
INSTYPE="R"
#TRANSLATE=1
TRANSLATE=0
#EXCLUDE=""
EXCLUDE="/selinux"
installwatch/Makefile
次にinstallwatch.soのインストール先を指定するため、installwatchディレクトリ内のMakefileをいじります。
# vi installwatch/Makefile
# 14行目あたりのLIBDIR=$(PREFIX)/libを変更
LIBDIR=$(PREFIX)/lib64
ちなみに当初、上記の変更はいらないのでは?と、思い、変更せずにデフォルトのままビルドしてみたら、ちゃっかりエラーが起こっていました(汗)。どうやらここの変更は必須のようです。
正直、他のところの設定をいじれば大丈夫なような気がしないでもないですが、いかんせん、わかんなーい(爆)。
Makefile
最後にMakefileの設定をいじりますが、参考ブログ内での説明によると、設定ファイルの配置場所の指定に関するものらしいので、必ず変更しないといけないという訳でもなさそうです。
# vi Makefile
# CONFDIR=$(PREFIX)/lib/checkinstall
CONFDIR=$(PREFIX)/etc
これでビルド前の設定は完了です。
make & make install
makeコマンドを打ってビルドします。make installのところで質問されます。最初の選択肢には「y」、2つ目はRPMを示す「R」、と入力し、あとはEnterで大丈夫です。
# make
# make install
完了すると、下記のようなメッセージが表示され、checkinstall自体のrpmが作成されます。メッセージに従いインストールしておきましょう。
checkinstallのrpmをインストール
上で表示されたディレクトリに移動して、rpmをインストールします。
# cd /root/rpmbuild/RPMS/x86_64
# rpm -ivh checkinstall-20170316-1.x86_64.rpm
これでcheckinstall自体のパッケージが管理できるようになりました。以上でcheckinstallのインストールは終了です。