checkinstallでRPMパッケージを作ってみる(CentOS6.3)

同僚から一旦RPMにしてからインストールしたほうが便利と言われたので、RPM化の方法を検証したわけですよ。
checkinstallという物を使えばいいらしい…

OS:CentOS 6.3 64bit
カーネルバージョン:2.6.32-279.11.1.el6.x86_64
本体:ThinkPadX61
gcc:4.4.6 (yumからインストール)


# cd /root
必須パッケージをインストールします。
# yum intall git rpm-build
gitのリポジトリから取得しないとダメなんです。
# git clone http://checkinstall.izto.org/checkinstall.git

ライブラリのエラーが出るのでリンクを作っておきます。
# ln -s /usr/local/lib/installwatch.so /usr/local/lib64/installwatch.so

初期ディレクトリがないので作成します
# mkdir -p /root/rpmbuild/SOURCES
# cd /root/checkinstall
コンパイルします。
# make
# make install

とりあえず実験対象としてZabbix2.0.3を使用します。
# cd /usr/local/src/zabbix-2.0.3
# CFLAGS=”-O3 -Wall -march=native” CXXFLAGS=”-O3 -march=native” \
./configure –prefix=/usr/local/zabbix-2.0.3 \
–enable-server –enable-ipv6 –with-mysql \
–with-net-snmp –with-jabber –with-libcurl \
–with-ldap –with-openipmi –with-ssh2 –with-unixodbc
例によって最適化オプションを山盛りですが、他のマシンでも使いまわす時は「-march=native」を外したほうがいいと思います。

# checkinstall
実行すると作成するパッケージの種類や説明文を変更できます。
RPM以外にも対応しています。
特に変更しないので有ればパッケージ種別を指定外はEnter連打でよろしいかと思います。

checkinstall 1.6.3, Copyright 2010 Felipe Eduardo Sanchez Diaz Duran
このソフトウェアはGNU GPLの下でリリースしています。

The checkinstallrc file was not found at:
/usr/local/sbin/../checkinstallrc

デフォルトの内容を使うものとします

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

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

使用するパッケージ方式を選んでください。
Slackwareなら[S], RPMなら[R], Debianなら[D]を入力R


このパッケージの説明を書いてください
説明の末尾は空行かEOFにしてください。
>>

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

このパッケージは以下の内容で構成されます:

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

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

Installing with make install…

========================= インストールの結果 ===========================
Making install in src
make[1]: ディレクトリ /usr/local/src/zabbix-2.0.3/src' に入ります
Making install in libs
make[2]: ディレクトリ
/usr/local/src/zabbix-2.0.3/src/libs’ に入ります

~省略~

======================== インストールに成功しました ==========================

Copying documentation directory…
./
./NEWS
./ChangeLog
./README
./COPYING
./AUTHORS
./INSTALL

tempディレクトリにファイルをコピー..OK

Stripping ELF binaries…OK

manページを圧縮..OK

ファイルリストを作成..OK

RPMパッケージを作成..OK

注意: パッケージはインストールされません

tempファイルを削除..OK

doc-pakディレクトリを削除..OK

バックアップパッケージを書き込み..OK

temp dirを削除..OK


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

Done. The new package has been saved to

/root/rpmbuild/RPMS/x86_64/zabbix-2.0.3-1.x86_64.rpm
You can install it in your system anytime using:

rpm -i zabbix-2.0.3-1.x86_64.rpm

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

RPMからインストールをテストしてみる
# rpm -ivh –test /root/rpmbuild/RPMS/x86_64/zabbix-2.0.3-1.x86_64.rpm
特に表示がなければOK

インストールする場合は以下のとおり
# rpm -ivh /root/rpmbuild/RPMS/x86_64/zabbix-2.0.3-1.x86_64.rpm

複数のマシンにインストールしたり、通常のmakeで検証してからRPMにまとめて本番展開したりといった用途に最適かと思います。
簡単にアンインストールできるところがよろしいかと思います。

カテゴリー: Linux, コンピュータ パーマリンク

コメントは停止中です。