JavaScript is required to for searching.
跳过导航链接
退出打印视图
映像包管理系统手册页     Oracle Solaris 11 Information Library (简体中文)
search filter icon
search icon

文档信息

前言

用户命令

系统管理命令

pkg.depotd(1m)

pkg.sysrepo(1m)

标准、环境和宏

pkg.depotd

- 映像包管理系统 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 服务器的一些最佳做法。

SMF 属性

pkg.depot 服务器通常通过与其服务关联的 smf(5) 属性来配置。可以识别以下属性:

pkg/address

(net_address) 要在其上侦听连接的 IP 地址。缺省值为 0.0.0.0 (INADDR_ANY),表示侦听所有活动接口。要侦听所有活动的 IPv6 接口,请使用 ::。只使用第一个值。

pkg/content_root

(astring) 实例应在其中查找静态 Web 内容以及其他 Web 内容的文件系统路径。缺省值为 /usr/share/lib/pkg

pkg/debug

(astring) 以逗号分隔的要启用的调试功能列表。可能的值为:

headers

将每个请求的标头记录到错误日志。

pkg/disable_ops

(astring) 以逗号分隔的应在 depot 服务器中禁用的操作列表。操作以下面的形式提供:operation[/version](例如 catalogsearch_1)。

pkg/image_root

(astring)其文件信息将用作文件数据高速缓存的映像的路径。

pkg/inst_root

(astring) 实例应在其中查找系统信息库数据的文件系统路径。除非已提供 file_rootPKG_REPO,否则必须指定该路径。缺省值为 /var/pkgrepo

pkg/log_access

(astring) depot 进程记录任何与访问相关的信息的目标位置。可能的值为:stderrstdoutnone 或绝对路径名。如果 stdouttty,则缺省值为 stdout。如果 stdout 不是 tty,则缺省值为 none

pkg/log_errors

(astring) depot 进程记录任何错误或其他信息的目标位置。可能的值为:stderrstdoutnone 或绝对路径名。缺省值为 stderr

pkg/mirror

(boolean) 设置是否使用软件包镜像模式。为 true 时,禁用发布和元数据操作,只提供操作受限制的浏览器用户界面。pkg/readonly 属性为 true 时,该属性不能为 true。缺省值为 false

pkg/port

(count) 实例侦听传入软件包请求应使用的端口号。如果未提供 SSL 证书和密钥信息,则缺省值为 80;否则,缺省值为 443。

pkg/proxy_base

(uri) 该属性更改 depot 服务器的基 URL,在采用反向代理配置的 Apache 或其他 Web 服务器上运行 depot 服务器时最有用。

pkg/readonly

(boolean) 设置是否禁用修改操作,如 pkgsend(1) 启动的那些操作。检索操作仍可用。pkg/mirror 属性为 true 时,该属性不能为 true。缺省值为 true

pkg/socket_timeout

(count) 服务器在断开连接之前应该等待客户机响应的最大秒数。缺省值为 60。

pkg/sort_file_max_size

(count) 索引器排序文件的最大大小。用于限制库 (depot) 创建索引可使用的 RAM 量,也可增大该大小以提高速度。

pkg/ssl_cert_file

(astring) 以 PEM 编码的证书文件的绝对路径名。缺省值为 none。此属性必须与 ssl_key_file 一起使用。如果同时提供了 ssl_cert_file/ssl_key_file,则库 (depot) 只响应 SSL 请求。

pkg/ssl_dialog

(astring) 指定应使用何种方法来获取用于 ssl_key_file 解密的口令短语。可能的值为:

builtin

提示输入口令短语。这是缺省值。

exec:/path/to/program

执行指定的外部程序来获取口令短语。程序的第一个参数为 '',这是保留字。程序的第二个参数是服务器的端口号。口令短语输出到 stdout

smf:fmri

尝试从与 FMRI 相关的服务实例中检索属性 pkg_secure/ssl_key_passphrase 的值。

pkg/ssl_key_file

(astring) 以 PEM 编码的私钥文件的绝对路径名。此属性必须与 ssl_cert_file 属性一起使用。如果同时提供了 /ssl_key_filessl_cert_file,则库 (depot) 只响应 SSL 请求。

pkg/threads

(count) 将启动多少个线程为请求提供服务。缺省值为 60。只适用于小型部署。该值应该为并发客户机数量的 20 倍左右。threads 的最大值为 5000。

pkg/writable_root

(astring) 程序对其具有写入访问权限的目录的文件系统路径。此属性可与 -readonly 选项一起使用,以便 depot 服务器无需具有对软件包信息的写入访问权限即可创建文件(如搜索索引)。

