この文書は古い文書です。Checkinstall に関する新しい文書はこちらをご覧ください。

last update 2005年  9月 24日

Checkinstall で インストール

tar.gz から rpm、deb、tgz、を作成するアプリケーション

自分では spec が書けなくて…。そういう人にお薦め、Checkinstall。

tar ball だけが配布されているパッケージの場合、もちろんそのままインストールしても良いのですが、せっかくの rpm パッケージ管理システムがあるのだから、できれば rpm パッケージでインストールしたい。ちょっと試して期待外れだったり、不要になったら -e でアンインストールも簡単にできるし、バージョン管理も確実になる。spec さえ自分で書ければ世話は無いのですが、そもそもそこまでのスキルは無いという私にとってあまりにありがたいアプリケーション。
rpm 専用ではありません。パッケージ作成の際に Slackware の tgz 形式や deb 形式も選べます。

Checkinstall を tar ball からインストール
一般的に行われるインストール法

Checkinstall を rpm からインストール
checkinstall-1.6.0-1.i386.rpm のインストール法


Checkinstall の使い方
もっとも基本的な「既存アプリのアップグレード」の例

  tar ball からインストール


  Download


CheckInstall のオリジナル Web は http://asic-linux.com.mx/%7Eizto/checkinstall/ です。『DOWNLOAD』からパッケージをダウン ロードします。現在最新の checkinstall-1.6.0.tgz はパッケージビルド用のコマンド rpm と rpmbuild を自動判別するようです。また、このバージョン(1.6.x)から国際化機能をサポートしているようです。beta3 で翻訳した ja.po を本家に啓上してありますので、今後マージしてもらえるかもしれません(してくれませんでした。:-p 2005/09/)。旧版(checkinstall-1.5.3.tgz)とは違った挙動もありま す。

  Install


インストールはパッケージ展開後に make から始めます。
$ tar xvzf checkinstall*
$ cd checkinstall*
$ make
$ su

# make install
これでインストールは完了したのですが、rpm を作るアプリが tar ball インストールされているのもおかしなものです。既に稼働状態に入った checkinstall を使って checkinstall を rpm パッケージに作り直して上書きインストールします。
同じディレクトリで root のまま
# /usr/local/sbin/ checkinstall
フルパスで指定し、後は対話的 に作業します。

Please choose the packaging method you want to use.
Slackware [S], RPM [R] or Debian [D]?
には rpm パッケージが必要なら 『r』をタイプし Enter で進めます。

このとき、『{HOME}/rpm has no SOURCES directory. Please write the path to the RPM source directory tree:』というエラーが出る場合は、続けて 『root/rpm/』と指定するか、/root/.rpmacros の記述を絶対パスに変更します。

%_topdir ${HOME}/rpm
  ↓
%_topdir /root/rpm

これでエラーは出なくなります。

**********************************************************************

 Done. The new package has been saved to

 /home/ユーザ名/rpm/RPMS/i386/checkinstall-1.6.0-1.i386.rpm
 You can install it in your system anytime using:

      rpm -i checkinstall-1.6.0-1.i386.rpm

**********************************************************************

checkinstall-1.5.3.tgz まではパッケージインストールまでがデフォルト動作でしたが、checkinstall-1.6.0beta3.tgz からはパッケージビルドまでが自動で、インストールはマニュアルで行うように変更されたようです。
# rpm -Uvh /root/rpm/RPMS/i386/checkinstall-1.6.0-1.i386.rpm
としてインストールしましょう。tar ball が書き込んだファイル群を rpm パッケージが同じファイルで上書きします。機能自体は変わりませんが rpm コマンドで様々な情報も得られるようになります。

$ rpm -ql checkinstall

