sdccf 发表于 2008-04-22 13:33

Solairs中软件包管理


作者: Lisboa出自: http://www.linuxdiyf.com
软件安装包的两种格式
1. 标准的文件系统格式:软件包按目录存放,软件包名字即目录的名字,目录中包含多个文件和子目录。
2. 数据流格式:软件包以单个文件的行式出现,所有内容以数据流的格式存在文件中
查看软件安装包的内容
1、标准格式的软件包用ls查看
# pwd
/cdrom/sol_10_305_x86/s2/Solaris_10/Product
# ls -l SUNWadmr
总数 16
drwxr-xr-x 2 root staff 2048 2005 1月 23 archive
drwxr-xr-x 2 root staff 2048 2005 1月 23 install
-rw-r–r– 1 root staff 508 2005 1月 10 pkginfo
-rw-r–r– 1 root staff 1424 2005 1月 10 pkgmap
drwxr-xr-x 5 root staff 2048 2005 1月 23 reloc
2、查看数据流格式的安装包
# file top-3.6.1-sol10-x86-local
top-3.6.1-sol10-x86-local: 软件包数据流
# head top-3.6.1-sol10-x86-local
# PaCkAgE DaTaStReAm —-这行表明是数据流格式
SMCtop 1 478 —-软件包的名字
# end of header
NAME=top
ARCH=x86
VERSION=3.6.1
CATEGORY=application
VENDOR=LeFebvre et al
EMAIL=steve@smc.vnet.net
PSTAMP=Steve Christensen
包格式进行转化
Pkgtrans命令格式:pkgtrans source destination pkg1 pkg2
1、标准的文件系统格式转换数据流格式
# pwd
/cdrom/sol_10_305_x86/s2/Solaris_10/Product
# pkgtrans . /tmp/stream.pkg SUNWkladm SUNWkleu SUNWkleue (“.”这个别忘了噢)
Transferring package instance
Transferring package instance
Transferring package instance
# file /tmp/stream.pkg
/tmp/stream.pkg: 软件包数据流
# head /tmp/stream.pkg
# PaCkAgE DaTaStReAm
SUNWkladm 1 93
SUNWkleu 1 5202
SUNWkleue 1 1014
# end of header
NAME=Korean localization for Locale Administrator
SUNW_PRODVERS=5.10
VERSION=1.1,REV=2004.12.27.16.30
ARCH=i386
MAXINST=1000
2、数据流到标准化
提取一个软件包
# pkgtrans /tmp/stream.pkg /tmp SUNWkladm
Transferring package instance
# cd /tmp
# ls
SUNWkladm iconf_entries.254 speckeysd.lock stream.pkg
# pkgtrans /tmp/stream.pkg /tmp all 全部提取
查看软件包信息
Pkginfo命令格式:pkginfo
说明:specific-software为软件包名
查看系统安装包的总数(两种方法)
# ls /var/sadm/pkg |wc –l /var/sadm/pkg保留了一条已经安装包记录
975
# pkginfo | wc -l
975
# pkginfo -d top-3.6.1-sol10-x86-local
application SMCtop top
# pkginfo -d top-3.6.1-sol10-x86-local -l SMCtop
PKGINST: SMCtop
NAME: top
CATEGORY: application
ARCH: x86
VERSION: 3.6.1
BASEDIR: /usr/local
VENDOR: LeFebvre et al
PSTAMP: Steve Christensen
EMAIL:
steve@smc.vnet.net
STATUS: spooled
FILES: 19 spooled pathnames
7 directories
3 executables
2 package information files
459 blocks used (approx)
安装软件包
在默认情况下,pkgadd命令会查看/var/spool/pkg目录中是否有标准格式软件包并列出。
# pkgadd
pkgadd: ERROR: no packages were found in
如果标准软件包在其他目录中(非/var/spool/pkg)可用-d选项
# pkgadd -d /tmp
The following packages are available:
1 SUNWkladm Korean localization for Locale Administrator
(i386) 1.1,REV=2004.12.27.16.30
2 SUNWkleu Korean Language Environment user files
(i386) 10.0,REV=2004.11.27.13.39
直接安装流格式软件包
# pkgadd -d top-3.6.1-sol10-x86-local
检查已安装的软件包
检查系统安装以来,所有变动的文件
# pkgchk
ERROR: /boot/solaris/bootargs.rc
modtimeexpectedactual
file sizeexpectedactual
file cksumexpectedactual
查看特定软件包的变动情况
# pkgchk SUNWbash
删除软件包
Pkgrm命令,具体可以man pkgrm查看使用方法
提醒:pkgadd和pkgrm在安装和删除软件包时,都会更新/var/sadm/install/contents中的内容.

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/31/showart_572602.html
页: [1]
查看完整版本: Solairs中软件包管理