文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>RPM软件包命令的使用

RPM软件包命令的使用

时间:2009-03-23  来源:sjhf

RPM有5种基本操作模式:安装、卸装、升级、查询和校验。 1.安装印包 语法
rpm –ivh [RPM包文件名称] 
选项说明 i:表示安装印包。
v:表示在安装过程中显示详细的信息。
h:表示显示水平进度条。
(1)安装印包。 例9.1:安装foo-2.0-1.i386.rpm软件包。
#rpm -ivh foo-1.0-1.i386.rpm 
如果安装成功,系统会显示印包的名称,然后在软件包安装时在屏幕上打印“#”显示安装的进度,显示如下信息。
Preparing... ########################################### [100%] 1:foo ########################################### [100%] 
如果某软件包的同一版本已经安装,系统会显示如下信息:
Preparing... ########################################### [100%] package foo-1.0-1 is already installed 
如果在软件包已安装的情况下仍打算安装同一版本的软件包,可以使用“--replacepkgs”选项忽略错误。 例9.2:在foo-1.0-1.i386.rpm已安装的情况下仍旧安装该软件包。
#rpm -ivh --replacepkgs foo-1.0-1.i386.rpm 
(2)软件包冲突。 如果试图安装的软件包中包含已被另一个软件包或同一软件包的早期版本安装了的文件,系统会显示如下信息:
Preparing... ########################################### [100%] file /usr/bin/foo from install of foo-1.0-1 conflicts with file from package bar-2.0.20 
使用“--replacefiles”可以忽略这个错误。 例9.3:foo-1.0-1.i386.rpm软件包冲突,忽略错误继续安装。
#rpm -ivh --replacefiles foo-1.0-1.i386.rpm 
2.卸载软件包
语法
rpm –e [RPM包名称]
选项说明 e:表示卸载软件包 例9.4:卸载foo软件包。
#rpm -e foo 
在卸载软件包时使用软件包名称foo,而不是软件包文件名称foo-1.0-1.i386.rpm。 在卸载某软件包时也会遇到依赖关系错误。当另一个已安装的软件包依赖于用户试图删除的软件包时,依赖关系错误就会发生。例如:
Preparing... ########################################### [100%] error: removing these packages would break dependencies: foo is needed by bar-2.0.20-3.i386.rpm 
要使RPM忽略这个错误并强制删除该软件包,可以使用“—nodeps”选项,但是依赖于它的软件包可能无法正常运行。 3.升级软件包 语法
rpm –Uvh [RPM包文件名称]
选项说明 U:表示升级软件包 例9.5:升级foo-2.0-1.i386.rpm软件包。
#rpm -Uvh foo-2.0-1.i386.rpm 
升级软件包实际上是删除和安装的组合,因此,在RPM软件包升级过程中,还会碰到另一个错误,如果RPM认为用户正试图升级到软件包的早期版本,系统会显示如下信息:
#package foo-2.0-1 (which is newer than foo-1.0-1) is already installed 
要使RPM软件包强制升级,可以使用“--oldpackage”选项。 例9.6:强制升级foo-1.0-1.i386.rpm软件包。
#rpm -Uvh --oldpackage foo-1.0-1.i386.rpm 
4.刷新软件包 语法
rpm -Fvh [RPM包文件名称]
选项说明 F:表示刷新软件包 例9.7:刷新foo-2.0-1.i386.rpm软件包。
#rpm -Fvh foo-1.2-1.i386.rpm 
使用RPM刷新软件包时,系统会比较指定的软件包的版本和系统上已安装的版本。当RPM的刷新选项处理的版本比已安装的版本更新,它就会升级到更新的版本。然而,如果某软件包先前没有安装,RPM的刷新选项将不会安装该软件包。这和RPM的升级选项不同,因为不管该软件包的早期版本是否已被安装,升级选项都会安装该软件包。 5.查询软件包 使用“rpm –q”命令查询软件包安装的信息。 (1)查询指定软件包的详细信息。 功能说明 使用该命令会显示已安装软件包的名称、版本和发行号码。 语法
rpm -q [RPM包名称] 
、例9.8:查询foo软件包是否安装。
#rpm -q foo package foo is not installed //查询到foo软件包没有安装 
例9.9:查询foo软件包是否安装。
#rpm -qa bind bind-9.2.4-2 //查询到bind软件包已经安装 
(2)查询系统中所有已安装的RPM软件包 语法
rpm –qa: 
例9.10:查询系统内所有已安装的RPM软件包。
#rpm –qa basesystem-8.0-4 chkconfig-1.3.13.2-1 iputils-20020927-18.EL4.1 checkpolicy-1.17.5-1 audit-1.0.3-6.EL4 perl-Filter-1.30-6 usbutils-0.11-6.1 findutils-4.1.20-7 module-init-tools-3.1-0.pre5.3 sed-4.1.2-4 cracklib-2.7-29 …………………………………… 
(3)查询指定已安装软件包的描述信息。 功能说明 显示软件包的名称、描述、发行版本、大小、制造日期、生产商以及其他杂项。

