在Solaris操作系统中进行软件包管理时,pkginfo与pkgrm是两款不可或缺的实用命令。先介绍pkginfo,它用于查询软件包的详细信息,操作非常便捷。
标准用法为:pkginfo [ -d [ device | pathname ] ] [ -l ] pkg_name。以下是对关键参数的解释:
-d 后接设备或路径,指定软件包所在的存储位置
-l 用于输出更详尽的描述信息
pkg_name 则代表你要查询的软件包名称
举例来说,若想从光盘中获取某个音频应用的详细信息,可执行如下命令:# pkginfo -d /cdrom/cdrom0/s0/Solaris_2.7/Product -l SUNWaudio
执行后,系统会返回该软件包的基本档案:
PKGINST: SUNWaudio
NAME: Audio applications
CATEGORY: system
ARCH: sparc
VERSION: 3.6.4,REV=1.98.08.13
BASEDIR: /
VENDOR: Sun Microsystems, Inc.
DESC: Audio binaries
PSTAMP: dtbuild37s19980813171753
HOTLINE: Please contact your local service provider
STATUS: spooled
FILES: 9 spooled pathnames
2 directories
3 executables
4 package information files
700 blocks used (approx)
接下来讲解pkgrm,其职责是卸载软件包。语法较为简洁:pkgrm package_name。以卸载方才提到的音频包为例:# pkgrm SUNWaudio
系统会先展示当前已安装的软件包信息:
The following package is currently installed:
SUNWaudio Audio applications
(sparc) 3.6.4,REV=1.98.08.13
Do you want to remove this package? y
在确认删除后,系统会开始执行卸载流程。此处有一个常见隐患需要留意:若存在其他软件包依赖于你正在删除的包,则依赖检查会失败,并输出一连串警告信息:
WARNING: The package depends on the package currently being removed.
WARNING: The package depends on the package currently being removed.
WARNING: The package depends on the package currently being removed.
WARNING: The package depends on the package currently being removed.
Dependency checking failed.
这实际上是Solaris软件包管理中的一个典型陷阱——在执行卸载操作前,务必先查明依赖关系,否则可能导致其他应用运行异常。建议在实践中先用pkginfo确认无其他软件包依赖,再执行删除操作,从而避免依赖冲突。
