第1 9 章
379
使用pkgadd 命令添加和删除已签名的软件包
以下过程介绍如何使用pkgadd 命令添加和删除已签名的软件包。
▼ 如何从Java 密钥库导入受信任证书(pkgadm
addcert)
成为超级用户或承担等效角色。
角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南
:安全性服务》中的“配置RBAC(任务列表)”。
检验根证书颁发机构(certificate authority, CA) 的证书是否存在于JavaTM 密钥库中。
# keytool -storepass storepass -list -keystore certfile
keytool 管理私钥及其相关X.509 证书链的Java 密钥库(数据库),
X.509 证书链用来验证与私钥对应的公钥。还可管理来自受信
任实体的证书。有关keytool 实用程序的更多信息,请参见
keytool-Key and CertificateManagement Tool。
-storepass storepass 指定用来保护密钥库完整性的口令。
-list 缺省情况下,会列显证书的MD5 指纹。
-keystore certfile 指定持久性密钥库文件的名称和位置。
将根CA 证书从Java 密钥库导出到临时文件中。
# keytool -export -storepass storepass -alias gtecybertrustca -keystore
gtecybertrustca -keystore certfile -file filename
-export 导出受信任证书。
-storepass storepass 指定用来保护Java 密钥库完整性的口令。
-alias gtecybertrustca 标识受信任证书的别名。
-keystore certfile 指定密钥库文件的名称和位置。
-file filename 标识用来存放导出证书的文件。
将受信任证书导入到软件包密钥库中。
# pkgadm addcert -t -f format certfile
-t 指示该证书是受信任CA 证书。输出中包括要求用户进行检验的证书的详
细信息。
-f format 指定证书和私钥的格式。要导入的证书所用的编码格式必须是PEM(保
密性增强的电子邮件)或二进制DER(标识编码规则)格式。
1
2
3
4
使用pkgadd 命令添加和删除已签名的软件包
380 系统管理指南:基本管理• 2006 年7 月
certfile 指定包含证书的文件。
删除临时文件。
# rm /tmp/file-name
有关更多信息,请参见pkgadm(1M) 手册页。
从Java 密钥库导入受信任证书
以下示例说明如何导入受信任证书。在本示例中,会使用keytool 命令将Sun 的根CA
证书从Java 密钥库导入到软件包密钥库中。
# keytool -export -storepass changeit -alias gtecybertrustca -keystore
gtecybertrustca -keystore /usr/j2se/jre/lib/security/cacerts -file /
/tmp/root.crt
Certificate stored in file </tmp/root.crt>
# pkgadm addcert -t -f der /tmp/root.crt
Keystore Alias: GTE CyberTrust Root
Common Name: GTE CyberTrust Root
Certificate Type: Trusted Certificate
Issuer Common Name: GTE CyberTrust Root
Validity Dates: <Feb 23 23:01:00 1996 GMT> - <Feb 23 23:59:00 2006 GMT>
MD5 Fingerprint: C4:D7:F0:B2:A3:C5:7D:61:67:F0:04:CD:43:D3:BA:58
SHA1 Fingerprint: 90:DE:DE:9E:4C:4E:9F:6F:D8:86:17:57:9D:
D3:91:BC:65:A6:89:64
Are you sure you want to trust this certificate? yes
Trusting certificate <GTE CyberTrust Root>
Type a Keystore protection Password.
Press ENTER for no protection password (not recommended):
For Verification: Type a Keystore protection Password.
Press ENTER for no protection password (not recommended):
Certificate(s) from </tmp/root.crt> are now trusted
# rm /tmp/root.crt
▼ 如何显示证书信息(pkgadm listcert)
成为超级用户或承担等效角色。
角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南
:安全性服务》中的“配置RBAC(任务列表)”。
显示软件包密钥库的内容。
# pkgadm listcert -p passarg
5
示例19–1
1
2
使用pkgadd 命令添加和删除已签名的软件包
第19 章• 使用软件包命令管理软件(任务) 381
显示证书信息
以下示例说明如何显示存储在本地的证书的详细信息。
# pkgadm listcert -P pass:test123
Keystore Alias: GTE CyberTrust Root
Common Name: GTE CyberTrust Root
Certificate Type: Trusted Certificate
Issuer Common Name: GTE CyberTrust Root
Validity Dates: <Feb 23 23:01:00 1996 GMT> - <Feb 23 23:59:00 2006 GMT>
MD5 Fingerprint: C4:D7:F0:B2:A3:C5:7D:61:67:F0:04:CD:43:D3:BA:58
SHA1 Fingerprint: 90:DE:DE:9E:4C:4E:9F:6F:D8:86:17:57:9D:D3:91:
BC:65:A6:89:64
▼ 如何删除证书(pkgadm removecert)
成为超级用户或承担等效角色。
角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南
:安全性服务》中的“配置RBAC(任务列表)”。
从软件包密钥库中删除受信任证书。
# pkgadm removecert -n "certfile"
removecert -n “certfile” 选项指定用户证书/密钥对的别名或受信任证书的别名。
注– 可使用pkgadm listcert 命令查看证书的别名。
删除证书
以下示例说明如何删除证书。
# pkgadm listcert
Keystore Alias: GTE CyberTrust Root
Common Name: GTE CyberTrust Root
Certificate Type: Trusted Certificate
Issuer Common Name: GTE CyberTrust Root
Validity Dates: <Feb 23 23:01:00 1996 GMT> - <Feb 23 23:59:00 2006 GMT>
MD5 Fingerprint: C4:D7:F0:B2:A3:C5:7D:61:67:F0:04:CD:43:D3:BA:58
SHA1 Fingerprint: 90:DE:DE:9E:4C:4E:9F:6F:D8:86:17:57:9D:D3:91:BC:
65:A6:89:64
# pkgadm removecert -n "GTE CyberTrust Root"
Enter Keystore Password: storepass
Successfully removed Certificate(s) with alias <GTE CyberTrust Root>
示例19–2
1
2
示例19–3
使用pkgadd 命令添加和删除已签名的软件包
382 系统管理指南:基本管理• 2006 年7 月
▼ 如何设置代理服务器(pkgadd)
如果系统位于具有代理的防火墙之后,则需要首先设置代理服务器,然后才能使用
pkgadd 命令从HTTP 服务器添加软件包。
成为超级用户或承担等效角色。
角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南
:安全性服务》中的“配置RBAC(任务列表)”。
选择下列方法之一指定代理服务器:
a. 使用http_proxy、HTTPPROXY 或HTTPPROXYPORT 环境变量指定代理服务器。
例如:
# setenv http_proxy http://mycache.domain:8080
或者指定以下内容之一:
# setenv HTTPPROXY mycache.domain
# setenv HTTPPROXYPORT 8080
b. 在pkgadd 命令行上指定代理服务器。
例如:
# pkgadd -x mycache.domain:8080 -d http://myserver.com/pkg SUNWpkg
c. 创建包括代理服务器信息的管理文件。
例如:
# cat /tmp/admin
mail=
instance=unique
partial=ask
runlevel=ask
idepend=ask
rdepend=ask
space=ask
setuid=ask
conflict=ask
action=ask
networktimeout=60
networkretries=3
authentication=quit
keystore=/var/sadm/security
basedir=default
proxy=mycache.domain:8080
1
2
使用pkgadd 命令添加和删除已签名的软件包
第19 章• 使用软件包命令管理软件(任务) 383
然后,使用pkgadd -a 命令标识管理文件。例如:
# pkgadd -a /tmp/admin -d http://myserver.com/pkg SUNWpkg
▼ 如何添加已签名的软件包(pkgadd)
以下过程假设您已经导入了Sun 的根CA 证书。有关更多信息,请参见第380 页中的“
如何从Java 密钥库导入受信任证书(pkgadm addcert)”。
成为超级用户或承担等效角色。
角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南
:安全性服务》中的“配置RBAC(任务列表)”。
添加已签名的软件包。
# pkgadd -d /pathname/device-name
-d device-name 选项指定从中安装软件包的设备。该设备可以是目录、磁带、软盘或可
移除磁盘。该设备还可以是由pkgtrans 命令创建的数据流。
添加已签名的软件包
以下示例说明如何添加存储在系统上的已签名软件包。
# # pkgadd -d /tmp/signed_pppd
The following packages are available:
1 SUNWpppd Solaris PPP Device Drivers
(sparc) 11.10.0,REV=2003.05.08.12.24
Select package(s) you wish to process (or ’all’ to process
all packages). (default: all) [?,??,q]: all
Enter keystore password:
## Verifying signature for signer <User Cert 0>
.
.
.
以下示例说明如何使用HTTP URL 作为设备名称安装已签名的软件包。该URL 必须指向
流格式的软件包。
# pkgadd -d http://install/signed-video.pkg
## Downloading...
..............25%..............50%..............75%..............100%
1
2
示例19–4
使用pkgadd 命令添加和删除已签名的软件包
384 系统管理指南:基本管理• 2006 年7 月
## Download Complete
.
.
.
使用软件包命令管理软件包(任务图)
以下任务图说明了可以使用已签名和未签名的软件包命令执行的软件管理任务。
任务说明参考
向本地系统中添加软件包。可以使用pkgadd 命令向本地系统
中添加软件包。
第385 页中的“如何添加软件包(pkgadd)”
将软件包添加到假脱机目录中。可以将软件包添加到假脱机目录
中,而不必实际安装软件。
第388 页中的“将软件包添加到假脱机目录中”
列出有关所有已安装软件包的信
息。
可以使用pkginfo 命令列出有关
已安装软件包的信息。
第390 页中的“如何列出有关所有已安装软件包的
信息( pkginfo)”
检查已安装软件包的完整性。可以使用pkgchk 命令检验已安装
软件包的完整性。
第391 页中的“如何检查已安装软件包的完整性
(pkgchk)”
检查已安装对象的完整性。可以使用带有-p 和-P 选项的
pkchk 命令检验已安装对象的完整
性。-p 选项指定全路径名。新的
-P 选项指定部分路径名。
第392 页中的“如何检查已安装对象的完整性(
pkgchk -p, pkgchk -P)”
删除软件包。可以使用pkgrm 命令删除不需要
的软件包。
第394 页中的“如何删除软件包(pkgrm)”
使用软件包命令管理软件包
下列过程介绍如何使用软件包命令管理软件包。
▼ 如何添加软件包(pkgadd)
成为超级用户或承担等效角色。
角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南
:安全性服务》中的“配置RBAC(任务列表)”。
1
使用软件包命令管理软件包
第19 章• 使用软件包命令管理软件(任务) 385
删除与要添加的软件包同名的已安装软件包。
该步骤可确保系统对于已添加和删除的软件保留正确的记录。有时,您可能希望在系
统上维护同一应用程序的多个版本。有关维护多个软件副本的策略,请参见第322 页
中的“删除软件包的原则(pkgrm)”。有关任务的信息,请参见第394 页中的“如何删
除软件包(pkgrm)”。
向系统中添加软件包。
# pkgadd -a admin-file -d device-name pkgid ...
-a admin-file (可选)指定在安装期间应当由pkgadd 命令检查的管理文件。有关
使用管理文件的详细信息,请参见第322 页中的“使用管理文件
”。
-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 添加软件包
以下示例说明如何从挂载的Solaris 10 CD 安装SUNWpl5u 软件包,还说明如何检验软件
包文件是否已正确安装。
# pkgadd -d /cdrom/cdrom0/s0/Solaris_10/Product SUNWpl5u
.
.
.
Installation of <SUNWpl5u> was successful.
# pkgchk -v SUNWpl5u
/usr
2
3
4
示例19–5
使用软件包命令管理软件包
386 系统管理指南:基本管理• 2006 年7 月
/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 的管理文件,第322 页中的“在添加软件包时避免用户交互(pkgadd)”中
对此进行了说明。在本示例中,假设noask-pkgadd 管理文件位于缺省位置
(/var/sadm/install/admin)。
# pkgadd -a noask-pkgadd -d /net/package-server/latest-packages SUNWpl5u
.
.
.
Installation of <SUNWpl5u> was successful.
示例19–6
示例19–7
使用软件包命令管理软件包
第19 章• 使用软件包命令管理软件(任务) 387
从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
.
.
.
将软件包添加到假脱机目录中
为方便起见,可以将经常安装的软件包复制到假脱机目录中。如果将软件包复制到缺
省的假脱机目录(/var/spool/pkg) 中,那么,在使用pkgadd 命令时无需指定软件包的
源位置(-d device-name 参数)。缺省情况下,pkgadd 命令会检查在命令行上指定的软
件包是否存在于/var/spool/pkg 目录中。请注意,将软件包复制到假脱机目录中不同
于在系统上安装软件包。
▼ 如何将软件包添加到假脱机目录中(pkgadd)
成为超级用户或承担等效角色。
角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南
:安全性服务》中的“配置RBAC(任务列表)”。
删除与要添加的软件包同名的任何已假脱机的软件包。
有关删除假脱机软件包的信息,请参见示例19–20。
将软件包添加到假脱机目录中。
# pkgadd -d device-name -s spooldir pkgid ...
示例19–8
1
2
3
使用软件包命令管理软件包
388 系统管理指南:基本管理• 2006 年7 月
-d device-name 指定软件包的绝对路径。device-name 可以是设备、目录或假脱机目
录的路径。
-s spooldir 指定该软件包进行假脱机的假脱机目录名称。必须指定spooldir。
pkgid (可选)要添加到假脱机目录中的一个或多个软件包的名称,用空
格分隔。如果省略,pkgadd 命令将复制所有可用的软件包。
检验软件包是否已成功复制到假脱机目录中。
$ pkginfo -d spooldir| grep pkgid
如果pkgid 已正确复制,pkginfo 命令将返回一行与pkgid 相关的信息。否则,pkginfo
命令将返回系统提示符。
从已挂载CD 设置假脱机目录
以下示例说明如何将SUNWman 软件包从基于SPARC 的已挂载Solaris 10 CD 传送到缺省的
假脱机目录(/var/spool/pkg)。
# pkgadd -d /cdrom/cdrom0/s0/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
4
示例19–9
示例19–10
使用软件包命令管理软件包
第19 章• 使用软件包命令管理软件(任务) 389
从缺省的假脱机目录安装软件包
以下示例说明如何从缺省的假脱机目录安装SUNWpl5p 软件包。如果不使用任何选项,
pkgadd 命令将在/var/spool/pkg 目录中搜索已命名的软件包。
# pkgadd SUNWpl5p
.
.
.
Installation of <SUNWpl5p> was successful.
▼ 如何列出有关所有已安装软件包的信息( pkginfo)
可以使用pkginfo 命令列出有关已安装软件包的信息。
$ 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: sparc.sun4u
VERSION: 11.9.0,REV=2002.04.06.15.27
BASEDIR: /
VENDOR: Sun Microsystems, Inc.
DESC: core software for a specific hardware platform group
示例19–11
◗
示例19–12
示例19–13
使用软件包命令管理软件包
390 系统管理指南:基本管理• 2006 年7 月
PSTAMP: leo20031003183400
INSTDATE: Feb 20 2004 16:57
HOTLINE: Please contact your local service provider
STATUS: completely installed
FILES: 114 installed pathnames
36 shared pathnames
40 directories
57 executables
21469 blocks used (approx)
▼ 如何检查已安装软件包的完整性(pkgchk)
成为超级用户或承担等效角色。
角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南
:安全性服务》中的“配置RBAC(任务列表)”。
检查已安装软件包的状态。
■ 要检查文件的属性和内容,请键入以下命令:
# pkgchk -a| -c -v pkgid ...
■ 要指定假脱机目录的绝对路径,请键入以下命令:
# pkgchk -d spooldir pkgid ...
-a 指定仅审计文件属性(权限),而不是像缺省情况下那样既审计文件属
性又审计文件内容。
-c 指定仅审计文件内容,而不是像缺省情况下那样既审计文件内容又审计
文件属性。
-v 指定详细模式,该模式会显示正在处理的文件的名称。
-d spooldir 指定假脱机目录的绝对路径。
pkgid (可选)一个或多个软件包的名称,用空格分隔。如果未指定pkgid,则
会检查系统上已安装的所有软件包。
检查已安装软件包的内容
以下示例说明如何检查软件包的内容。
# pkgchk -c SUNWbash
如果未出现错误,将返回系统提示符。否则, pkgck 命令将报告错误。
1
2
示例19–14
使用软件包命令管理软件包
第19 章• 使用软件包命令管理软件(任务) 391
检查已安装软件包的文件属性
以下示例说明如何检查软件包的文件属性。
# 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 命令检查已安装对象的完整性。使用新的-P 选项,可以
指定部分路径。添加此选项有助于将文件映射到软件包。将此选项与-l 选项结合使
用,可以列出有关包含部分路径的文件的信息。使用-p 选项,可以通过指定全路径来
检查已安装对象的完整性。有关更多信息,请参见pkgchk(1M) 手册页。
成为超级用户或承担等效角色。
角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南
:安全性服务》中的“配置RBAC(任务列表)”。
检查已安装对象的完整性。
■ 要通过指定一个或多个全路径名来检验已安装对象的完整性,请键入以下命令:
# pkgchk -lp path-name
■ 要使用部分路径名(可以是一个或多个)来检验已安装对象的完整性,请键入以下
命令:
# pkgchk -lP partial-path-name
示例19–15
示例19–16
1
2
使用软件包命令管理软件包
392 系统管理指南:基本管理• 2006 年7 月
-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
示例19–17
示例19–18
使用软件包命令管理软件包
第19 章• 使用软件包命令管理软件(任务) 393
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
删除软件包
要删除或卸载软件包,请使用添加或安装软件包时所使用的相关工具。例如,如果软
件是使用Solaris 安装程序GUI 安装的,请使用Solaris 安装程序GUI 卸载软件。
注意– 请勿使用rm 命令删除软件包,否则将导致用来跟踪系统上所有已安装软件包的
数据库不准确。
▼ 如何删除软件包(pkgrm)
成为超级用户或承担等效角色。
角色包含授权和具有一定权限的命令。有关角色的更多信息,请参见《系统管理指南
:安全性服务》中的“配置RBAC(任务列表)”。
删除已安装的软件包。
# 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
1
2
示例19–19
使用软件包命令管理软件包
394 系统管理指南:基本管理• 2006 年7 月
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>
示例19–20
使用软件包命令管理软件包
第19 章• 使用软件包命令管理软件(任务)