「CheckInstall」によるパッケージの作成

rpm形式やdeb形式のパッケージを簡単に作成できる「CheckInstall」の導入方法。
なお、ここではrpm形式のパッケージを作成するものとして作業する。

「CheckInstall」のインストール

ソースからのインストール

まずソースをダウンロードしてインストールする。
その後、管理を行いやすくする為、rpmパッケージにして上書きインストールする。

Linux# mkdir /usr/local/src/checkinstall <= 作業用ディレクトリの作成
Linux# chmod 777 /usr/local/src/checkinstall <= 作業用ディレクトリに書き込み権限付加
Linux# exit <= 一般ユーザになる
Linux$ cd /usr/local/src/checkinstall <= 作業用ディレクトリへ移動
Linux$ wget http://asic-linux.com.mx/%7Eizto/checkinstall/files/source/checkinstall-1.6.1.tgz <= 「paco」のダウンロード
Linux$ tar xzf checkinstall-1.6.1.tgz <= ダウンロードしたファイルの展開
Linux$ cd checkinstall-1.6.1 <= 展開したディレクトリに移動
Linux$ make | tee make.log 2>&1 <= コンパイル
Linux$ su - <= スーパーユーザになる
Password: <= パスワードの入力
Linux# cd /usr/local/src/checkinstall/checkinstall-1.6.1 <= 作業用ディレクトリへ移動
Linux# make install | tee make-install.log 2>&1 <= インストール

rpmパッケージによる上書きインストール

上記の作業で「CheckInstall」がインストールされたが、「CheckInstall」自身もrpmパッケージとして管理する為、 以下のようにrpmパッケージにして上書きインストールする。
なお、この作業は上記のmake installコマンドを実行したパスに移動して実行する。

Linux# cd /usr/local/src/checkinstall/checkinstall-1.6.1 <= 作業用ディレクトリへ移動
Linux# checkinstall

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



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


**************************************
**** RPM package creation selected ***
**************************************

This package will be built according to these values: 

1 -  Summary: [ CheckInstall installations tracker, version 1.6.1 ]
2 -  Name:    [ checkinstall ]
3 -  Version: [ 1.6.1 ]
4 -  Release: [ 1 ]
5 -  License: [ GPL ]
6 -  Group:   [ Applications/System ]
7 -  Architecture: [ i386 ]
8 -  Source location: [ checkinstall-1.6.1 ]
9 -  Alternate source location: [  ]
10 - Requires: [  ]
11 - Provides: [ checkinstall ]

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

これで、/usr/src/redhat/RPMS/i386/checkinstall-1.6.1-1.i386.rpm が出来たのでrpmコマンドによりインストールする。
ただし、「CheckInstall」のヴァージョン1.6.1にはバグがあり、

エラー: アーカイブの伸長に失敗: ファイル /bin/sed;47779bda: cpio: MD5 チェックサムが適合しません。

というメッセージが表示される為、--nomd5オプションを付加してインストールする。

Linux# rpm -ivh --nomd5 /usr/src/redhat/RPMS/i386/checkinstall-1.6.1-1.i386.rpm <= 「CheckInstall」のインストール
「CheckInstall」によるパッケージの作成

pacoのrpm化

ここでは、「paco」をrpm化する。

Linux# mkdir /usr/local/src/paco <= 作業用ディレクトリの作成
Linux# chmod 777 /usr/local/src/paco <= 作業用ディレクトリに書き込み権限付加
Linux# exit <= 一般ユーザになる
Linux$ cd /usr/local/src/paco <= 作業用ディレクトリへ移動
Linux$ wget http://jaist.dl.sourceforge.net/sourceforge/paco/paco-1.10.8.tar.gz <= 「paco」のダウンロード
Linux$ tar xzf paco-1.10.8.tar.gz <= ダウンロードしたファイルの展開
Linux$ cd paco-1.10.8 <= 展開したディレクトリに移動
Linux$ ./configure --disable-gpaco | tee configure.log 2>&1
Linux$ make | tee make.log 2>&1 <= コンパイル
Linux$ su <= スーパーユーザになる
Password: <= パスワードの入力
Linux# /usr/local/sbin/checkinstall <= 「paco」のrpm化

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


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

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

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.
>> <= 空Enter

**************************************
**** RPM package creation selected ***
**************************************

This package will be built according to these values: 

1 -  Summary: [ Package created with checkinstall 1.6.1 ]
2 -  Name:    [ paco ]
3 -  Version: [ 1.10.8 ]
4 -  Release: [ 1 ]
5 -  License: [ GPL ]
6 -  Group:   [ Applications/System ]
7 -  Architecture: [ i386 ]
8 -  Source location: [ paco-1.10.8 ]
9 -  Alternate source location: [  ]
10 - Requires: [  ]
11 - Provides: [ paco ]

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


Linux# rpm -ivh --nomd5 /usr/src/redhat/RPMS/i386/paco-1.10.8-1.i386.rpm <= rpm化した「paco」のインストール

「CheckInstall」の実行方法

「CheckInstall」では、引数なしでcheckinstallコマンドを実行すると、デフォルトでmake installが引数として実行される。
その為、インストール時のコマンドがmake installでは無い場合、以下のようにそれぞれのソフトに合わせて変更する。

Linux# checkinstall install.sh
Linux# checkinstall setup

また、設定ファイルが
/usr/local/lib/checkinstall/checkinstallrc
にあるので、デフォルト値を変更する場合等は設定を変更する。

▲ページのトップへ