成为超级用户或同等角色。
角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见 《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”。
删除与要添加的软件包同名的任何已假脱机的软件包。
有关删除假脱机软件包的信息,请参见 示例 22–19。
将软件包添加到假脱机目录中。
# pkgadd -d device-name -s spooldir pkgid ... |
指定软件包的绝对路径。device-name 可以是设备、目录或假脱机目录的路径。
指定该软件包进行假脱机的假脱机目录名称。必须指定 spooldir。
(可选)要添加到假脱机目录中的一个或多个软件包的名称,用空格分隔。如果省略,pkgadd 命令将复制所有可用的软件包。
检验软件包是否已成功复制到假脱机目录中。
$ pkginfo -d spooldir | grep pkgid |
如果 pkgid 已正确复制,pkginfo 命令将返回一行与 pkgid 相关的信息。否则,pkginfo 命令将返回系统提示符。
以下示例说明如何将 SUNWman 软件包从基于 SPARC 的已挂载 Oracle Solaris 10 CD 传送到缺省的假脱机目录 (/var/spool/pkg)。
# pkgadd -d /cdrom/cdrom0/Solaris_10/Product -s /var/spool/pkg SUNWman Transferring <SUNWman> package instance |
如果要复制的软件包位于远程系统上,则可以(以软件包格式)手动挂载包含该软件包的目录,并将它们复制到本地的假脱机目录中。
以下示例说明了此方案中使用的命令。在本示例中,假设名为 package-server 的远程系统的 /latest-packages 目录中有软件包。mount 命令用来在 /mnt 上以本地方式挂载软件包目录。pkgadd 命令用来将 SUNWpl5p 软件包从 /mnt 复制到缺省的假脱机目录 (/var/spool/pkg)。
# mount -F nfs -o ro package-server:/latest-packages /mnt # pkgadd -d /mnt -s /var/spool/pkg SUNWpl5p Transferring <SUNWpl5p> package instance |
如果站点上运行的是自动安装程序,则不必手动挂载远程软件包服务器,而会使用自动安装程序路径(在本示例中为 /net/package-server/latest-packages)作为 -d 选项的参数。
# pkgadd -d /net/package-server/latest-packages -s /var/spool/pkg SUNWpl5p Transferring <SUNWpl5p> package instance |
以下示例说明如何从缺省的假脱机目录安装 SUNWpl5p 软件包。如果不使用任何选项,pkgadd 命令将在 /var/spool/pkg 目录中搜索已命名的软件包。
# pkgadd SUNWpl5p . . . Installation of <SUNWpl5p> was successful. |