rpm软件包的格式分析:
tree-1.6.0-10.el7.x86_64.rpm 软件安装包文件名
tree 包名
1.6.0-10 版本号
el7 系统发行号
x86_64 i686 i386 CPU 架构
rpm 扩展名
特点
1.安装,速度很快
rpm -ivh /<path>/package_name-version-cpu.rpm
rpm -i 安装包文件名
-i安装
-v详细信息
-h以#号显示安装进度
--test --测试安装
--nodeps 安装时不考虑依赖关系(但是必须所有依赖都安装,功能才完整)
--force 强制安装,用于覆盖重装
--excludedocs 不安装文档文件
--inexcludedocs 安装文档文件(默认)
依赖关系:如果依赖关系为 A->B->C,安装时先装C,再装B,最后装A,卸载顺序相反
2.查询
查询已经安装的
rpm -q 包名称 查询目标是否已经安装
rpm -qi 包名称 版本信息
rpm -qd 包名称 说明文档
rpm -qc 包名称 配置文件
rpm -ql 包名称 文件列表
rpm -qR 查包的依赖
rpm -qa 列出系统下所有已经安装的软件包
rpm -qa | grep xxx 模糊查找某个包是否安装
rpm -qf /usr/bin/ls ----根据程序执行文件 查询由哪个包安装所得(反向查询)
rpm -qf /lib64/libmenu.so.5.9 反向查询该库由哪个包安装得来
rpm -qf /etc/rc.d/init.d/network 反向查询network服务有哪个包安装得来
未安装包查询时必须指定 p :Packages
rpm -qpi 安装包文件名 版本信息
rpm -qpd 安装包文件名 说明文档
rpm -qpc 安装包文件名 配置文件
rpm -qpl 安装包文件名 文件列表
rpm -qpR 安装包文件名 查询软件包的依赖关系
rpm -qp --scripts 包文件名 查询安装时使用的脚本
-----------------------------------------
3.升级
rpm -Uvh /<path>/package_name-version-cpu.rpm
--升级,如果升级的目标不存在,升级的动作等同安装的动作
rpm -Fvh /<path>/package_name-version-cpu.rpm
--升级,如果升级的目标不存在,停止升级
4.卸载
rpm -e 包名称
rpm -e --nodeps ---不解决依赖关系,直接卸载
5.在线安装
# rpm -ivh http://www.rpmfind.net/linux/centos/7.9.2009/os/x86_64/Packages/tree-1.6.0-10.el7.x86_64.rpm
通过目标网络地址来安装
反查 rpm -qf 根据已经安装后得到的内容(可执行文件、库文件、文档文件、配置文件)查询它的安装包名
查询某个命令是由哪个rpm包得到的可以先执行
which +命令 查询这个命令的执行路径
然后根据路径执行
rpm -qf 文件路径 从而反向查询安装包