openSUSE:Libzypp URIs

跳转到:导航搜索

Libzypp 提供了对各种类型介质上资源的统一访问。这些资源可以通过标准的统一资源标识符(URI)来标识。使用 libzypp 的任何应用程序都可以利用这一点,并允许其用户使用这些 URI,就像 YaST 或 Zypper 所做的那样。ZYpp 基本上使用 URI 来定位软件包仓库,但 ZYpp 应用程序可以使用它们来定位和标识其他资源,例如 RPM 文件、.repo 文件或 openSUSE 构建服务仓库。本文列出了所有支持的 URI 方案和用法。

Icon-expand.png
本文是一个存根!
需要扩充本文。欢迎您按照风格指南进行编辑。

待办事项

  • 特定方案的描述以及它们的工作方式
  • 特定的 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
 \_/   \______________/\_________/ \_________/ \__/
  |           |            |            |        |
scheme     authority       path        query   fragment
  |   _____________________|__
 / \ /                        \
 urn:example:animal:ferret:nose

所有 URI 都需要一个方案标识符(例如httpfile)。在方案后面的部分是特定于方案的,如上面的示例所示。各种应用程序可以简化 URI 的使用,例如通过提供要填充的输入字段(如 YaST 的仓库管理模块),或通过猜测省略的组件(如 Zypper 将文件或目录路径视为dirURI)。


ZYpp URIs

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 yes, no, verify_host, verify_peer yes 是否验证服务器 SSL 证书 CURLOPT_SSL_VERIFYHOST, CURLOPT_SSL_VERIFYPEER
ssl_capath 路径名 /etc/ssl/certs SSL 证书目录 CURLOPT_CAPATH
proxy 主机名 指定代理服务器 CURLOPT_PROXY
proxyport TCP 端口 80 指定代理服务器端口 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 磁盘卷

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