系统管理指南:基本管理

Procedure如何添加软件包 (pkgadd)

  1. 成为超级用户或同等角色。

    角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见 《系统管理指南:安全性服务》中的“配置 RBAC(任务列表)”

  2. 删除与要添加的软件包同名的已安装软件包。

    该步骤可确保系统对于已添加和删除的软件保留正确的记录。有时,您可能希望在系统上维护同一应用程序的多个版本。有关维护多个软件副本的策略,请参见删除软件包的原则 (pkgrm)。有关任务的信息,请参见如何删除软件包 (pkgrm)

  3. 向系统中添加软件包。


    # pkgadd -a admin-file 
    -d device-name pkgid ...
    -a admin-file

    (可选)指定在安装期间应当由 pkgadd 命令检查的管理文件。有关使用管理文件的详细信息,请参见使用管理文件

    -d device-name

    指定软件包的绝对路径。device-name 可以是设备、目录或假脱机目录的路径。如果未指定软件包所在的路径, pkgadd 命令将检查缺省的假脱机目录 (/var/spool/pkg )。如果软件包不在缺省的假脱机目录中,软件包的安装将失败。

    pkgid

    (可选)一个或多个要安装的软件包的名称,用空格分隔。如果省略,pkgadd 命令会从指定的设备、目录或假脱机目录安装所有可用的软件包。

    如果 pkgadd 命令在软件包安装期间遇到问题,则会在该提示符后面显示一则与该问题有关的消息:


    Do you want to continue with this installation?

    可以回答 yesnoquit。如果指定了多个软件包,请键入 no 停止安装正在安装的软件包。pkgadd 命令会继续安装其他软件包。键入 quit 可停止安装。

  4. 检验软件包是否已成功安装。


    # pkgchk -v pkgid
    

    如果未出现错误,则会返回已安装文件的列表。否则,pkgchk 命令将报告错误。


示例 22–4 从已挂载 CD 添加软件包

以下示例说明如何从已挂载的 Oracle Solaris 10 CD 安装 SUNWpl5u 软件包。还说明如何检验软件包文件是否已正确安装。


# pkgadd -d /cdrom/cdrom0/Solaris_10/Product SUNWpl5u

	.
	.
	.
Installation of <SUNWpl5u> was successful.
# pkgchk -v SUNWpl5u
/usr
/usr/bin
/usr/bin/perl
/usr/perl5
/usr/perl5/5.8.4
.
.
.

此示例说明当运行的是 Solaris 10 10/08 发行版或更高版本时所要使用的路径。


# pkgadd -d /cdrom/cdrom0/s0/Solaris_10/Product SUNWpl5u

	.
	.
	.
Installation of <SUNWpl5u> was successful.
# pkgchk -v SUNWpl5u
/usr
/usr/bin
/usr/bin/perl
/usr/perl5
/usr/perl5/5.8.4
.
.
.


示例 22–5 从远程软件包服务器安装软件包

如果要安装的软件包位于远程系统上,则可以(以软件包格式)手动挂载包含该软件包的目录,并在本地系统上安装软件包。

以下示例说明如何从远程系统安装软件包。在本示例中,假设名为 package-server 的远程系统的 /latest-packages 目录中有软件包。mount 命令用来在 /mnt 上以本地方式挂载软件包。pkgadd 命令用来安装 SUNWpl5u 软件包。


# mount -F nfs -o ro package-server:/latest-packages /mnt
# pkgadd -d /mnt SUNWpl5u
	.
	.
	.
Installation of <SUNWpl5u> was successful.

如果站点上运行的是自动安装程序,则无需手动挂载远程软件包服务器,而会使用自动安装程序路径(在本示例中为 /net/package-server/latest-packages)作为 -d 选项的参数。


# pkgadd -d /net/package-server/latest-packages SUNWpl5u
	.
	.
	.
Installation of <SUNWpl5u> was successful.


示例 22–6 通过指定管理文件从远程软件包服务器安装软件包

以下示例与上面的示例相似,区别在于本示例使用 -a 选项并指定了一个名为 noask-pkgadd 的管理文件,在添加软件包时避免用户交互 (pkgadd)中对此进行了说明。在本示例中,假设 noask-pkgadd 管理文件位于缺省位置 (/var/sadm/install/admin)。


# pkgadd -a noask-pkgadd -d /net/package-server/latest-packages SUNWpl5u

	.
	.
	.
Installation of <SUNWpl5u> was successful.


示例 22–7 从 HTTP URL 安装软件包

以下示例说明如何使用 HTTP URL 作为设备名称来安装软件包。该 URL 必须指向流格式的软件包。


# pkgadd -d http://install/xf86-4.3.0-video.pkg

## Downloading...
..............25%..............50%..............75%..............100%
## Download Complete


The following packages are available:
  1  SUNWxf86r     XFree86 Driver Porting Kit (Root)
                   (i386) 4.3.0,REV=0.2003.02.28
  2  SUNWxf86u     XFree86 Driver Porting Kit (User)
                   (i386) 4.3.0,REV=0.2003.02.28

.
.
.