6.5.2. ソース RPM からのバイナリー RPM の再ビルド


rpmbuild ユーティリティーを使用して、サンプルプログラムである bellopellocello のバイナリー RPM パッケージを、元の RPM(SRPM) パッケージから再ビルドします。その後、バイナリーパッケージを複数のシステムにインストールして実行できます。

バイナリー RPM の作成時に生成される出力は詳細なもので、デバッグに役立ちます。出力は例によって異なり、それぞれの spec ファイルに対応したものになります。

生成されたバイナリー RPM は、次のいずれかのディレクトリーにあります。

  • ~/rpmbuild/RPMS/YOURARCH。ここの YOURARCH はアーキテクチャーです。
  • パッケージがアーキテクチャー固有でない場合は ~/rpmbuild/RPMS/noarch/

前提条件

  • システムに rpmbuild ユーティリティーがインストールされている。

    # dnf install rpm-build

手順

  1. SRPM が含まれる ~/rpmbuild/SRPMS/ ディレクティブに移動します。

    $ cd ~/rpmbuild/SRPMS/
  2. SRPM からバイナリー RPM を再ビルドします。

    $ rpmbuild --rebuild <srpm>

    たとえば、bellopellocello をそれぞれの SRPM ファイルから再ビルドするには、以下の手順を実行します。

    1. bello プログラムを再ビルドします。

      $ rpmbuild --rebuild bello-0.1-1.el8.src.rpm
    2. pello プログラムを再ビルドします。

      $ rpmbuild --rebuild pello-0.1.2-1.el8.src.rpm
    3. cello プログラムを再ビルドします。

      $ rpmbuild --rebuild cello-1.0-1.el8.src.rpm
    注記

    rpmbuild --rebuild を呼び出すと、次のプロセスが実行されます。

    • SRPM の内容 (spec ファイルとソースコード) を ~/rpmbuild/ ディレクトリーにインストールします。
    • インストールされたコンテンツを使用して RPM をビルドします。
    • spec ファイルとソースコードを削除します。

    次のいずれかの方法でビルドすると、spec ファイルとソースコードを保持できます。

    • RPM をビルドするときに、--rebuild オプションではなく --recompile オプションを指定した rpmbuild コマンドを使用します。
    • bellopellocello プログラムの SRPM をインストールします。

      1. bello 用の SRPM をインストールします。

        $ rpm -Uvh ~/rpmbuild/SRPMS/bello-0.1-1.el8.src.rpm
        Updating / installing...
           1:bello-0.1-1.el8               [100%]
      2. pello 用の SRPM をインストールします。

        $ rpm -Uvh ~/rpmbuild/SRPMS/pello-0.1.2-1.el8.src.rpm
        Updating / installing...
        ...1:pello-0.1.2-1.el8              [100%]
      3. cello 用の SRPM をインストールします。

        $ rpm -Uvh ~/rpmbuild/SRPMS/cello-1.0-1.el8.src.rpm
        Updating / installing...
        ...1:cello-1.0-1.el8            [100%]
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

Red Hat ドキュメントについて

Legal Notice

Theme

© 2026 Red Hat
トップに戻る