Software Repositories
< ソフトウェア・リポジトリ | YaST - YaST コンテンツ - メタデータ説明 - メディア - Repomd |
目次
ソフトウェア・リポジトリ
ソフトウェア・リポジトリとは?
ソフトウェア・リポジトリは"ソフトウェア"をシステムで利用可能にします。それは、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 リポジトリ