Windows system >> Windowsの知識 >  >> Linuxシステムチュートリアル >> Linuxチュートリアル >> LinuxでカスタムソフトウェアRPMパッケージレイダースをすばやく作成する

LinuxでカスタムソフトウェアRPMパッケージレイダースをすばやく作成する

  

Linuxシステム上のソフトウェアを管理するために、さまざまなバージョンのLinuxがパッケージを使用しています。このパッケージの利点は、インストールプロセス中にシステムがこれらのインストールファイルを追跡することです。これにより、将来的に管理が容易になります。 Linuxサーバーに追加する前に、カスタムソフトウェアをRPMパッケージにバンドルすることをお勧めします。この記事では、あなた自身のRPMパッケージを作成する方法を学びます。

RPMは、Red Hat Enterprise LinuxおよびSUSE Linux Enterprise Serverとその派生物のデフォルトのパッケージフォーマットです。カスタムソフトウェアを複数のLinuxサーバーにインストールしたい場合は、RPMパッケージを作成すると便利です。このRPMパッケージをデータベースに入れると、後でこのデータベースに接続してソフトウェアを更新することができるすべてのサーバーにとってより便利になります。

RPMパッケージには、シェルスクリプトとREADMEファイルの2つのファイルが含まれていますREADMEファイルには、シェルスクリプトの使用方法が記述されています。 2つのファイルでパッケージを作成できる場合は、もっと大きいパッケージも作成できます。

単純なRPMパッケージを作成するプロセス

特定のタスクについて、ユーザーアカウントには明確な違いがあります。エラーが発生した場合は、通常のユーザーアカウントを使用しますルートユーザーアカウントを使用すると、ディスク上の多数のファイルが誤って消去される可能性があります。以下の手順に従って独自のRPMパッケージを作成してください。

1. RPMパッケージに必要なファイルを含むディレクトリ構造を作成します。この構造体の名前は通常、RPMパッケージの名前にそのバージョン番号を含めて付けられます。このディレクトリの場所は関係ありません。この例では、現在のユーザーアカウントのホームディレクトリにあります。このディレクトリの名前をtest-1.0とし、次のコマンドでこのディレクトリの作成方法と名前、必要なファイルの保存方法を示します。

$ mkdir〜/test-1.0

$ cd〜/test-1.0

$ echo echoこれはテストです> test.sh

$ chmod + x test.sh

$ echoちょうど起動しますスクリプト> README

2.これで、RPMパッケージに必要なすべてのファイルが完成しました。次のステップはRPMファイルを作成することです。 Tar.gzファイルこのディレクトリはアーカイブファイルの作成も容易にします。あれ。 tar.gzファイルは、rpmbuild /SOURCESというディレクトリに配置する必要があります。このフォルダは通常、現在のユーザーのホームディレクトリにあります。あなたはまだ必要です。 specsファイル。すべてのRPMパッケージの仕様が含まれています。あれ。 specsファイルはRPMパッケージの中核となるコンポーネントであり、すべてのファイルの説明が含まれており、RPMパッケージ内のファイルはこれらの指示に従ってインストールされます。あれ。 specsファイルはSPECSディレクトリに置かれるべきです。

最初のcdコマンドは、rpmbuildディレクトリが現在のユーザーのホームディレクトリにあることを確認します。通常のユーザーとして次のコマンドを実行してください。

$ cd

$ mkdir -p〜/rpmbuild /SOURCES

$ mkdir -p〜/rpmbuild /SPECS

$ tar -cvzf〜/rpmbuild /SOURCES /test-1.0.tar.gz test-1.0

3.これですべてのファイルが完成しました。通常のユーザーとして説明ファイルを作成してください。 Rpmbuildコマンドは、ファイルを作成するために必要なすべての指示を見つけます。最近のRed Hatおよびその派生バージョンでは、説明ファイルを作成するのは簡単です。拡張子をに設定して、すべてのコンテンツを含むファイルを作成するには、vimエディタを使用するだけです。スペックができます。以下は、test-1.0rpmパッケージ内のファイルの外観です(テンプレートの変更は太字で示されています)。

名前:test test

バージョンバージョン:1.0

リリースリリース:1%{?dist}

概要概要:テストパッケージテストパッケージ

グループカテゴリ:テストパッケージテストパッケージ

ライセンスライセンス:GPL

URL:http://test.example.com

Source0:%{name} - %{version} .tar.gz

BuildRoot:%(mktemp - Ud%{_ tmppath} /%{名前} - %{バージョン} - %{リリース} -XXXXXX)

BuildRequires:/bin /rm、/bin /mkdir、/bin /cp

必要:/bin /bash、/bin /date

%description

単一パッケージをデプロイするためのデモ

%prerp

%setup –q

%build

#configure

#make%{?_smp_mflags}

%install

rm -rf $ RPM_BUILD_ROOT

#make install DESTDIR = $ RPM_BUILD_ROOT

mkdir -p $ RPM_BUILD_ROOT /usr /local /bin

Cp myscript $ RPM_BUILD_ROOT /usr /local /bin

%clean

rm -rf $ RPM_BUILD_ROOT

%ファイル

%defattr(-root、root) 、 - )

#%doc

%attr(0755、root、root)/usr /local /bin /myscript

%changelog

*今日

- 初期RPMの作成

覚えておくべきことがいくつかあります。接頭辞が%のエントリはすべて内部マクロです。これらのマクロのいくつかは簡単なデモンストレーションのために無効にされています。これらのエントリの中で最も重要なのは、%configureマクロと%makeマクロです。これらのマクロを無効にするには、その前にそれらの#と%を削除する必要があります。

開始マクロは非常に明確であり、説明を必要としません。最も重要なマクロはSource0定義です。これは%{name} - %{version} .tar.gzとして定義されており、以前に作成したtarボールの名前とまったく同じである必要があります。

もう1つの要素はBUILD_ROOTですこれは自動的に生成される環境です、rpmbuildコマンドはこの環境を使用して独自の作業を行います。 BUILD_ROOTは自動的に消えます。これが、RPMパッケージを作成するときにrootユーザーが使用されない理由です。 %buildセクションは、ソフトウェアのコンパイルなどの作業にも使用できます。

%installセクションに、先ほど作成したスクリプトがコピーされました。この場合、必要なのは単純なcpコマンドだけですが、より複雑なパッケージの場合、これらの作業は非常に複雑になります。

specファイルの最後の部分は%attrマクロです。これはパーミッションモードを0755に設定し、rootユーザーとrootをインストールファイルのマスターにします。

今すぐ。 specファイルが作成されたら、最後の作業を完了します。 rootユーザーを使用してrpmbuildコマンドをインストールしてください。 Red Hatでは、yum install rpm-buildを使用して作業を行います。次に、すべてのファイルが正しい場所にあることを確認してください。 tarアーカイブは、パッケージを作成した現在のユーザーアカウントの〜/rpmbuild /SOURCESディレクトリに、demo.specファイルは〜/rpmbuild /SPECSディレクトリに配置する必要があります。これで、rpmbuild -ba test.specコマンドでパッケージを作成できます。これでRPMファイルが〜/rpmbuild /RPMSディレクトリに作成されます。

著者:サンダーバンVugt翻訳:ダン

Copyright © Windowsの知識 All Rights Reserved