/usr/doc/checkinstall-1.6.0
/usr/doc/checkinstall-1.6.0/BUGS
/usr/doc/checkinstall-1.6.0/COPYING
/usr/doc/checkinstall-1.6.0/CREDITS
/usr/doc/checkinstall-1.6.0/Changelog
/usr/doc/checkinstall-1.6.0/FAQ
/usr/doc/checkinstall-1.6.0/INSTALL
/usr/doc/checkinstall-1.6.0/NLS_SUPPORT
/usr/doc/checkinstall-1.6.0/README
/usr/doc/checkinstall-1.6.0/RELNOTES
/usr/doc/checkinstall-1.6.0/TODO
/usr/doc/checkinstall-1.6.0/installwatch-0.7.0beta4
/usr/doc/checkinstall-1.6.0/installwatch-0.7.0beta4/BUGS
/usr/doc/checkinstall-1.6.0/installwatch-0.7.0beta4/CHANGELOG
/usr/doc/checkinstall-1.6.0/installwatch-0.7.0beta4/COPYING
/usr/doc/checkinstall-1.6.0/installwatch-0.7.0beta4/INSTALL
/usr/doc/checkinstall-1.6.0/installwatch-0.7.0beta4/README
/usr/doc/checkinstall-1.6.0/installwatch-0.7.0beta4/TODO
/usr/doc/checkinstall-1.6.0/installwatch-0.7.0beta4/VERSION
/usr/local/bin/installwatch
/usr/local/lib/checkinstall
/usr/local/lib/checkinstall/checkinstallrc-dist
/usr/local/lib/checkinstall/locale
/usr/local/lib/checkinstall/locale/es
/usr/local/lib/checkinstall/locale/es/LC_MESSAGES
/usr/local/lib/checkinstall/locale/es/LC_MESSAGES/checkinstall.mo
/usr/local/lib/installwatch.so
/usr/local/sbin/checkinstall
/usr/local/sbin/makepak


  rpm からインストール


  パッケージの概要


checkinstall-1.6.0-1.i386.rpm(checkinstall-1.6.0-1.src.rpm) は Vine Linux 用に作成した checkinstall-1.6.0-0v1.i386.rpm と同等のパッケージです。tar ball からインストール、rpm 化して再インストールという手間を省くことができます。Vine Linux 3.x Plus 用に作成したものですが、スクリプト部にはほとんど手を付けていないので他のディストリビューションでも動くと思います 。以前に公開していたcheckinstall-1.5.3-1 は noarch だったのですが、shared lib. の関係でアーキテクチャ依存になってしまうようです。

日本語化の ja.po をパッチしています。メッセージは概ね日本語化されますが、完全ではありません。翻訳してあるのに表示されない部分もあるので、オリジナルの国際化にバグ があるのかもしれません。インストールの動作には問題ありません。
デフォルトで rpm パッケージを制作します。途中で、作成するパッケージタイプ ( rpm、deb、tgz )の問い合わせは行われません。またインストールまでを自動で行うように設定しています。
パッケージのインストール場所が以下の様に変更されます。実行ファイル checkinstall は /usr/bin に置かれます。su で root になった場合でもフルパス指定は不要ですが、実行には root 権限が必要です。
メッセージの日本語化のために gettext に依存パッケージがあります。先にインストールしておいてください(無くてもメッセージが日本語化できないだけで、動作に必要というものではないので、少 しでもリソースを節約したい方は spec から 『Requires:  gettext』 を削除してもかまわないはずです。というか、日本語表示のために私が加えた Requires です)。
■ 
『{HOME}/rpm has no SOURCES directory. Please write the path to the RPM source directory tree:』というエラーには 『root/rpm/』と指定するか、/root/.rpmacros の記述を絶対パスに変更します。

%_topdir ${HOME}/rpm
  ↓
%_topdir /root/rpm

$ rpm -ql checkinstall

