第23章では自分自身の学習「LINUXプライベートキッチンの鳥兄弟」のパッケージソフトウェアの最近の例。本人によると、彼はrpmパッケージ(1804年5月7日(コア)CentOSのLinuxリリース)を作成するためのCentOS7一般的な手順の最新版をまとめたことを知りました。
まず、私たちはCentOSの古いバージョンでは、いくつかの基本的な知識を知っている必要があり、rpmbuildのツールのデフォルトの作業ディレクトリはは/ usr / src / redhatの、権利上の理由から、rootユーザーのみに切り替えるには、一般ユーザのアイデンティティrpmパッケージを作ることができないだけで生成することができます。CentOSのの新しいバージョンでは、一般ユーザのホームディレクトリに作業ディレクトリはrpmbuildのrpmbuildのツールとして新しいディレクトリを作成することができます。そして、新しいバージョンでは、出版社は、システム・ライブラリ・ファイルやその他の損傷を防ぐために、rpmパッケージを作成するには、rootとして使用していないことが示唆されました。
----------------
免責事項:この記事は、元の記事のCSDNブロガー「ハッピー後藤声明」で、CC 4.0 BY-SAの著作権契約書に従って、再現し、元のソースのリンクを添付してくださいそしてこの文。
オリジナルリンクします。https://blog.csdn.net/u010384744/article/details/80929319
詳細な手順
まず、インストールに必要なツール
これらは、C言語で作成することがインストールパッケージを使用している場合、また、GCCコンパイラをインストールする必要があり、メイクツールが含まれています。最も重要なことは、rpmbuildのツールをインストールすることです。次のようにコマンドは次のとおりです。
yumを インストール します yumを インストール gccの yumを インストール rpmbuildのを
第二には、回転数を作るの作業ディレクトリを作成します
RPMを作成する作業ディレクトリを作成するには、一般的には、ユーザーのアイデンティティのホームディレクトリの下のディレクトリ構造を作成する必要があります。
rpmbuildのディレクトリは、を含むディレクトリカタログのほか、6、として次のようBUILD、BUILDROOT、RPMS、SOURCES、SPECS、SRPMS、コマンドは次のとおりです。
MKDIR -p〜/ rpmbuildの/ {BUILD、BUILDROOT、RPMS、SOURCES、SPECS、SRPMS}
各ディレクトリの一般的な目的は、のように説明し、次のとおりです。
BUILDコンパイルrpmパッケージを一時ディレクトリ
BUILDROOTソフトウェアの一時インストールディレクトリのコンパイル後に生成された
最終的に生成されるディレクトリRPMSはRPMパッケージをインストールすることができ
、すべてのソースコードやパッチファイルSOURCESディレクトリ
SPECS格納ディレクトリSPECファイル(重要)
SRPMSソフトウェア決勝をRPMソースフォーマットのストレージ・パス
第三に、tarballを生成し、生産ソースコードファイル
ここでは、ソースコード「LINUXプライベートキッチンの鳥兄弟」の主な用途は、プレゼンテーションで提供します。実行可能ファイル、スクリプトファイル、ユーザーマニュアル、設定ファイルや他のいくつかのファイルが含まれる可能性があり独自のソースコードパッケージ。そして、SOURCESディレクトリに置か圧縮パッケージをパッケージ化。
タール -zcvメーン-f 0 .L。タールメーン.gzを0.1 #の仮定はソースコードディレクトリは=>メーンパックするホームディレクトリの下に存在しているが含ま0.1 CPメーン0.1。タール .gzを〜/ rpmbuildの/ SOURCES#パッケージ化され、次のディレクトリソースにソースコードをコピー
第四に、新しい設定ファイル* .spec
このスペックファイルを設定すると、全体のパッケージングプロセスでは、最も重要な部分であり、慎重に設定する必要があります。ディレクトリ内のSPECS新しいディレクトリ、文書セット、前記それぞれのマクロファイル名に(例えば、%をインストール)は、特定の意味文献[4]を参照します
[ユーザーID @ホスト名〜] $ CD〜/ rpmbuildの/ SPECS [ユーザーID @ホスト名〜] $ VIM main.spec 1 名:メインの 2バージョン: 0.1 3リリース: 1%{?DIST} 4 概要:計算罪及び値COS 5 6 ライセンス:GPL 7 URL:HTTP:// linux.vbird.org 8 Source0:メーン0.1。タールの.gz 9 10 11%の説明 12このパッケージウィルあなたを聞かせてINPUTお名前と計算罪とCOS値 13が 14%プレップ 15%のセットアップ- Q 16 。17 18がある%のビルド#のコンパイルコマンドは、コンパイラはBUILDディレクトリに一時ファイルを紹介します 19。 メイク 20は、 21である%インストール22のIS RM -rf%{} buildroot 23はMKDIR -p {%} buildrootは/ usr / local /ビン#テストマクロbuildroot {} =〜%/〜/ rpmbuildの/ bUILDROOTディレクトリにインストールコンパイルされたソースコードrpmbuildの 24 makeがインストール RPM_INSTALL_ROOTの%= {} buildroot 25 26である% インストールパッケージ生成RPM場合ディレクトリは、#最終的なインストールファイル 27は/ usr / local /ビン/ 主 28 29 30%のChangeLog 31である 07月水* 4 2018 VBirdツァイ<[email protected]> 0.1 32 -プログラムをビルドします
第五に、RPMとSRPMにコンパイル
次のコマンドを入力し、終了0は、最終的なプレゼンテーション・ジェネレータの成功に表示されます。
[ユーザーID @ホスト名〜] $ rpmbuildの-ba main.spec
6、インストールおよびテスト
インストールしてテストするには、次のコマンドを入力します。
[ユーザーID @ホスト名〜] $ rpmで -ivh〜/ rpmbuildの/ RPMS / x86_64版/メイン0.1-1.el7.x86_64.rpm#がメインマウント
[ユーザID @ホスト名〜] $#RPM -qlメイン検索メインのインストールパス
[ユーザーID @ホスト名〜] $ rpmで-qiメイン#がメインの情報を問い合わせます
VIIノート
ディレクトリやファイルは/ usr / local / binのディレクトリに同じ名前が存在することはできません
八の参考文献
【1】https://www.cnblogs.com/masterpanda/p/5700453.html
【2】https://access.redhat.com/sites/default/files/attachments/rpm_building_howto.pdf
【3】https://wiki.centos.org/HowTos/SetupRpmBuildEnvironment
【4】https://docs.fedoraproject.org/quick-docs/en-US/creating-rpm-packages.html#con_rpm_spec_file_overview