Software Repositories

移動先: 案内, 検索


< ソフトウェア・リポジトリ | YaST - YaST コンテンツ - メタデータ説明 - メディア - Repomd

ソフトウェア・リポジトリ

ソフトウェア・リポジトリとは?

ソフトウェア・リポジトリは"ソフトウェア"をシステムで利用可能にします。それは、2つの部分でそうしています。

  1. メタデータ
  2. ペイロード データ (e.g. packages)

ほとんどのソフトウェア・リポジトリは パッケージ のみを含んでいます。SUSE リポジトリはさらにパッチ, パターン, 製品もサポートしています。

メタ・データ

メタデータ リポジトリは、ソフトウェア・リポジトリの 目次 です。

メタデータは、リポジトリにおいて以下のような利用可能なソフトウェア(通常のRPMパッケージ)に関する様々な情報を含んでいます:

  • (パッケージ) 名前, バージョン, リリース, ターゲット・アーキテクチャ, ディストリビューション;
  • 概要, 説明, ライセンス, プロジェクト・ウェブサイト;
  • 要求するもの;
  • 提供する(そして、パッケージに含まれていたファイルのリスト)もの。 *ソフトウェアの更新履歴

そのメタデータ情報が、「方法を計算するために」インストール、アップグレード、削除(requires/provides情報は、特にここで重要です)を実行することができるzypper, rug, apt-rpm, smart, yum... のようなパッケージマネージャによって必要です。

メタデータは、ソフトウェアの実際のインストールには十分でありません - パッケージは、ペイロードの一部です(下記参照)

完全にリポジトリが最初アクセスされるか、部分が変わった場合(つまり、パッケージが加えたかアップグレード)リフレッシュされ、メタデータがダウンロードされます。

異なるタイプのリポジトリ(以下を参照)間の主な違いはメタデータが表わした方法です。 メタデータに提示された内容はほとんど同じです。

異なるメタデータフォーマットがあります。

  • REPOMD (Repository MetaData), also called "rpm-md" (RPM Metadata) , also called "yum" (because its the native format for the yum package manager);
  • yast2;
  • apt-rpm (for RPM) and apt-deb (for DEB);
  • Red Carpet (also called Open Carpet);
  • RPM-HDL (RPM Header List);
  • URPMI (for Mandriva's package manager);
  • slack, for Slackware's "package manager";

and maybe a few others.

残念ながら、あらゆるパッケージマネージャのためのメタデータ形式が多少はあります。

この頃は、大部分のパッケージマネージャはREPOMDサポートに向かって進んでいるようです。そして、それは標準になりつつあります。

  • YaST2 supports it in SUSE Linux 10.0;
  • libzypp supports it in SUSE Linux 10.1;
  • yum supports it, obviously, it's the yum-specific format ;);
  • apt-rpm supports it too, since one or two releases (not the version shipped with SUSE Linux 10.1 though);
  • smart supports it, of course ;) (more information about that below).


ペイロード・データ

ペイロードデータ - (通常パッケージ) - は要求に応じてアクセスされるだけです。例えば、パッケージがインストールされる場合です。

両方のパーツ - メタデータとペイロードのデータ - は、通常同じサーバー上でまとめられます。 しかし、本当にこれを必要とする何もありません、パッケージはロードバランシングまたはセキュリティ理由のためにいくつかのサーバーでホストティングされています。

その他のリポジトリ

次の用語は異なるパッケージ・マネージャーによって使用され、すべてリファレンス・リポジトリです。 そのようなリファレンスは通常以下のような情報を含んでいます 。

  • the base URL, where to retrieve the metadata and the packages
  • a name

but also additional information, depending on what the package manager is capable of handling.

  • YaST2 calls them "installation sources" or "software catalogs";
  • ZMD/rug calls them "catalogs";
  • smart calls them "channels" (Red Carpet calls them "channels" as well)
  • apt-rpm calls them "sources";
  • yum calls them "repos" (repositories)

しかし、それらはすべて同じものです。リポジトリの(RPMのパッケージ)リファレンス ;) 。

リポジトリのタイプ

SUSE Linux は2つのタイプのリポジトリをサポートしています。

YaST

YaST フォーマットは通常使用されるインストールメディア, CD, DVD を利用します。インストールメディアがサーバーへコピーされるとき、それもオンラインで使われます。 このフォーマットは、 SUSE Linux (openSUSE)でしか利用されていません。

repomd

RPM XML メタデータ リポジトリ フォーマット オンラインパッケージのための標準化された, 広く使われているリポジトリ フォーマットです。 SUSE Linuxは、パッチ、パターンおよび製品を含んでいる拡張フォーマットを支援します。 (repomdはまだ時々 yum と呼ばれます。しかし、この用語は大いに非難されます。)

(plaindir - RPMのパッケージを含んでいるディレクトリ - も支援されます。しかし、それは上記の定義中のリポジトリと見なされません。)


リポジトリへのアクセス

リポジトリへのアクセスは、プロトコル(例えばhttp)、サーバ(例えばftp.opensuse.org)およびサーバ(例えばpub/opensuse/10.1)のディレクトリを含んでいる URLによって指定されます。

次の例が示すように、URLは、リポジトリのタイプを指定しません。

(1) http://ftp.g(...).de/pub/linux/misc/suser-guru/rpm/10.1
http://ftp.g(...).de/pub/linux/misc/suser-guru/rpm/10.1/RPMS
(3) http://ftp.g(...).de/pub/linux/suse/apt/SuSE/10.1-i386
  • (1) は yast2 リポジトリ
  • (2) は REPOMD リポジトリ
  • (3) は APT-RPM リポジトリ