pkg_secure/ssl_key_passphrase

(astring) 用于解密 pkg/ssl_key_file 的口令。该值受读取授权保护(使用属性 solaris.smf.read.pkg-server 实现)。

depot 服务器的浏览器用户界面 (Browser User Interface, BUI) 的显示和行为由以下属性控制:

pkg_bui/feed_description

(astring) RSS/Atom 源的描述性段落。

pkg_bui/feed_icon

(astring) 用于以可视方式表示 RSS/Atom 源的小型图像的路径名。路径名应相对于 content_root。缺省值为 web/_themes/pkg-block-icon.png

pkg_bui/feed_logo

(astring) 将用于以可视方式标记或标识 RSS/Atom 源的大型图像的路径名。该值应相对于 content_root。缺省值为 web/_themes/pkg-block-icon.png

pkg_bui/feed_name

(astring) 由为系统信息库提供服务的库 (depot) 生成的 RSS/Atom 源的简短描述性名称。缺省值为 "package repository feed"。

pkg_bui/feed_window

(count) 上次生成系统信息库源之前经过的小时数,包括生成源的时间。

软件包库 (depot) 还可以用作 pkg(5) 中本地客户机映像的镜像服务器。这使得在 LAN 上共享一个子网的客户机可以对其文件高速缓存进行镜像。客户机可以相互下载文件,从而减少软件包 depot 服务器上的负载。此功能可作为 smf(5) 配置的备用 depot 服务提供。它使用 mDNS 和 dns-sd 完成服务发现。

mDNS 镜像通常通过与其服务关联的 smf(5) 属性来配置。可以识别以下属性:

pkg/image_root

(astring)其文件信息将用作文件数据高速缓存的映像的路径。缺省值为 /

pkg/port

(count) 实例侦听传入软件包请求应使用的端口号。缺省值为 80。

选项

pkg.depotd 可从文件或从现有 smf(5) 服务实例的属性数据读取其基本配置信息。

--cfg source

读取和写入配置数据时使用的文件的路径名,或格式为 smf:fmri 的字符串,其中 fmri 是从中读取配置数据的实例的服务故障管理资源标识符 (fault management resource identifier, FMRI)。有关指定文件格式的详细信息,请参见下面的“库 (depot) 配置”。

如果没有已存在的配置源可用,或者要覆盖从使用 --cfg 提供的配置文件中读取的值,则可以使用下列选项来更改 depot 服务器的缺省行为:

-a address

请参见上面的 pkg/address

--content-root root_dir

请参见上面的 pkg/content_root

-d inst_root

请参见上面的 pkg/inst_root

--debug features

请参见上面的 pkg/debug

--disable-ops op_list

请参见上面的 pkg/disable_ops

--image-root path

请参见上面的 pkg/image_root

--log-access dest

请参见上面的 pkg/log_access

--log-errors dest

请参见上面的 pkg/log_errors

--mirror

请参见上面的 pkg/mirror

-p port

请参见上面的 pkg/port

--proxy-base url

请参见上面的 pkg/proxy_base。如果提供空值,则忽略该选项。

--readonly

请参见上面的 pkg/readonly

-s threads

请参见上面的 pkg/threads

-s-ort-file-max-size bytes

请参见上面的 pkg/sort_file_max_size

--ssl-cert-file source

请参见上面的 pkg/ssl_cert_file

--ssl-dialog type

请参见上面的 pkg/ssl_dialog

--ssl-key-file source

请参见上面的 pkg/ssl_key_file

-t socket_timeout

请参见上面的 pkg/socket_timeout

--writable-root path

请参见上面的 pkg/writable_root

pkgrepo(1) 提供了软件包系统信息库的其他管理功能。

库 (depot) 配置

使用 --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

环境变量

PKG_REPO

指定要提供的系统信息库所在的目录。如果指定 -d,将忽略该值。

PKG_DEPOT_CONTENT

指定库 (depot) 提供的静态内容所在的目录。该目录应包含下面介绍的“文件”下的文件,虽然其中的内容可能与提供的缺省内容不同。

退出状态

将返回以下退出值:

0

操作成功。

1

出现错误。

2

指定的命令行选项无效。

99

发生了意外的异常。

文件

/usr/share/lib/pkg

缺省显示内容的位置。修改 pkg/content_root 以选择其他位置。

属性

有关下列属性的说明,请参见 attributes(5):

属性类型
属性值
可用性
package/pkg
接口稳定性
Uncommitted(未确定)

另请参见

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 服务器进程: