openSUSE:Libzypp URI

移動先: 案内, 検索

libzypp は、様々な種類のメディアに対して統一したアクセス手段 (リソース) を提供します。これらのリソースは URI と呼ばれる識別子で指定します。 libzypp を使用する任意のアプリケーションから、 YaST や zypper が利用しているのと同じアクセス手段を利用することができます。 zypp では基本的に URI をパッケージリポジトリの場所を示すものとして利用していますが、 zypp では URI を RPM ファイルや .repo ファイルの場所を示すものとしても使うことができます。この記事では、対応済みの全ての URI スキームとそれらの使い方について述べています。

Scribus48.png この記事はまだ書きかけ(stub)の状態です!
この記事には加筆が求められています。もしあなたが加筆できるようならば、openSUSE 記事スタイルガイドに従って加筆をお願いします。また他の加筆が必要な記事の一覧もご参照ください。

TODO:

  • スキームごとの説明とそれらの動き
  • 特定の URI に対するパラメータ
  • クロスリンク
  • 実際の例


クイックリファレンス

http://download.opensuse.org/distribution/SL-OSS-factory/inst-source
dir:/home/jkupec/myrpms
dvd:/
nfs:/nfsserver/path/to/repo
iso:/?iso=/path/to/openSUSE11-DVD.iso
iso:/?iso=CD1.iso&url=nfs:/myserver/dirwithisos


URI の構造

 ftp://example.com:8042/over/there?name=ferret#nose
 ===   ================ ========== =========== ====
  |           |            |            |        |
スキーム 認証情報とポート パス       クエリ    ラベル
  |                        |
 === ==========================
 urn:example:animal:ferret:nose

全ての URI には スキーム 識別子を指定します (たとえば httpfile) 。スキームに続けて、上記の例のようにスキーム固有の項目を指定します。様々なアプリケーションでは URI を使いやすいものにするため、たとえば入力すべき項目を表示したり (YaST のリポジトリ管理モジュール) 、省略された項目を自動で推測したり (zypper では、ファイルやディレクトリの指定が行なわれた場合に、 dir のスキームであるものとして扱います) しています。


ZYpp URI

ZYpp で対応している全ての URI には、 alias という問い合わせパラメータを指定することができます。 これはリポジトリの識別子としてアプリケーション側から使用できる予約パラメータです。


HTTP/HTTPS/FTP

これらについては特に説明するまでもないでしょう:

http://server/path/on/server
http://user:pass@server/path
https://user:pass@server/path?proxy=foo&proxyuser=me&proxypass=pw
ftp://server/relative/path/to/media/dir
ftp://server/%2fabsolute/path/to/media/dir
ftp://user:pass@server/path/to/media/dir
ftp://user:pass@server/%2f/home/user/path/to/media/dir

URL には問い合わせパラメータを指定することもできます (たとえば上記の "proxy" のように):

パラメータ 既定値 説明 関連する cURL オプション
timeout 数値 60 秒単位で、接続タイムアウトを指定します CURLOPT_CONNECTTIMEOUT
ssl_verify true, false, verify_host, verify_peer true SSL 証明書の検証を行なうかどうかを指定します CURLOPT_SSL_VERIFYHOST, CURLOPT_SSL_VERIFYPEER
ssl_capath パス名 /etc/ssl/certs SSL 証明書のディレクトリを指定します CURLOPT_CAPATH
proxy ホスト名 (なし) プロキシサーバを指定します CURLOPT_PROXY
proxyport TCP ポート番号 80 プロキシサーバの TCP ポートを指定します CURLOPT_PROXY
proxyuser ユーザ名 (なし) プロキシサーバでの認証用ユーザ名を指定します CURLOPT_PROXYUSERPWD
proxypassword パスワード ~/.curlrc から値を読み込みます プロキシサーバでの認証用パスワードを指定します CURLOPT_PROXYUSERPWD

CD/DVD

cd:/
cd:/subdir
cd:/?devices=/dev/hda,/dev/hdb
dvd:/
dvd:/subdir
dvd:/?devices=/dev/hda,/dev/hdb


ローカルファイル

dir:/directory/name
file:/directory/name


SMB/CIFS

cifs://servername/share/path/on/the/share"
cifs://username:passwd@servername/share/path/on/the/share?mountoptions=ro
smb://servername/share/path/on/the/share"
smb://username:passwd@servername/share/path/on/the/share?mountoptions=ro


NFS

nfs://nfs-server/exported/path
nfs://nfs-server/exported/path?mountoptions=ro


ハードディスクのボリューム

hd:/?device=/dev/hda1
hd:/subdir?device=/dev/sda1
hd:/subdir?device=/dev/sda1&filesystem=reiserfs


ISO イメージ

iso:/?iso=/path/to/CD1.iso
iso:/?iso=CD1.iso&url=dir:/path/to
iso:/?iso=CD1.iso&url=nfs://server/path/to/media
iso:/?iso=CD1.iso&url=hd:/?device=/dev/hda
iso:/?iso=DVD1.iso&url=hd:/directory/?device=/dev/sda2
iso:/subdir?iso=DVD1.iso&url=nfs://nfs-server/directory&mnt=/nfs/attach/point&filesystem=udf