功能描述

使用rpm命令可以在Linux系统中安装、删除、刷新、升级、查询RPM软件包。

命令语法

rpm[选项] [RPM软件包文件名称|RPM软件包名称]

选项含义

选项

含义

-i

安装软件包

-v

输出详细信息

-h

安装软件包时打印哈希标记

--replacepkge

无论软件包是否已被安装,都重新安装软件

--test

只对安装进行测试,并不实际安装

--nodeps

不验证软件包的依赖关系

--force

忽略软件包和文件的冲突

--percent

以百分比的形式输出安装的进度

--excludedocs

不安装软件包中的文档文件

--nocontexts

不要安装文件的安全上下文

--ignorearch

不验证软件包的体系结构

--ignoreos

不验证软件包的操作系统

--ignoresize

在安装之前不检查磁盘空间

--justdb

更新数据库,但是不要修改文件系统

--nofiledigest

不验证文件摘要

--noscripts

不执行软件包的脚步

--relacefiles

忽略软件包之间的文件冲突

--fileconflicts

检测软件包之间的文件冲突

-e

删除软件包

-U

升级软件包

-F

刷新软件包

--oldpackage

升级旧版本的软件包

-q

查询软件包

--initdb

初始化RPM数据库

--rebuilddb

从安装数据包头重建RPM数据库

例如:

安装bind-9.8.2-0.17.rcl.e16.x86_64.rpm软件包
[root@rhel~]#cd /media/RHEL_6.4x86_64Disc1/Packages
进入Linux系统安装光盘软件包目录
[root@rhel Packages]#rpm -i bind-9.8.2-0.17.rcl.e16.x86_64.rpm
安装bind-9.8.2-0.17.rcl.e16.x86_64.rpm软件包,并显示安装过程中的详情信息和水平进度条
[root@rhel Packages]#rpm -ivh bind-9.8.2-0.17.rcl.e16.x86_64.rpm
只对安装进行测试, 并不实际安装bind-9.8.2-0.17.rcl.e16.x86_64.rpm软件包
[root@rhel Packages]#rpm -ivh --test bind-9.8.2-0.17.rcl.e16.x86_64.rpm
安装以bind开头的软件包
[root@rhel Packages]#rpm -ivh bind*
在软件包bind-9.8.2-0.17.rcl.e16.x86_64.rpm已经安装的情况下旧安装该软件包
[root@rhel Packages]#rpm -ivh --replacepkgs bind-9.8.2-0.17.rcl.e16.x86_64.rpm
忽略软件包的依赖关系,强行安装bind-9.8.2-0.17.rcl.e16.x86_64.rpm软件包
[root@rhel Packages]#rpm -ivh --nodeps bind-9.8.2-0.17.rcl.e16.x86_64.rpm
直接从软件包的HTTP网址安装软件包
[root@rhel~]#rpm -ivh
>http://ncu.dl.sourcefore.net/project/web/1.630/webmin-1.630-1.noarch.rpm
删除bind-chroot软件包
[root@rhel~]#rpm -e bind-chroot
强行删除bind软件包
[root@rhel~]#rpm -e  --nodeps bind
升级bind-9.8.2-0.17.rcl.e16.x86_64.rpm软件包
[root@rhel Packages]#rpm -Uvh bind-9.8.2-0.17.rcl.e16.x86_64.rpm
强行升级bind-9.8.2-0.17.rcl.e16.x86_64.rpm软件包
[root@rhel Packages]#rpm -Uvh --oldpackage bind-9.8.2-0.17.rcl.e16.x86_64.rpm
刷新bind-9.8.2-0.17.rcl.e16.x86_64.rpm软件包
[root@rhel Packages]#rpm -Fvh  bind-9.8.2-0.17.rcl.e16.x86_64.rpm
初始化RPM数据库
[root@rhel~]#rpm --initdb
从安装数据包头重建RPM数据库
[root@rhel~]#rpm --rebuilddb
查询bind和crontabs软件包是否已经安装
[root@rhel~]#rpm -q bind
//查询到bind软件包没有安装
[root@rhel~]#rpm -q  crontabs
查询系统内所有已经安装的RPM软件包。
[root@rhel~]#rpm -qa
查询以cront开头的RPM软件包是否已经安装
[root@rhel~]#rpm -qa | grep cront
查询crontabs软件包的描述信息
[root@rhel~]#rpm -qi crontabs
查询crontabs软件包所包含的文件列表
[root@rhel~]#rpm -ql crontabs
查看crontabs软件包的修改记录
[root@rhel~]#rpm -q --changelog crontabs
查询crontabs软件包的依赖关系
[root@rhel~]#rpm -qR crontabs
查询/etc/crontab文件属于哪个软件包
[root@rhel~]#rpm -qf /etc/crontab
查询crontabs软件包的配置文件
[root@rhel~]#rpm -qc crontabs
列出crontabs软件包显性提供的内容
[root@rhel~]#rpm -q --provides crontabs
查询httpd软件包RPM脚本
[root@rhel~]#rpm -q --scripts httpd
根据时间列出cron开头的所有软件包
[root@rhel~]#rpm -qa --last cron*
验证pam软件包
[root@rhel~]#rpm -V pam