Oct 9

[转]软件包管理的命令:pkginfo、pkgadd和pkgrm 晴

linuxing , 22:01 , 其他 » 杂七杂八 , 评论(0) , 引用(0) , 阅读(13887) , Via 本站原创 | |
   Solaris、AIX、SCO等Unix系统都可以使用pkg包进行系统的软件包管理。pkgadd等命令从分发介质或目录中传输软件包或集合的内容以将其安装到系统。软件包是相关文件和可独立安装的可执行文件的集合。集合由特殊用途的软件包(将它称作集合安装包(Set Installation Package (SIP)))和属于集合的一个或多个软件包的集合组成。SIP 控制集合的安装。
   这里转一份pkgadd等工具的简易使用说明。

一、pkginfo  显示软件包信息
查看当前操作系统已经安装的软件包。  
引用
# pkginfo | more  
application SUNWAxg Solaris XGL 3.3 AnswerBook  
application SUNWaadm Solaris 7 System Administrator Collection  
system SUNWab2m Solaris Documentation Server Lookup  
system SUNWab2r Solaris Documentation Server  
system SUNWab2s Solaris Documentation Server  
system SUNWab2u Solaris Documentation Server  
application SUNWabda Sun Ultra 5/10 Hardware AnswerBook  
application SUNWabe Solaris 7 User Collection  
application SUNWabsdk Solaris 7 Software Developer Collection

引用
pkginfo [ -d [ device | pathname ] ] [ -l ] pkg_name  
参数:  
-d 软件包所在的设备路径  
-l 软件包的详细描述
 pkg_category
软件包种类,可为application,graphics 或system.
 pkg_name
软件包名字,如为SUN产品则机SUNW 开头.
Description
软件产品的简单说明.  

例子:

# pkginfo -d /cdrom/solaris_2_2/s0/Solaris_2.2 |more

利用pkginfo -l 命令显示关于软件包的详细信息,包括软件包的大小(按硬盘块大小计算).

# pkginfo -d /cdrom/solaris_2_2/s0/Solaris_2.2 -l SUNWaudio

上面输出的最后一行指示软件包的大小. 利用此信息和df -k命令来确定你是否拥有足够硬盘空间来安装此软件包.

引用
# 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 命令后,将向你警告有依赖关系的软件包信息,并提供放弃此操作的提示.
当软件包被成功地删除后,向root发送一个邮件.  

pkgrm命令通过文件/var/sadm/install/contents 来确定软件包的地址,并且当软件包被删除以后,更新此文件. 假如此软件包被两个或更多的包共享,则一定得将这些依赖于此包的所有软件包删除以后才删除此软件包.
引用
# 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  
## Removing installed package instance  
## Verifying package dependencies.  
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.  
Do you want to continue with the removal of this package [y,n,?,q]  
注:如果某个文件被多个软件包共用,则只当最后的包被删除时才被删除。  
 
三、pkgadd  增加软件包
利用pkgadd 命令增加软件包,当软件包被成功地安装以后,向root发送一个邮件。
使用pkgadd添加软件包  

命令格式:  
引用
pkgadd [ -d [device | pathname ]] pkg_name  
 
# pkgadd -d /cdrom/cdrom0/s0/Solaris_2.7/Product  SUNWaudio  
Processing package instance  from  
Audio applications  
(sparc) 3.6.4,REV=1.98.08.13  
Copyright 1998 Sun Microsystems, Inc. All rights reserved.  
Using  as the package base directory.  
## Processing package information.  
## Processing system information.  
2 package pathnames are already properly installed.  
## Verifying package dependencies.  
## Verifying disk space requirements.  
## Checking for conflicts with packages already installed.  
## Checking for setuid/setgid programs.  
This package contains scripts which will be executed with super-user  
permission during the process of installing this package.  
Do you want to continue with the installation of  [y,n,?] y  
Installing Audio applications as  
## Installing part 1 of 1.  
Installation of  was successful.


四、pkgchk 校验软件包的安装
pkgchk命令通过将软件包的属性及路径名内容与系统记录文件中的值进行对比来校验.
命令格式:
引用
pkgchk [-p path1 [path2...]]

  此命令可以检查整个软件包或通过指定-p选项对一特殊路径名进行检查,无输出则意味着没有问题被检查出.
由于/etc/group 文件大小已被改变,所以文件内容的checksum就不对.

考察软件包信息
pkgadd命令更新文件/var/sadm/install/contents、 此文件为系统中所有已安装软件包的记录文件. 没有简单的方法来确定某软件包具有某一特殊文件(或命令).
对于已安装的软件包,从/var/sadm/install/contents 记录文件中查找此软件包的路径名

五、spooling 软件包
一个软件包可以由安装CD-ROM中拷贝过来存放在系统中,但并没有安装此软件包.
例如,一个服务器可以拷贝存储一个软件包,一个没有CD-ROM设备的系统可以从服务器上挂接此软件包,用以安装,软件包也可以利用Software Manager远程安装。

下面两个pkgadd命令用以说明如何spool一个软件包到/var/spool/pkg目录下或到一个你指 定的目录下.pkgadd命令的-s spool选项会缺省地将软件包拷贝到/var/spool/pkg目录下.  你可以指定一个目录作为-s选项的参数.

客户
假如服务器共享了/export/pkgs目录,则客户系统可以挂接目录/export/pkgs并安装

软件包.

# mkdir /export/pkgs
# mount venus:/export/pkgs /export/pkgs
# pkgadd -d /export/pkgs SUNWaudio


删除Spooled软件包

在服务器上可以利用-s选项从spooling目录中删除一个软件包.

# pkgrm -s /export/pkgs SUNWaudio


六、与软件包管理有关的文件和目录
引用
/var/sadm
包含系统记录文件和管理文件的目录
/opt/pkgname
安装未随操作系统一起提供的、名为pkgname的软件包的推荐目录.
/opt/pkgname/bin
/opt/bin
未随操作系统一起提供的、名为pkgname的执行文件的推荐目录.
/var/opt/pkgname
/etc/opt/pkgname
未随操作系统一起提供的、名为pkgname的记录文件的推荐目录.
/var/sadm/install/contents
整个系统的软件包映象.


七、其他
转自:
http://blog.chinaunix.net/u/32940/showart_376706.html

参考:
AIX 命令参考大全 卷 4,n - r
Tags:
发表评论
表情
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
打开HTML
打开UBB
打开表情
隐藏
记住我
昵称   密码   游客无需密码
网址   电邮   [注册]