管理软件包的工具html
管理软件包的工具或命令bash
工具或命令 服务器 |
说明oracle |
手册页app |
installeride |
启动用于从 Oracle Solaris 安装介质添加软件的安装程序(如 Oracle Solaris 安装程序 GUI)。安装程序要么位于本地,要么位于远程位置。工具 |
|
prodreg (GUI)this |
启动用于添加、删除或显示软件产品信息的安装程序。使用 Oracle Solaris 产品注册表删除或显示软件产品的有关信息,这些软件产品最初经过使用 Oracle Solaris 安装程序 GUI 或 pkgadd 命令安装。spa |
|
Oracle Solaris 产品注册表 prodreg 查看器 (CLI) |
使用 prodreg 命令删除或显示软件产品的有关信息,这些软件产品最初经过使用 Oracle Solaris 安装程序 GUI 或 pkgadd 命令安装。 |
|
pkgadd |
安装软件包。 |
|
pkgchk |
检查软件包的安装状况。 |
|
pkginfo |
列出软件包信息。 |
|
pkgparam |
显示软件包的参数值。 |
|
pkgrm |
删除软件包。 |
|
pkgtrans |
将可安装的软件包从一种格式转换为另外一种格式。-g 选项指示 pkgtrans 命令在所获得的数据流中生成和存储签名。 |
向系统中添加软件包。
# 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?
能够回答 yes、no 或 quit。若是指定了多个软件包,请键入 no 中止安装正在安装的软件包。pkgadd 命令会继续安装其余软件包。键入 quit 可中止安装。
检验软件包是否已成功安装。
# pkgchk -v pkgid
若是未出现错误,则会返回已安装文件的列表。不然,pkgchk 命令将报告错误。
从已挂载 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
.
.
从远程软件包服务器安装软件包
若是要安装的软件包位于远程系统上,则能够(以软件包格式)手动挂载包含该软件包的目录,并在本地系统上安装软件包。
如下示例说明如何从远程系统安装软件包。在本示例中,假设名为 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.
经过指定管理文件从远程软件包服务器安装软件包
如下示例与上面的示例类似,区别在于本示例使用 -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.
从 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
.
.
.
将软件包添加到假脱机目录中 (pkgadd)
将软件包添加到假脱机目录中。
# pkgadd -d device-name
-s spooldir pkgid ...
-d device-name
指定软件包的绝对路径。device-name 能够是设备、目录或假脱机目录的路径。
-s spooldir
指定该软件包进行假脱机的假脱机目录名称。必须指定 spooldir。
pkgid
(可选)要添加到假脱机目录中的一个或多个软件包的名称,用空格分隔。若是省略,pkgadd 命令将复制全部可用的软件包。
检验软件包是否已成功复制到假脱机目录中。
$ pkginfo -d spooldir
| grep pkgid
若是 pkgid 已正确复制,pkginfo 命令将返回一行与 pkgid 相关的信息。不然,pkginfo 命令将返回系统提示符。
从已挂载 CD 设置假脱机目录
如下示例说明如何将 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.
列出有关全部已安装软件包的信息 (pkginfo)
列出已安装的软件包
如下示例说明如何列出本地系统上安装的全部软件包,不管本地系统是独立系统仍是服务器。输出中显示了主类别、软件包名称和软件包的说明。
$ pkginfo
system SUNWaccr System Accounting, (Root)
system SUNWaccu System Accounting, (Usr)
system SUNWadmap System administration applications
system SUNWadmc System administration core libraries
.
.
.
显示有关软件包的详细信息
如下示例说明如何经过指定长格式列出系统上已安装的全部软件包,长格式中包括有关指定软件包的全部可用信息。
$ pkginfo -l SUNWcar
PKGINST: SUNWcar
NAME: Core Architecture, (Root)
CATEGORY: system
ARCH: i386.i86pc
VERSION: 11.10.0,REV=2005.01.21.16.34
BASEDIR: /
VENDOR: Oracle Corporation
DESC: core software for a specific hardware platform group
PSTAMP: on10ptchfeatx20110211045100
INSTDATE: Mar 03 2011 10:57
HOTLINE: Please contact your local service provider
STATUS: completely installed
FILES: 2 installed pathnames
2 shared pathnames
2 directories
检查已安装软件包的完整性 (pkgchk)
检查已安装软件包的状态。
要检查文件的属性和内容,请键入如下命令:
# pkgchk -a| -c -v pkid ...
要指定假脱机目录的绝对路径,请键入如下命令:
# pkgchk -d spooldir pkgid ...
-a
指定仅审计文件属性(权限),而不是像缺省状况下那样既审计文件属性又审计文件内容。
-c
指定仅审计文件内容,而不是像缺省状况下那样既审计文件内容又审计文件属性。
-v
指定详细模式,该模式会显示正在处理的文件的名称。
-d spooldir
指定假脱机目录的绝对路径。
pkgid
(可选)一个或多个软件包的名称,用空格分隔。若是未指定 pkgid,则会检查系统上已安装的全部软件包。
检查已安装软件包的内容
如下示例说明如何检查软件包的内容。
# pkgchk -c SUNWbash
若是未出现错误,将返回系统提示符。不然,pkgck 命令将报告错误。
检查已安装软件包的文件属性
如下示例说明如何检查软件包的文件属性。
# pkgchk -a SUNWbash
若是未出现错误,将返回系统提示符。不然,pkgck 命令将报告错误。
检查已在假脱机目录中安装的软件包
如下示例说明如何检查已复制到假脱机目录 (/export/install/packages) 中的软件包。
# pkgchk -d /export/install/packages
## checking spooled package <SUNWadmap>
## checking spooled package <SUNWadmfw>
## checking spooled package <SUNWadmc>
## checking spooled package <SUNWsadml>
对于假脱机软件包的检查有必定的限制,由于并不是全部的信息均可以在未安装软件包的状况下进行审计
检查已安装对象的完整性 ( pkgchk -p, pkgchk -P)
检查已安装对象的完整性。
要经过指定一个或多个完整路径名来检验已安装对象的完整性,请键入如下命令:
# pkgchk -lp path-name
要使用部分路径名(能够是一个或多个)来检验已安装对象的完整性,请键入如下命令:
# pkgchk -lP partial-path-name
-p path
仅检查所列出的一个或多个路径名是否正确。路径能够是一个或多个用逗号分隔的路径名。指定仅审计文件属性(权限),而不是像缺省状况下那样既审计文件属性又审计文件内容。
-P partial-path
仅检查所列出的一个或多个部分路径名是否正确。部分路径能够是一个或多个用逗号分隔的部分路径名。它可匹配任何包含特定字符串(即部分路径中所包含的字符串)的路径名。指定仅审计文件内容,而不是像缺省状况下那样既审计文件内容又审计文件属性。
-l
列出有关构成软件包的选定文件的信息。此选项与 -a、-c、-f、-g 和 -v 选项不兼容。指定详细模式,该模式会显示正在处理的文件的名称。
经过指定完整路径名检查已安装对象的完整性
如下示例说明如何使用 pkgchk -lp 命令,经过指定完整路径名来检查文件系统上对象的内容/属性。-l 选项列出了有关构成软件包的选定文件的信息。
# pkgchk -lp /usr/sbin/pkgadd
Pathname: /usr/sbin/pkgadd
Type: regular file
Expected mode: 0555
Expected owner: root
Expected group: sys
Expected file size (bytes): 867152
Expected sum(1) of contents: 45580
Expected last modification: Jul 02 02:20:34 2004
Referenced by the following packages:
SUNWpkgcmdsu
Current status: installed
经过指定部分路径名检查已安装对象的完整性
如下示例说明如何使用 pkgchk -lP 命令,经过指定部分路径名(如文件名或目录名)来检查文件系统上对象的内容/属性。-l 选项列出了有关构成软件包的选定文件的信息。
# pkgchk -lP /sbin/pkgadd
Pathname: /usr/sbin/pkgadd
Type: regular file
Expected mode: 0555
Expected owner: root
Expected group: sys
Expected file size (bytes): 867152
Expected sum(1) of contents: 45580
Expected last modification: Jul 02 02:20:34 2004
Referenced by the following packages:
SUNWpkgcmdsu
Current status: installed
Pathname: /usr/sbin/pkgask
Type: linked file
Source of link: ../../usr/sbin/pkgadd
Referenced by the following packages:
SUNWpkgcmdsu
Current status: installed
删除软件包
删除已安装的软件包。
# pkgrm pkgid ...
pkgid 标识一个或多个要删除的软件包的名称,用空格分隔。若是省略,pkgrm 命令将删除全部可用的软件包。
删除软件包
如下示例说明如何删除软件包。
# pkgrm SUNWctu
The following package is currently installed:
SUNWctu Netra ct usr/platform links (64-bit)
(sparc.sun4u) 11.9.0,REV=2001.07.24.15.53
Do you want to remove this package? y
## Removing installed package instance <SUNWctu>
## Verifying package dependencies.
## Processing package information.
## Removing pathnames in class <none>
.
.
.
删除假脱机软件包
如下示例说明如何删除假脱机软件包。
# pkgrm -s /export/pkg SUNWaudh
The following package is currently spooled:
SUNWaudh Audio Header Files
(sparc) 11.10.0,REV=2003.08.08.00.03
Do you want to remove this package? y
Removing spooled package instance <SUNWaudh>
列出软件包的依赖软件包
要列出某个软件包的依赖软件包,请使用 pkgdep 命令。该命令的语法以下:
# pkgdep package-name
列出依赖软件包
# pkgdep SUNWzsh
SUNWcar
SUNWcsd
SUNWcsl
SUNWcsr
SUNWcsu
SUNWkvm