GNU/Linux >> Linux の 問題 >  >> Cent OS

RPM のバージョンと命名スキームについて

RPM は、個々のソフトウェア パッケージのビルド、インストール、クエリ、検証、更新、およびアンインストールに使用できる強力なソフトウェア マネージャーです。 RPM パッケージは、ファイルのアーカイブと、名前、バージョン、説明、他の RPM パッケージへの依存関係に関する情報などのパッケージ情報で構成されます。

RPM 命名スキーム

各 RPM パッケージは、1 つのファイルに含まれています。ファイル名には、パッケージの内容を完全に識別するためのいくつかのフィールドがあります。 RPM ツール自体はファイル名自体に依存しませんが、適切なパッケージを識別またはダウンロードするのに役立つファイル名の規則を理解する必要があります。

以下は RPM ファイル名の例です:

bash-3.1-16.1.x86_64.rpm

この RPM は BASH シェル (「/bin/bash」) 用です。ファイル名はいくつかの部分で構成されています:

[name]-[version]-[release].[arch].rpm

ここで:

  • [名前] プログラムまたはパッケージの名前です。 [名前] は通常、プログラムの作成者によって割り当てられます。この例では、開発者は面白いと思われる理由から、製品に「bash」という名前を付けることにしました。
  • [バージョン] この RPM に含まれるソフトウェアのエディションを識別します。 [バージョン] 番号は、プログラムの作成者によって割り当てられます。 [バージョン] 番号を使用すると、RPM の生成に使用された作成者のソースのバージョンを特定できます。
  • [リリース] 著者のソースファイルのバージョンではなく、RPM ファイル自体のエディション番号を提供します。更新された RPM は、作成者のオリジナル ソフトウェアのパッチ バージョンを提供するために発行される場合があります。パッチは元の開発者から提供されたものである必要はないため、RPM [リリース] は [バージョン] ではなく増分されます。
  • [アーチ] RPM の内容を記述し、このファイルに製品ソース (「.src.rpm」)、アーキテクチャに依存しないファイル (「.noarch.rpm」)、または特定のホストにのみインストールできるファイルが含まれているかどうかを示します。タイプ (「.sh.rpm」は、STRONGHOLD 組み込みプロセッサでのみ機能します)。
注意 :[バージョン] は元の作成者によって管理され、[リリース] は RPM を作成した人によって管理されます。

RPM バージョンについて

RPM の [バージョン] および [リリース] フィールドは必ずしも厳密に数値であるとは限らず、通常の数字以外の文字が含まれる場合があります。同じパッケージのバージョン「10」と「10a」の両方が見られるのはよくあることです。最新バージョンを選択するのが難しい場合があります。 RPM 自体が内部でバージョン番号とリリース番号を比較する方法は次のとおりです。

1. [name] プレフィックスと「.[arch].rpm」サフィックスを削除します。たとえば、「bash-3.1-16.1.x86_64.rpm」 」は「3.1-16.1」になります 」および「bash-3.1-16.5a.1.x86_64.rpm」 」は「3.1-16.5a.1」になります 」

2. 数字が現れるまで、残りの文字列を左から右に 1 文字ずつ比較します。文字が異なる場合は、照合シーケンスで後に来る文字がより新しい RPM です。

3. 数字が検出されたら、一連の数字全体を 1 つの 2 進数に変換します。この例では、2 つの文字「16」が組み合わされて 16 という値になります。結果のバイナリ値が比較され、値が大きいほど新しい RPM になります。したがって、[バージョン] が「0010」の RPM は、[バージョン] が「9」の RPM よりも新しいものです。

4. 違いが生じるまで、ステップ 2 と 3 を必要に応じて繰り返します。


Cent OS
  1. VPSが使用しているPHPとMySQLのバージョンはどれですか?

  2. Ubuntu11.10およびUbuntu11.04にRPMパッケージをインストールします

  3. CentOS 5、CentOS 6、CentOS 7にRepoForge(RPMForge)リポジトリをインストールする方法

  1. Sqliteヘッダーとソースバージョンの不一致?

  2. rpm パッケージを下位バージョンにダウングレードする (「rpm」コマンドを使用)

  3. Linux の rpm コマンドで使用される -i オプションと -U オプションの違いは何ですか?

  1. AArch64のCentOS7にGlusterFSをインストールして構成する

  2. Ubuntu 20.04および18.04にPythonをインストールするにはどうすればよいですか?

  3. Tc QdiscとIperfを理解していますか?