Chinaunix首页 | 论坛 | 博客
  • 博客访问: 92064423
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-04-22 13:33:29

作者: Lisboa  出自:
软件安装包的两种格式
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 <-d pkgname> <–l specific-software>
说明: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:
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
modtime <01/22/05 上午06时19分09秒> expected <02/17/08 下午12时56分00秒> actual
file size <83> expected <0> actual
file cksum <5909> expected <0> actual
<……>

查看特定软件包的变动情况
# pkgchk SUNWbash

删除软件包
Pkgrm命令,具体可以man pkgrm查看使用方法

提醒:pkgadd和pkgrm在安装和删除软件包时,都会更新/var/sadm/install/contents中的内容.
阅读(513) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~