【簡単に解説】RPMパッケージを作成する方法

rpmパッケージの作成方法
  • このエントリーをはてなブックマークに追加
  • Pocket

このページではRPMパッケージ作成の方法を紹介する。

初心者の方であれば、とりあえず知らずともまったく問題がない。Linux入門を上から確認している方は、飛ばしてもいいだろう。

パッケージを作成するときはシステムに致命的な損傷を与えないよう、一般ユーザ権限でホームディレクトリの下で行うことをお勧めする。

環境準備

まずは開発環境をインストールする。

# yum install rpm-build

install rpm-build

# yum groupinstall 'Development tools'

install devel-tools

CentOSではこの二つのコマンドを叩くとRPM開発環境が整う。

RPMパッケージの作成

src.rpmファイルのダウンロード

多くのRPMパッケージにはバイナリパッケージとソースパッケージが用意されている。ソースパッケージはSRPMと呼ばれ、.src.rpmという拡張子がつく。

準備が整ったら「src.rpm」ファイルをダウンロードしてみよう。

$ yumdownloader –source unzip

yumdownloader --source unzip

とするとダウンロードできる。今回unzipのsrc.rpmをダウンロードした。

unzip-dir

上の図の「rpmbuildディレクトリ」に関してはRPMパッケージを作る過程で作成されるので現段階で存在しなくても問題ない。

$ rpm -ivh unzip-6.0.15.el7.src.rpm

でホームディレクトリにソースファイルを一式インストールする。警告が出るが今回は気にしなくて大丈夫だ。

source-unzip-rpm-ivh

ビルドのためのインストール

# yum-builddep /home/<hoge>/rpmbuild/SPECS/unzip.spec

このコマンドでunzipをビルドするためのヘッダやライブラリ群などがインストールされる。

yum buildep unzip

一旦ここで/home/<hoge>/rpmbuild/SOURCESの下を覗いてみよう。大本のソースファイルと多数のパッチが見えるはずだ。CentOSは保守的なので一定のバージョンをパッチで補正してセキュリティを保つため、少々枯れたバージョンに多数のパッチが提供される形になる。

unzip build source

/home/<hoge>/rpmbuild/SPECSの下にはRPMを生成するための<hoge>.specというファイルが置かれる、これはRPMパッケージを作成するためのいわば「レシピ」だ。

unzip build specs

試しに覗いてみよう。

vi unzip-spec

概要とバージョン、ライセンスなどが記述され、ソースはどこから持ってきたものなのか?どのようなパッチがあるかが記載される。

unzip spec1

次は詳細概要とパッチをどうあてるかが記述されている。

unzip spec2

ここの段階でmake及びmake install が実行される。今回はconfigureの項目がないがほかのパッケージでは多くのものがconfigureする項目が存在する。最後は変更履歴などが記載されている。

unzip spec3

ビルド

実際にspecファイルをもとにビルドしてみよう。

$ rpmbuild -ba unzip.spec

rpmbuild unzip-spec

今回は特に変更を加えていないのでエラーは出ないはずだ、正常に完了すると以下のようになる。

comp unzip-build

$ ls ~/rpmbuild/RPMS/x86_64/

としてみるとパッケージが出来上がっているのが確認できる。

my rpm unzip

デバッグ情報用のパッケージも出来上がる。今回作ったパッケージはすでにシステムに既存するものなので再度インストールする必要はない。

$ rpm -qip unzip-6.0.15.el7.centos.x86_64.rpm

などとして情報を確認してみよう。公式パッケージとはいくらか異なる項目があるのがわかると思う。今回src.rpmを使ってパッケージをリビルドしたが、もちろん

  • ~/rpmbuild/SOUECES
  • ~/rpmbuild/SPECS

の中に自分で

  • ソースファイルやパッチファイル、
  • specファイル

を用意することで自作パッケージが作成可能なので、興味のある方はぜひ自分でパッケージを制作してみてほしい。

まとめ

このページではRPMパッケージを作成する方法についてお伝えした。

なかなか作る機会はないかもしれないが、そういった必要性が出てきたとき、参考にしていただければと思う。

  • このエントリーをはてなブックマークに追加
  • Pocket

このページの続きや関連ページは下記から一覧で確認できます。

IT講師に興味はありませんか?

・「今までIT講師をやってきたが、更に多くの講義を行いたい」

・「エンジニアとしてやってきたが講師業に魅力を感じている」

・「講師として活躍するためにベースとなる知識を知りたい」

・「様々な分野や言語の講師にチャレンジしてみたい」


という方はぜひIT講師募集のページをご覧ください。


リスキルテクノロジーでは「受講している方々にITを好きになってもらう」ことを目標に、同じ目標に向かって歩んで行ける講師の方を常に探しています。


システム開発やインフラ構築などのエンジニアリング経験を活かし、新入社員などの未経験者や経験の浅い初学者の方々に対してITトレーニングを行っていただくことになります。


テキストやカリキュラムは事前に用意されており、それらを元に講義を進めていくため、IT講師をはじめて実施する方でも安心してトレーニングを実施できます。


IT講師募集のページを見る

SNSでもご購読できます。

コメント

コメントを残す

*

未経験からの育成制度も充実
IT講師に興味はありませんか?

リスキルテクノロジーでIT講師の積極募集を開始! 経験・未経験問わずご応募可能。育成制度で講師スキル向上も目指せます

IT講師に応募する