同僚から一旦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' に入ります
/usr/local/src/zabbix-2.0.3/src/libs’ に入ります
Making install in libs
make[2]: ディレクトリ
~省略~
======================== インストールに成功しました ==========================
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にまとめて本番展開したりといった用途に最適かと思います。
簡単にアンインストールできるところがよろしいかと思います。
-
最近の投稿
最近のコメント
アーカイブ
- 2020年1月
- 2019年1月
- 2017年1月
- 2016年11月
- 2016年10月
- 2016年7月
- 2016年6月
- 2016年3月
- 2015年10月
- 2015年7月
- 2015年6月
- 2015年5月
- 2015年4月
- 2014年12月
- 2014年11月
- 2014年10月
- 2014年7月
- 2014年6月
- 2014年5月
- 2013年11月
- 2013年7月
- 2013年6月
- 2013年1月
- 2012年11月
- 2012年10月
- 2012年8月
- 2012年5月
- 2012年4月
- 2011年11月
- 2011年10月
- 2011年9月
- 2011年8月
- 2011年7月
- 2011年6月
- 2011年3月
- 2011年2月
- 2011年1月
- 2010年12月
- 2010年8月
カテゴリー
メタ情報