语法
rpm –qi [RPM包名称] 
例9.11:查询bind软件包的描述信息。
#rpm -qi bind Name : bind Relocations: (not relocatable) Version : 9.2.4 Vendor: Red Hat, Inc. Release : 2 Build Date: 2004年10月19日 星期二 05时17分38秒 Install Date: 2007年03月15日 星期四 14时07分49秒 Build Host: bugs.build.redhat.com Group : 系统环境/守护进程 Source RPM: bind-9.2.4-2.src.rpm Size : 1339216 License: BSD-like Signature : DSA/SHA1, 2005年01月06日 星期四 05时42分19秒, Key ID 219180cddb42a60e Packager : Red Hat, Inc.  URL : http://www.isc.org/products/BIND/ Summary : DNS (域名系统) 服务器。 Description : BIND (伯克利互联网域名) 是 DNS (域名系统)协议的一种实现。 BIND 包括一个把主机名解析为 IP 地址的 DNS 服务器(named); 一个解析器库(在与 DNS 接口时应用程序所使用的例程);以及校验 DNS 服务器是否被正确操作的工具 
(4)查询指定已安装软件包所含的文件列表。 语法
rpm –ql [RPM包名称] 
例9.12:查询bind软件包所包含的文件列表。
#rpm -ql bind /etc/logrotate.d/named /etc/rc.d/init.d/named /etc/rndc.conf /etc/rndc.key /etc/sysconfig/named /usr/sbin/dns-keygen /usr/sbin/dnssec-keygen /usr/sbin/dnssec-makekeyset /usr/sbin/dnssec-signkey /usr/sbin/dnssec-signzone /usr/sbin/lwresd ………………………………… 
(5)查询软件包的依赖要求。 语法
rpm –qR [RPM包名称] 
例9.13:查询bind软件包的依赖关系。
#rpm -qR bind /bin/bash /bin/sh /bin/sh /bin/sh /bin/sh /bin/sh /bin/sh /bin/usleep bind-utils chkconfig config(bind) = 20:9.2.4-2 fileutils ………………………………………… 
(6)查询系统中指定文件属于哪个软件包。 语法
rpm –qf [文件名] 
例9.14:查询/etc/logrotate.d/named文件属于哪个软件包。
#rpm -qf /etc/logrotate.d/named bind-9.2.4-2 
当指定文件时,必须指定文件的完整路径(如/etc/logrotate.d/named)。 6.校验软件包 校验软件包将检查从软件包安装的文件和原始软件包中的同一文件的信息,它校验每个文件的大小、MD5值、权限、类型、所有者和组群。 例9.15:校验所有在bind软件包内的文件。
#rpm -V bind ........C c /etc/rndc.key S.5....T. c /etc/sysconfig/named 
例9.16:校验包含/etc/rndc.key文件的软件包。
# rpm -Vf /etc/rndc.key ........C c /etc/rndc.key S.5....T. c /etc/sysconfig/named 
例9.17:校验所有安装的软件包。
#rpm -Va S.5....T. c /etc/krb.conf .M....... /var/lib/dhcpv6 .......T. c /etc/mail/sendmail.cf SM5....TC c /etc/mail/submit.cf S.5....T. c /var/log/mail/statistics S.5....TC c /var/lib/nfs/etab ........? /var/lib/nfs/rpc_pipefs .......TC c /var/lib/nfs/xtab S.5....TC c /etc/sysconfig/rhn/up2date-uuid SM5....TC /usr/share/firstboot/modules/rhn_activate_gui.pyc SM5....TC /usr/share/firstboot/modules/rhn_login_gui.pyc SM5....TC /usr/share/firstboot/modules/rhn_newaccount_gui.pyc SM5....TC /usr/share/firstboot/modules/rhn_optout_gui. ............................................ 
例9.18:根据readline-devel-4.3-13.i386.rpm软件包进行校验。
#rpm -Vp readline-devel-4.3-13.i386.rpm warning: readline-devel-4.3-13.i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e 
如果一切都被校验正确,屏幕上就不会显示输出。如果出现矛盾,它们就会被显示。输出的格式为包含4个字符的字符串(c代表配置文件)和文件名称。这4个字符的每个字符都代表一种文件属性的比较结果,所比较的是文件的属性和 RPM 数据库中记录的属性。单用一个“.”意味着测试通过。下列字符代表某类测试失败。 5:MD5校验和。
S:文件大小。
L:符号链接。
T:文件修改时间。
D:设备。
U:用户。
G:组群。
M:模式(包括权限和文件类型)。
?:不可读文件。
相关阅读 更多 +
排行榜 更多 +
僵尸猎手小明

僵尸猎手小明

动作格斗 下载
狩猎波比

狩猎波比

动作格斗 下载
花海相机

花海相机

图像拍照 下载