RPM命令详解

初始化rpm 数据库

rpm –initdb
rpm –rebuilddb 注:这个要花好长时间

对已安装软件的查询

查询系统已安装的软件:rpm -q 软件名
查看系统中所有已经安装的包:rpm -qa 如果分页查看加上|more
查询一个已经安装的文件属于哪个软件包:rpm -qf 文件名
查询已安装软件包都安装到何处:rpm -ql 软件名 或 rpmquery -ql 软件名
查询一个已安装软件包的信息:rpm -qi 软件名
查看一下已安装软件的配置文件:rpm -qc 软件名
查看一个已经安装软件的文档安装位置:rpm -qd 软件名
查看一下已安装软件所依赖的软件包及文件:rpm -qR 软件名

对未安装软件的查询

查看一个软件包的用途、版本等信息:rpm -qpi file.rpm
查看一件软件包所包含的文件:rpm -qpl file.rpm
查看软件包的文档所在的位置:rpm -qpd file.rpm
查看一个软件包的配置文件:rpm -qpc file.rpm
查看一个软件包的依赖关系:rpm -qpR file.rpm

安装和升级一个rpm包

rpm -vih file.rpm 注:这个是用来安装一个新的rpm 包
rpm -Uvh file.rpm 注:这是用来升级一个rpm 包

测试安装参数 –test ,用来检查依赖关系;并不是真正的安装
由新版本降级为旧版本,要加 –oldpackage 参数

如:

[root@localhost RPMS]# rpm -qa gaim gaim-1.5.0-1.fc4
[root@localhost RPMS]# rpm -Uvh –oldpackage gaim-1.3.0-1.fc4.i386.rpm

为软件包指定安装目录:要加 -relocate 参数
如把gaim-1.3.0-1.fc4.i386.rpm指定安装在 /opt/gaim 目录中

[root@localhost RPMS]# rpm -ivh –relocate /=/opt/gaim gaim-1.3.0-1.fc4.i386.rpm
Preparing… ########################################### [100%]
1:gaim ########################################### [100%]
[root@localhost RPMS]# ls /opt/gaim

我们安装在指定目录中的程序如何调用呢?一般执行程序,都放在安装目录的bin或者sbin目录中;看下面的例子;如果有错误输出,就做相应的链接,用 ln -s

[root@localhost RPMS]# /opt/lynx/usr/bin/lynx
Configuration file /etc/lynx.cfg is not available.
[root@localhost RPMS]# ln -s /opt/lynx/etc/lynx.cfg /etc/lynx.cfg
[root@localhost RPMS]# /opt/lynx/usr/bin/lynx www.linuxsir.org

例如移除lynx包,完整的操作应该是

[root@localhost RPMS]# rpm -e lynx

如果有依赖关系,您也可以用–nodeps 忽略依赖的检查来删除。但尽可能不要这么做,最好用软件包管理器 systerm-config-packages 来删除或者添加软件;

[root@localhost beinan]# rpm -e lynx –nodeps

src.rpm格式的包必须rpmbuild –rebuild filename.src.rpm ,然后cd /usr/src/redhat/RPMS/…. 寻找包并安装!

2009-04-04 23:24206RPMLinux