RPMをソースパッケージ(SRPM)からインストールする方法
小粋空間 » Linux » RPMをソースパッケージ(SRPM)からインストールする方法
RPMをソースパッケージ(SRPM)からインストールする方法を紹介します。
1.問題点
lvコマンドをLinuxにインストールしたいのですが、利用しているアーキテクチャのrpmパッケージが存在しません。
ということで、ソースパッケージからインストールする方法を紹介します。
2.RPMをソースパッケージ(SRPM)からインストールする
まず、ソースパッケージをダウンロードします。
今回利用したのはCentOS用の下記のパッケージです。
http://vault.centos.org/5.11/os/SRPMS/lv-4.51-8.1.src.rpm
ソースパッケージ(SRPM)からインストールするには、"rpmbuild"を利用します。
rpmbuildがインストールされていない場合は、yumでインストールします。
# sudo yum install rpm-build
rpmbuildコマンドでインストールを実行します。
# rpmbuild --rebuild lv-4.51-8.1.src.rpm
ちなみに初回は必要なパッケージが不足していて、下記のエラーになりました。
# rpmbuild --rebuild lv-4.51-8.1.src.rpm
lv-4.51-8.1.src.rpm をインストール中です。
警告: lv-4.51-8.1.src.rpm: ヘッダー V3 DSA/SHA1 Signature、鍵 ID e8562897: NOKEY
警告: ユーザー mockbuild は存在しません - root を使用します
警告: グループ mockbuild は存在しません - root を使用します
:
警告: ユーザー mockbuild は存在しません - root を使用します
警告: グループ mockbuild は存在しません - root を使用します
警告: 9 行目: buildprereq は非推奨: BuildPrereq: libtermcap-devel autoconf
エラー: ビルド依存性の失敗:
libtermcap-devel は lv-4.51-8.1.ppc64 に必要とされています
autoconf は lv-4.51-8.1.ppc64 に必要とされています
メッセージにしたがって、不足しているlibtermcap-develとautoconfをそれぞれyumでインストールし、lvを再インストール。
# rpmbuild --rebuild lv-4.51-8.1.src.rpm
lv-4.51-8.1.src.rpm をインストール中です。
:
(中略)
:
書き込み完了: /root/rpmbuild/RPMS/ppc64/lv-4.51-8.1.ppc64.rpm
書き込み完了: /root/rpmbuild/RPMS/ppc64/lv-debuginfo-4.51-8.1.ppc64.rpm
実行中(%clean): /bin/sh -e /var/tmp/rpm-tmp.6dAl8M
+ umask 022
+ cd /root/rpmbuild/BUILD
+ cd lv451
+ rm -rf /root/rpmbuild/BUILDROOT/lv-4.51-8.1.ppc64
+ exit 0
実行中(--clean): /bin/sh -e /var/tmp/rpm-tmp.Y3IStn
+ umask 022
+ cd /root/rpmbuild/BUILD
+ rm -rf lv451
+ exit 0
これで、
/root/rpmbuild/RPMS/ppc64/lv-4.51-8.1.ppc64.rpm
にRPMパッケージが配置されました。
あとはいつものrpmコマンドでインストールすればOKです。
# rpm -ivh /root/rpmbuild/RPMS/ppc64/lv-4.51-8.1.ppc64.rpm
準備しています... ################################# [100%]
更新中 / インストール中...
1:lv-4.51-8.1 ################################# [100%]
これでlvコマンドがインストールされました。
# lv
# lv v.4.51.a (Oct.30th,2005)
# All rights reserved. Copyright (C) 1996-2005 by NARITA Tomio
# ABSOLUTELY NO WARRANTY; for details type `lv -h'