在共享位置创建系统信息库。创建系统信息库文件系统时,请将 atime 设置为 off。请参见创建和使用本地 IPS 软件包系统信息库的最佳做法。
$ zfs create -o atime=off rpool/export/IPSpkgrepos $ zfs create rpool/export/IPSpkgrepos/Solaris $ zfs get atime rpool/export/IPSpkgrepos/Solaris NAME PROPERTY VALUE SOURCE rpool/export/IPSpkgrepos/Solaris atime off inherited from rpool/export/IPSpkgrepos
创建必需的 pkg(5) 系统信息库基础结构,以便复制系统信息库。前面方法中使用的映像文件包含系统信息库基础结构,因此不需要执行这一步骤。在按照此方法所述使用 pkgrecv 命令复制系统信息库内容时,需要创建系统信息库基础结构,然后将系统信息库内容复制到该基础结构中。请参见 pkg(5) 和 pkgrepo(1) 手册页。
$ pkgrepo create /export/IPSpkgrepos/Solaris
使用 pkgrecv 命令可复制系统信息库。此操作可能会影响网络性能。完成此操作所需的时间取决于网络带宽和连接速度。另请参见复制系统信息库的性能注意事项。如果稍后更新此系统信息库,则仅传送更改内容,此过程所需的时间也会大大减少。
以下命令从 -s 选项指定的软件包系统信息库中检索所有软件包的所有版本,放入 -d 选项指定的系统信息库中。如果要从安全站点复制,请确保已安装必需的 SSL 证书和密钥,并指定必需的证书和密钥选项。
$ pkgrecv -s https://pkg.oracle.com/solaris/support -d /export/IPSpkgrepos/Solaris \ --key /path-to-ssl_key --cert /path-to-ssl_cert '*'
有关 -m 和 --clone 选项的信息,请参见 pkgrecv(1) 手册页。不应将 -m latest 选项用于此目的。使用太稀疏的系统信息库可能会导致在用户尝试更新其映像时出现错误。
使用 pkgrepo 命令的 info、list 和 verify 子命令检查是否已正确复制系统信息库。如果 pkgrepo verify 命令报告了错误,请尝试使用 pkgrepo fix 命令修复这些错误。有关更多信息,请参见 pkgrepo(1) 手册页。
$ zfs snapshot rpool/export/IPSpkgrepos/Solaris@sol-11_2_0