スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

CentOS 5.4 x64でSRPMからRPMにリビルドする方法

タックス

SRPM(src.rpm)ファイルを、RPMファイルにリビルドして、CentOS5でも使えないかなと思ったりしたことないですか?
先日のブログ記事でも書きましたが、現在の最新版であるCentOS 5.4は、古いパッケージの集まりとなってしまい、新しいパッケージを使用する場合は、ソースからコンパイルするしか方法がありません。
しかし、CentOSにはRPMがあったりyumがあったりするので、ソースからコンパイルすることは極力避けたいはずです。
そのためには、自力でSPECファイルを書いて、リビルドしRPMファイルを作成しなければなりませんが、これもまた敷居が高い。
そんな時のために、実は手軽にRPMをリビルドできるかもしれないという方法を、ご紹介したいと思います。

実は、Fedora用のSRPMの中には、CentOSも考慮されているパッケージがあり、リビルドするとCentOSでも使えてしまうパッケージがあったりします。
そんな時は迷わず、SRPMをダウンロードし、以下のコマンドでリビルドしてみて下さい。

# rpmbuild --rebuild xxxxx-x.x.x.src.rpm

wingリポジトリにあるSRPMからでしたら、
# rpmbuild --rebuild --define 'dist .el5_wing' xxxxx-x.x.x.src.rpm
とリビルドしてくれるとありがたい…


rpmbuildコマンドが無い場合は、以下を実施してからrebuildして下さい。

# yum install -y rpm-build gcc make

作業が終わりますと、/usr/src/redhat/RPMS/x86_64に、出来上がったRPMファイルがあるはずです。
もしも、依存関係でリビルドできない場合も、yumコマンドで依存関係にあるものをあらかじめインストールしてからリビルドすれば、可能なはずです。

また、自力で既存のsrc.rpmを元に最新のパッケージをリビルドしたいということもあるでしょう。
このような場合、SPECファイルを編集しなければなりませんが、以下の手順で修正することが可能です。

# rpm -ivh xxxxx-x.x.x.src.rpm
# vi /usr/src/redhat/SPECS/xxxxx.spec
# rpmbuild -ba /usr/src/redhat/SPECS/xxxxx.spec

※ソースやパッチなどは/usr/src/redhat/SOURCESに入っています。

または、

# mkdir ./xxxxx
# cd ./xxxxx
# wget http://xxxxx/xxxxx-x.x.x.src.rpm
# rpm2cpio xxxxx-x.x.x.src.rpm | cpio -i
# vi ./xxxxx.spec
# mv ./xxxxx.spec /usr/src/redhat/SPECS/
# mv ./* /usr/src/redhat/SOURCES/
# rpmbuild -ba /usr/src/redhat/SPECS/xxxxx.spec


とすることもできます。
大幅な改修などがある場合は、後半のやり方の方が良いと思います。
いずれの方法も作業後は/usr/src/redhat/RPMS/にはリビルドされたパッケージ、/usr/src/redhat/SRPMS/にはSRPMパッケージが格納されています。

specファイルの編集方法などについては、また別の機会に…(まだ自分も適当なため…)
最初はちょっとだけバグフィックスされた最新版のソースと、その前のバージョンのsrc.rpmファイルを使って、適当にspecファイルを編集して最新版のRPMを作ることから勉強してみると良いかもしれません。

以下、参考リンクです。

Wikipedia(Linux)
Wikipedia(CentOS)
Wikipedia(RPM Package Manager)

関連記事


FC2Blog Rankingblogram投票ボタンとれまが人気ブログランキングブログランキング・にほんブログ村へ
くる天 人気ブログランキングにほんブログ村 IT技術ブログ CentOSへ

テーマ : Linux
ジャンル : コンピュータ

コメントの投稿

非公開コメント

プロフィール

WING☆

Author:WING☆


カレンダー
07 | 2017/08 | 09
- - 1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31 - -
最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
カウンター
お問い合わせ

名前:
メール:
件名:
本文:

WING☆からのお知らせ
  • CentOS 7設定集
  •    └wingリポジトリ(el7)

  • CentOS 6 x64設定集
  •    └wingリポジトリ(el6)

  • CentOS 5 x64設定集
  •    └wingリポジトリ(el5)



    My Yahoo!に追加

    FC2ブログランキング



    リンク
    ブロとも一覧
    Virtualization & Sever Maniax
    RSSリンクの表示
    QRコード
    QRコード
    ブロとも申請フォーム

    この人とブロともになる

    上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。