rpm(英文全拼:redhat package manager) 原本是 Red Hat Linux 发行版专门用来管理 Linux 各项套件的程序,由于它遵循 GPL 规则且功能强大方便,因而广受欢迎。逐渐受到其他发行版的采用。RPM 套件管理方式的出现,让 Linux 易于安装,升级,间接提升了 Linux 的适用度。
rpm语法格式如下:
rpm [选项] 包名.rpm
常用参数:
-a 全部,all ,通常与-q结合使用,如: -qa
-q 查询,query,通常与-a结合使用,如: -qa
-v 可视化显示进度条,通常与-h结合使用,如: -vh
-h 友好化显示,会以井号显示进度条,通常与-v结合使用,如: -vh
-i 安装,install的简写,通常与-vh结合使用,如: -ivh
-e 卸载,如: -e
--nodeps 不检查依赖关系,可强制卸载存在依赖关系的rpm包
-U 升级
-f 查询拥有指定文件(命令)所属的rpm包,即文件是哪个rpm包提供的,与-q结合使用,如:-qf
-l 显示rpm包的文件列表,即rpm包安装后生成了哪些文件,与-q结合使用,如:-ql
-c 列出rmp包的配置文件,一般与-q结合使用,如:-qc
演示示例:
[root@localhost~]# rpm -qa| grep vim #查询系统中全部已安装的rpm包并结合grep刷选
[root@localhost~]# rpm -ivh gcc-c++-4.8.5-44.el7.x86_64.rpm #安装rpm包
[root@localhost~]# rpm -e gcc-c++-4.8.5-44.el7.x86_64.rpm #卸载rpm包
[root@localhost~]# rpm -e --nodeps gcc-c++-4.8.5-44.el7.x86_64.rpm #不检查依赖强制卸载
[root@localhost~]# rpm -Uvh gcc-c++-4.8.5-44.el7.x86_64.rpm #升级gcc包,gcc包是自己下载最新的版本
[root@localhost~]# rpm -qf /etc/ntp.conf #查询文件属于哪个rpm包提供的
[root@localhost~]# rpm -ql ntp-4.2.6p5-25.el7.centos.x86_64 #查询rpm包安装后生成哪些文件
[root@localhost~]# rpm -qc ntp-4.2.6p5-25.el7.centos.x86_64 #查询ntp包安装完后有哪些配置文件
注意:rpm的升级命令挺实用的,比如企业中发现某个软件存在漏洞,那么就可以通过更新rpm包来安装高版本的软件来修复漏洞,如下:
[root@localhost~]# rpm -Uvh gcc-c++-5.8.5-44.el7.x86_64.rpm #升级gcc包,gcc包是自己下载最新的版本