/usr/bin/checkinstall
/usr/bin/installwatch
/usr/lib/checkinstall
/usr/lib/checkinstall/checkinstallrc
/usr/lib/checkinstall/installwatch.so
/usr/lib/checkinstall/locale
/usr/lib/checkinstall/locale/ja
/usr/lib/checkinstall/locale/ja/LC_MESSAGES
/usr/lib/checkinstall/locale/ja/LC_MESSAGES/checkinstall.mo
/usr/sbin/makepak
/usr/share/doc/checkinstall-1.6.0
/usr/share/doc/checkinstall-1.6.0/BUGS
/usr/share/doc/checkinstall-1.6.0/COPYING
/usr/share/doc/checkinstall-1.6.0/CREDITS
/usr/share/doc/checkinstall-1.6.0/Changelog
/usr/share/doc/checkinstall-1.6.0/FAQ
/usr/share/doc/checkinstall-1.6.0/INSTALL
/usr/share/doc/checkinstall-1.6.0/NLS_SUPPORT
/usr/share/doc/checkinstall-1.6.0/README
/usr/share/doc/checkinstall-1.6.0/RELNOTES
/usr/share/doc/checkinstall-1.6.0/TODO
/usr/share/doc/checkinstall-1.6.0/installwatch-0.7.0beta4
/usr/share/doc/checkinstall-1.6.0/installwatch-0.7.0beta4/BUGS
/usr/share/doc/checkinstall-1.6.0/installwatch-0.7.0beta4/CHANGELOG
/usr/share/doc/checkinstall-1.6.0/installwatch-0.7.0beta4/COPYING
/usr/share/doc/checkinstall-1.6.0/installwatch-0.7.0beta4/INSTALL
/usr/share/doc/checkinstall-1.6.0/installwatch-0.7.0beta4/README
/usr/share/doc/checkinstall-1.6.0/installwatch-0.7.0beta4/TODO
/usr/share/doc/checkinstall-1.6.0/installwatch-0.7.0beta4/VERSION


インストールするには

# rpm -Uvh checkinstall-1.6.0-1.i386.rpm

としてください。通 常は新しいディレクトリ構成に再構成されますが、現在 checkinstall-1.6.0.tgz からインストールしたものを 利用している場合はいったんアンインストールする必要があるかもしれません。。
もちろん、Vine Linux ユーザで apt ラインを Plus に開いているなら

# apt-get install checkinstall

も OK です。依存関係のある gettext とともにインストールされます。

  Download


i386.rpm src.rpm
checkinstall-1.6.0-1.i386.rpm checkinstall-1.6.0-1.src.rpm

  Checkinstall の使いかた


例として Vine Linux 標準のメーラ、Sylpheed をアップグレードインストールしてみましょう。

http://sylpheed.good-day.net/ から最新の安定版をダウンロード、展開します。

$ tar zxvf sylpheed-*.tar.gz (または tar jxvf sylpheed-*.tar.bz2)
$ cd sylpheed-*/
$ ./configure --prefix=/usr (オ プション --prefixは Vine の sylpheed が /usr/local ではなく、/usr にインストールされる仕様に対応するためです)
$ make
$ su
# checkinstall

あとは対話的にパッケージにバージョンを指定したりして作業を進めます。

 http://www.vinelinux.org/manuals/using-rpm-4.html#id2550771 も参照してください。

NOTE

Vine Linux ユーザの 尹 (Yun) さんがcheckinstallを利用してspecファイルを作成するスクリプトを作成されました。
http://www.kids-clinic.jp/uni/spec.html
Vine users-ML で「関心のある方がいらっしゃれば改編・再配布はご自由にどうぞ。」とおっしゃってくださっています。
興味のある方は試してご覧になってご意見など差し上げると取り上げていただける "かも" しれません。

su - で root になった場合は /usr/local/sbin/ にパスが通っていますから
# checkinstall
とするだけで良いのですが、逆にカレントが /root に移動してしまいますので、再び
cd /home/hoge/checkinstall-1.6.0( or Package-hoge ) する必要があります。
「ならば、最初から su - して全て root で作業すれば良い」と考えるかもしれませんが、パッケージビルドは一般ユーザで行った方が(トラブルの元になりにくいので)良いとされています。
フルパスを覚えてしまう方が良いでしょう。

今回(ver.1.6)も同じ Vine Linux ユーザの 加藤 さんに多大なご協力をいただいきました(深謝)。

<<- to TOP page




inserted by FC2 system