跳过导航链接 | |
退出打印视图 | |
![]() |
映像包管理系统手册页 Oracle Solaris 11 Information Library (简体中文) |
- 映像包管理系统 depot 服务器
/usr/lib/pkg.depotd [-a address] [-d inst_root] [-p port] [-s threads] [-t socket_timeout] [--add-content] [--cfg] [--content-root] [--debug feature_list] [--disable-ops=op[/1][,...]] [--log-access] [--log-errors] [--mirror] [--proxy-base url] [--readonly] [--rebuild] [--ssl-cert-file] [--ssl-dialog] [--ssl-key-file] [--writable-root]
pkg.depotd 是映像包管理系统的 depot 服务器。它提供对软件包系统信息库中数据的网络访问。对于不支持通过文件系统直接访问系统信息库的客户机,或网络访问是唯一可用的或首选的传输方式的客户机,通常使用软件包库 (depot)。
有些客户机(如检索客户机)可以通过 pkg(1) 直接从系统信息库或通过 depot 服务器从系统信息库检索软件包和软件包元数据的列表。发布客户机可以通过 pkgsend(1) 将软件包的新版本直接发送到系统信息库或通过 depot 服务器发送到系统信息库。pkgrepo(1) 可用于创建供 depot 服务器使用的系统信息库,或用于直接管理系统信息库以及通过 depot 服务器管理系统信息库。
pkg.depotd 通常作为服务在系统上运行。软件包和软件开发者可能希望运行专用副本进行测试。
库 (depot) 自身未提供任何访问控制方法。缺省情况下,所有能够连接 depot 服务器的客户机都能够读取所有软件包数据和发布新的软件包版本。但在服务管理工具 (Service Management Facility, SMF) 下运行 depot 服务器时除外,在此情况下缺省设置为以只读模式运行。下面的“附注”部分描述了维护内容不断变化的公共 depot 服务器的一些最佳做法。
pkg.depot 服务器通常通过与其服务关联的 smf(5) 属性来配置。可以识别以下属性:
(net_address) 要在其上侦听连接的 IP 地址。缺省值为 0.0.0.0 (INADDR_ANY),表示侦听所有活动接口。要侦听所有活动的 IPv6 接口,请使用 ::。只使用第一个值。
(astring) 实例应在其中查找静态 Web 内容以及其他 Web 内容的文件系统路径。缺省值为 /usr/share/lib/pkg。
(astring) 以逗号分隔的要启用的调试功能列表。可能的值为:
将每个请求的标头记录到错误日志。
(astring) 以逗号分隔的应在 depot 服务器中禁用的操作列表。操作以下面的形式提供:operation[/version](例如 catalog 或 search_1)。
(astring)其文件信息将用作文件数据高速缓存的映像的路径。
(astring) 实例应在其中查找系统信息库数据的文件系统路径。除非已提供 file_root 或 PKG_REPO,否则必须指定该路径。缺省值为 /var/pkgrepo。
(astring) depot 进程记录任何与访问相关的信息的目标位置。可能的值为:stderr、stdout、none 或绝对路径名。如果 stdout 是 tty,则缺省值为 stdout。如果 stdout 不是 tty,则缺省值为 none。
(astring) depot 进程记录任何错误或其他信息的目标位置。可能的值为:stderr、stdout、none 或绝对路径名。缺省值为 stderr。
(boolean) 设置是否使用软件包镜像模式。为 true 时,禁用发布和元数据操作,只提供操作受限制的浏览器用户界面。pkg/readonly 属性为 true 时,该属性不能为 true。缺省值为 false。
(count) 实例侦听传入软件包请求应使用的端口号。如果未提供 SSL 证书和密钥信息,则缺省值为 80;否则,缺省值为 443。
(uri) 该属性更改 depot 服务器的基 URL,在采用反向代理配置的 Apache 或其他 Web 服务器上运行 depot 服务器时最有用。
(boolean) 设置是否禁用修改操作,如 pkgsend(1) 启动的那些操作。检索操作仍可用。pkg/mirror 属性为 true 时,该属性不能为 true。缺省值为 true。
(count) 服务器在断开连接之前应该等待客户机响应的最大秒数。缺省值为 60。
(count) 索引器排序文件的最大大小。用于限制库 (depot) 创建索引可使用的 RAM 量,也可增大该大小以提高速度。
(astring) 以 PEM 编码的证书文件的绝对路径名。缺省值为 none。此属性必须与 ssl_key_file 一起使用。如果同时提供了 ssl_cert_file 和 /ssl_key_file,则库 (depot) 只响应 SSL 请求。
(astring) 指定应使用何种方法来获取用于 ssl_key_file 解密的口令短语。可能的值为:
提示输入口令短语。这是缺省值。
执行指定的外部程序来获取口令短语。程序的第一个参数为 '',这是保留字。程序的第二个参数是服务器的端口号。口令短语输出到 stdout。
尝试从与 FMRI 相关的服务实例中检索属性 pkg_secure/ssl_key_passphrase 的值。
(astring) 以 PEM 编码的私钥文件的绝对路径名。此属性必须与 ssl_cert_file 属性一起使用。如果同时提供了 /ssl_key_file 和 ssl_cert_file,则库 (depot) 只响应 SSL 请求。
(count) 将启动多少个线程为请求提供服务。缺省值为 60。只适用于小型部署。该值应该为并发客户机数量的 20 倍左右。threads 的最大值为 5000。
(astring) 程序对其具有写入访问权限的目录的文件系统路径。此属性可与 -readonly 选项一起使用,以便 depot 服务器无需具有对软件包信息的写入访问权限即可创建文件(如搜索索引)。
(astring) 用于解密 pkg/ssl_key_file 的口令。该值受读取授权保护(使用属性 solaris.smf.read.pkg-server 实现)。
depot 服务器的浏览器用户界面 (Browser User Interface, BUI) 的显示和行为由以下属性控制:
(astring) RSS/Atom 源的描述性段落。
(astring) 用于以可视方式表示 RSS/Atom 源的小型图像的路径名。路径名应相对于 content_root。缺省值为 web/_themes/pkg-block-icon.png。
(astring) 将用于以可视方式标记或标识 RSS/Atom 源的大型图像的路径名。该值应相对于 content_root。缺省值为 web/_themes/pkg-block-icon.png。
(astring) 由为系统信息库提供服务的库 (depot) 生成的 RSS/Atom 源的简短描述性名称。缺省值为 "package repository feed"。
(count) 上次生成系统信息库源之前经过的小时数,包括生成源的时间。
软件包库 (depot) 还可以用作 pkg(5) 中本地客户机映像的镜像服务器。这使得在 LAN 上共享一个子网的客户机可以对其文件高速缓存进行镜像。客户机可以相互下载文件,从而减少软件包 depot 服务器上的负载。此功能可作为 smf(5) 配置的备用 depot 服务提供。它使用 mDNS 和 dns-sd 完成服务发现。
mDNS 镜像通常通过与其服务关联的 smf(5) 属性来配置。可以识别以下属性:
(astring)其文件信息将用作文件数据高速缓存的映像的路径。缺省值为 /。
(count) 实例侦听传入软件包请求应使用的端口号。缺省值为 80。
pkg.depotd 可从文件或从现有 smf(5) 服务实例的属性数据读取其基本配置信息。
读取和写入配置数据时使用的文件的路径名,或格式为 smf:fmri 的字符串,其中 fmri 是从中读取配置数据的实例的服务故障管理资源标识符 (fault management resource identifier, FMRI)。有关指定文件格式的详细信息,请参见下面的“库 (depot) 配置”。
如果没有已存在的配置源可用,或者要覆盖从使用 --cfg 提供的配置文件中读取的值,则可以使用下列选项来更改 depot 服务器的缺省行为:
请参见上面的 pkg/address。
请参见上面的 pkg/content_root。
请参见上面的 pkg/inst_root。
请参见上面的 pkg/debug。
请参见上面的 pkg/disable_ops。
请参见上面的 pkg/image_root。
请参见上面的 pkg/log_access。
请参见上面的 pkg/log_errors。
请参见上面的 pkg/mirror。
请参见上面的 pkg/port。
请参见上面的 pkg/proxy_base。如果提供空值,则忽略该选项。
请参见上面的 pkg/readonly。
请参见上面的 pkg/threads。
请参见上面的 pkg/sort_file_max_size。
请参见上面的 pkg/ssl_cert_file。
请参见上面的 pkg/ssl_dialog。
请参见上面的 pkg/ssl_key_file。
请参见上面的 pkg/socket_timeout。
请参见上面的 pkg/writable_root。
pkgrepo(1) 提供了软件包系统信息库的其他管理功能。
使用 --cfg 选项(而非 smf(5) FMRI)提供配置文件时,depot 服务器以简单文本格式读取和写入所有配置数据。在上面的“SMF 属性”中介绍了配置数据。配置数据包含多个部分,以 [section] 标头开始,后跟 name = value 条目。后续部分采用 RFC 822 样式。可以将数据拆分到多个行中,以空格开始后续行即可。
必须使用上面的“选项”中列出的选项提供配置文件中未提供的所有必需值。样例配置文件可能与下面的类似:
[pkg] port = 80 inst_root = /export/repo [pub_example_com] feed_description = example.com's software update log
示例 1 启用 depot 服务器
# svcadm enable application/pkg/server
示例 2 更改服务器的侦听端口。
# svccfg -s application/pkg/server setprop pkg/port = 10000 # svcadm refresh application/pkg/server # svcadm restart application/pkg/server
示例 3 启用镜像
# svcadm enable application/pkg/dynamic-mirror
指定要提供的系统信息库所在的目录。如果指定 -d,将忽略该值。
指定库 (depot) 提供的静态内容所在的目录。该目录应包含下面介绍的“文件”下的文件,虽然其中的内容可能与提供的缺省内容不同。
将返回以下退出值:
操作成功。
出现错误。
指定的命令行选项无效。
发生了意外的异常。
缺省显示内容的位置。修改 pkg/content_root 以选择其他位置。
有关下列属性的说明,请参见 attributes(5):
|
dns-sd(1M)、mdnsd(1M)、pkg(1)、pkgrepo(1)、pkgsend(1)、syslogd(1M)、smf(5)
http://hub.opensolaris.org/bin/view/Project+pkg/
pkd.depotd 服务由 svc:/application/pkg/server 服务标识符下的 SMF 管理。
mDNS 镜像服务由 svc:/application/pkg/dynamic-mirror 服务标识符下的 SMF 管理。
要控制对库 (depot) 的读取访问权限,可以将 HTTP 反向代理与授权方法结合使用,如 pkg(1) 本身支持的基于客户机的 SSL 证书访问权限。
更改配置或使用基于文件系统的操作更改软件包数据后,需要重新启动 depot 服务器进程,以便更改能够反映在操作和输出中。使用下列方法之一来重新启动 depot 服务器进程:
使用 svcadm(1M) 重新启动 application/pkg/server 实例。
使用 kill(1) 将 SIGUSR1 信号发送到 depot 服务器进程。这将执行正常的重新启动,使进程保持原样,但重新加载所有配置、软件包和搜索数据:
# kill -USR1 pid