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翻訳:ダン
Devil-Linuxは、ファイアウォールとルータ用の特別なLinuxディストリビューションです。 Devil-Linuxの目的は、小さくカスタマイズ可能で安全なLinuxを手に入れることです。 De
の下で複数のネットワークカードbonding
を設定する方法インターネット導入の時代には、ネットワークの高可用性は常に非常に重要な部分でした。ネットワーク障害は直接アプリケーションサービスの中断とIT技術の発展につながりますトレンドに関しては、ハ
使いやすくするために、Xshellセッションを保存します。 Aマシンに保存されているセッション情報をBマシンに転送する方法は、AマシンのSeessionをBマシンにコピーするだけです。 Step1
コンピュータとLINUXにはWINDOWSがありますGRUBが好きな人もいれば、NT Loaderが好きな人もいますどのように遊んでも、自分の実行中のプロセスを知っている必要があります関係:windo