
rpmbuildコマンドを使おう †RPMでのアプリケーションのインストールははその性質上RPMファイルを一旦作成してからインストールする必要があります. ここではRPMファイルのビルドを行うrpmコマンドについて説明をします. rpmbuildコマンドのインストール †まずRPMのビルドはrpmbuildコマンドが使用できなければなりません. rpmbuildはパッケージ「rpm-build」をインストールします.インストールにはyumを使用します. パッケージ「rpm-build」のインストール
# /usr/bin/yum install rpm-build 依存関係も含め複数のパッケージがインストールされる場合があります. rpmbuildコマンドの使い方 †rpmbuildコマンドは名前の通りRPMをビルドするためのコマンドです. rpmbuildコマンドでよく使うオプションは下記の通りです. rpmbuildコマンドでよく使うオプション
rpmbuildに関連するディレクトリ †rpmbuildはデフォルトではディレクトリ「/usr/src/redhat」をベースにいくつかのディレクトリを目的別に使用します. rpmbuildがデフォルトで使うディレクトリは下記の通りです.
その他,仮想インストール時に使用するディレクトリとして通常「/var/tmp」が使用されます. [コラム]rootでRPMファイルを作らない †RPMファイルを作成する上で最も注意注意すべきことは「rootで作業をしない」ということです. これはなぜかというと,「make install」などを行ったときに場合によっては「本当にインストールしてしまう」からです. これでは「RPMでシステムを管理する」といった概念の根本から崩れてしまいます. 今回はまだディレクトリ「/usr/local」配下にインストールするSPECファイルなので,通常のシステムを破壊することはありませんが,ディレクトリ「/usr」にインストールするSPECファイルを書いていたときに,間違って本当にインストールをしてしまうと,おそらくシステムの破壊が始まってしまいます*4. そういった問題を回避するにはRPMファイルの作成は可能な限りrootではなく一般ユーザーで行います. ここでは一般ユーザーでRPMファイルを作成するための準備を説明します. なお,RPMファイルを作成するための一般ユーザーとしてユーザー「devel」を作成していると仮定します. 一般ユーザーでRPMファイルを作る準備 †まず一般ユーザー「devel」でログインします. 次に下記のようにしてRPMファイルのビルドに必要なディレクトリを作成します*5. ディレクトリを作成
$ rmkdir $HOME/rpm/{BUILD,SRPMS,SPECS,SOURCES,RPMS}
次に先ほど作成したディレクトリをRPMファイルのビルドに使用するようにマクロ設定ファイル「.rpmmacros」をホームディレクトリに作成します. 作業ディレクトリのトップディレクトリを表すマクロ変数「_topdir」があるので,それを指定するだけです. マクロ設定ファイル「.rpmmacros」を作成する
$ echo "_topdir $HOME/rpm" > $HMOE/.rpmmacros これで完了です. 先ほどのSPECファイルを用いて一度RPMファイルを作成をしてみてください. |