pkg.depot-config - 映像包管理系统 HTTP 库 (depot) 配置生成器
/usr/lib/pkg.depot-config ( -d repository_dir | -S ) -r runtime_dir [-c cache_dir] [-s cache_size] [-p port] [-h hostname] [-l logs_dir] [-T template_dir] [-A] [-t server_type] ( ([-F] [-P server_prefix] ) | [--https ( (--cert server_cert_file --key server_key_file [--cert-chain ssl_cert_chain_file] ) | --cert-key-dir cert_key_directory ) [ (--ca-cert ca_cert_file --ca-key ca_key_file ) ] [--smf-fmri smf_pkg_depot_fmri] ] )
pkg.depot-config 为映像包管理系统 (Image Packaging System, IPS) 库 (depot) 生成配置文件。IPS 库 (depot) 通过 HTTP 提供对 IPS 软件包系统信息库的可伸缩只读访问。
IPS 库 (depot) 是通过将 svc:/application/pkg/depot 服务管理工具 (Service Management Facility, SMF) 服务与 svc:/application/pkg/server 服务的一个或多个实例结合使用来配置的。
pkg.depot-config 生成要由 pkg/depot 服务使用的配置,也可以通过在命令行上调用 pkg.depot-config 命令来生成独立的配置。
要更改库 (depot) 配置,请修改 pkg/depot 服务或相应 pkg/server 服务实例的属性并刷新该实例。修改 pkg/server 服务实例的状态可能会导致刷新 pkg/depot 服务并重新生成库 (depot) 配置文件。
要为多个系统信息库提供服务,需要针对每个系统信息库提供一个 pkg/server 服务实例,但只需要一个 pkg/depot 服务实例。pkg/server 服务的每个实例都映射到一个由 pkg/inst_root 服务属性指定的 IPS 系统信息库。pkg/server 服务执行以下操作之一:
运行相关的 pkg.depotd 进程以便为系统信息库的内容服务。
不运行任何进程,而是改为帮助配置 pkg.depot 服务。
每个系统信息库都由一个 pkg/server 服务实例提供支持。系统信息库还可能由 pkg/depot:default 服务提供支持。如果特定 pkg/server 实例的 pkg/standalone 属性设置为 true,则系统信息库由 pkg.depotd 进程提供服务。如果特定 pkg/server 实例的 pkg/standalone 属性设置为 false,则系统信息库由 pkg/depot:default 服务提供服务。每个 pkg/server 实例要么运行 pkg.depotd,要么为 pkg/depot:default 贡献配置信息(系统信息库的 pkg/inst_root 位置)。
在启用其 pkg/standalone 属性设置为 false 且 pkg/readonly 属性设置为 true 的 pkg/server 实例时,pkg/depot:default 配置会进行刷新,该系统信息库将由 pkg/depot:default 服务提供服务。当您禁用同一个 pkg/server 实例时,pkg/depot:default 服务会进行刷新,该系统信息库将不再由 pkg/depot:default 服务提供服务。
可以通过使用带有 –F 选项的 pkg.depot-config 命令来手动配置库 (depot)。–F 选项会生成可添加到现有 Web 服务器的 Web 服务器配置文件。在这种情况下,库 (depot) 可以运行,但其功能会减少:pkg search 支持和库 (depot) 浏览器用户界面将不可用。为了安装和更新 Oracle Solaris 11 系统而需要的所有其他 pkg(1) 功能均可用。
使用下列方法之一可以将系统信息库路径和配置传递到 depot 服务器:
使用带有 –S 选项的 pkg.depot-config 命令。–S 选项导致 pkg.depotd 在系统中查询 pkg/server 服务的符合以下条件的所有实例:标记为 online、pkg/standalone 属性设置为 false 而且 pkg/readonly 属性设置为 true。
使用带有 –d 选项的 pkg.depot-config 命令。–d 选项提供要使用的 pkg(7) 系统信息库的路径。接受多个 –d 选项。
系统信息库必须具有允许 pkg5srv 用户读取系统信息库中文件和目录的文件权限。
支持以下选项:
指定要使用的 pkg(7) 文件系统信息库的路径。prefix 用作可从其中访问此系统信息库的 depot-config Web 服务器名称空间的前缀。repository_dir 是一个包含版本 4(缺省)pkg(7) 软件包系统信息库的目录。repository_dir 的值将包括在 depot 服务器配置中。–d 选项不能与 –S 选项一起使用。如果不使用 –S 选项,则至少需要一个 –d 选项。允许使用多个 –d 选项。
在系统中查询要使用的系统信息库。–S 选项导致 pkg.depotd 在系统中查询 pkg/server 服务的符合以下条件的所有实例:标记为 online、pkg/standalone 属性设置为 false 而且 pkg/readonly 属性设置为 true。这些属性值允许库 (depot) 同时运行多个未设置这些属性的 pkg/server 实例。有关 pkg.depotd 的信息,请参见 pkg.depotd(8) 手册页。–S 选项不能与 –d 选项一起使用。
指定配置文件的缺省输出目录。此目录还可以通过在 pkg/depot 服务中设置 config/runtime_dir 属性来指定。在使用 config/runtime_dir 属性时,此目录的内容会在 pkg/depot 服务启动时重新创建。
指定库 (depot) 用来存储其高速缓存的目录。如果同时指定了 –A 选项,则还可以使用高速缓存目录来存储服务器端 pkg(7) 搜索索引。cache_dir 目录还可以通过在 pkg/depot 服务中设置 config/cache_dir 属性来指定。
为库 (depot) 指定最大高速缓存大小。cache_size 值是整数个兆字节。如果 cache_size 为 0,则 Web 服务器不执行任何缓存。cache_size 的缺省值为 0。如果由 depot 服务器提供服务的所有文件系统信息库都位于 depot 服务器本地(而不是通过 NFS 访问),则缺省值 0 已足够。此高速缓存大小还可以通过在 pkg/depot 服务中设置 config/cache_max 属性来指定。
指定将由库 (depot) 侦听的端口号。port 的缺省值为 80。此端口还可以通过在 pkg/depot 服务中设置 config/port 属性来指定。当系统信息库正由 pkg.depot 服务管理时,将忽略 pkg/server 服务的 pkg/port 属性。
指定要用作 Apache ServerName 指令的参数的主机名。hostname 的缺省值为 0.0.0.0。此主机名还可以通过在 pkg/depot 服务中设置 config/host 属性来指定。
指定库 (depot) 用来存储日志文件的目录。logs_dir 的缺省值为 /var/log/pkg/depot。此目录还可以通过在 pkg/depot 服务中设置 config/log_dir 属性来指定。
指定用来构建库 (depot) 配置的模板所在的目录。template_dir 的缺省值为 /etc/pkg/depot。此目录还可以通过在 pkg/depot 服务中设置 config/template_dir 属性来指定。此目录应当不需要进行更改。
在调用 pkgrepo refresh 时刷新由库 (depot) 维护的任何搜索索引。缺省情况下,在调用 pkgrepo refresh 时,由库 (depot) 维护的搜索索引不进行刷新。此选项还可以通过在 pkg/depot 服务中设置 config/allow_refresh 属性来指定。最佳做法不是使用 –A 选项或 config/allow_refresh 属性来刷新生产服务器上的索引,因为搜索索引会在库 (depot) 启动时自动刷新。
指定 pkg.depot-config 应当为其输出配置信息的 Web 服务器类型。在该发行版中,对于 server_type,缺省值为 apache2 (Apache 2.4),可接受的值为 apache2 和 apache22 (Apache 2.2)。
生成一个部分配置,该配置允许 Web 服务器使用现有的 Web 服务为客户机提供基本的 pkg(7) 安装操作。对于 Oracle Solaris OS 上运行的 Apache Web 服务器,该部分配置文件可以放在 /etc/apache2/2.4/conf.d 中。对于其他操作系统,请查阅 OS 文档以确定如何使用这个部分配置文件。另请参见 –P 选项。
指定用来将库 (depot) 映射到 Web 服务器名称空间的前缀。–P 选项应当与 –F 选项一起使用。
启用 HTTPS 服务。此选项不能与 –F 或 –P 选项一起使用。
指定服务器证书文件的位置。此选项只能与 –-https 选项一起使用。–-cert 和 –-key 选项或者 –-cert-key-dir 选项必须与 –-https 选项一起使用。
指定服务器密钥文件的位置。此选项只能与 –-https 选项一起使用。–-cert 和 –-key 选项或者 –-cert-key-dir 选项必须与 –-https 选项一起使用。
指定在省略 –-cert 和 –-key 选项时,应当在其中存储自动生成的证书和密钥的目录。此选项只能与 –-https 选项一起使用。–-cert 和 –-key 选项或者 –-cert-key-dir 选项必须与 –-https 选项一起使用。
指定顶级 CA 证书文件的位置。此选项只能与 –-https 选项一起使用,而且必须是与 –-ca-key 选项共同使用。此选项仅用于根据此 CA 证书和 –-ca-key 选项所指定的 CA 密钥自动生成服务器证书。
指定顶级 CA 密钥文件的位置。此选项只能与 –-https 选项一起使用,而且必须是与 –-ca-cert 选项共同使用。此选项仅用于根据此 CA 密钥和 –-ca-cert 选项所指定的 CA 证书自动生成服务器证书。
此选项只能与 –-https 选项一起使用。如果服务器证书不是由顶级 CA 直接签名而是由中间颁发机构签名的,则需要使用此选项。
指定 pkg/depot 服务实例的 FMRI。如果为该实例自动生成了任何证书或密钥,则可以使用此选项更新该实例的相应 SMF 属性。此选项只能与 –-https 选项一起使用。
如果未使用 –F 选项,而且设置了缺省 -t apache2,则 svc:/application/pkg/depot 服务在启动时将在 /etc/pkg/depot/conf.d 中查找其他可用于扩展服务器配置的 Apache 配置文件。有关用于配置 Web 服务器的指令的详细信息,请查阅 Apache Web 服务器文档。
此示例中的系统运行多个 svc:/application/pkg/server 实例和单个 svc:/application/pkg/depot 实例。pkg/server:standalone 实例有一个相关的 pkg.depotd 进程。pkg.depotd 进程为 pkg/server:standalone 服务中配置的系统信息库提供服务。pkg/server:userland 实例没有相关进程。pkg/depot:default 服务为 pkg/server:userland 服务中配置的系统信息库提供服务。
$ svcs pkg/server STATE STIME FMRI disabled Feb_06 svc:/application/pkg/server:default online Feb_03 svc:/application/pkg/server:userland online Feb_03 svc:/application/pkg/server:standalone $ svcs pkg/depot STATE STIME FMRI online Feb_07 svc:/application/pkg/depot:default $ svcprop -p pkg/standalone -p pkg/readonly \ pkg/server:standalone true true $ svcprop -p pkg/standalone -p pkg/readonly \ pkg/server:userland false true $ svcs -p svc:/application/pkg/server:standalone STATE STIME FMRI online Feb_03 svc:/application/pkg/server:standalone Jan_31 1206 pkg.depotd $ svcs -p svc:/application/pkg/server:userland STATE STIME FMRI online Feb_03 svc:/application/pkg/server:userland示例 2 显示与库 (depot) 相关联的进程
下面的命令显示与 pkg/depot 服务相关联的 httpd 进程。
$ svcs -p pkg/depot STATE STIME FMRI online 11:43:56 svc:/application/pkg/depot:default 11:43:55 16969 httpd 11:43:55 16974 httpd 11:43:55 16975 httpd 11:43:55 16976 httpd 11:49:01 16990 httpd 11:51:33 16995 httpd
将返回以下退出值:
命令成功。
命令失败。
指定的命令行选项无效。
有关下列属性的说明,请参见 attributes(7):
|
svcprop(1)、svcs(1)、svcadm(8)、svccfg(8)、pkg.depotd(8)、pkg(7)
《在 Oracle Solaris 11.4 中创建软件包系统信息库》
https://github.com/oracle/solaris-ips