Linux软件管理-rpm工具
RPM基础概述
什么是rpm
RPM全称RPM Package Manager
缩写,由红帽开发,用于软件包的安装,升级卸载与查询
rpm包的命名规则
tree-1.6.0-10.el7.x86_64
tree:包名
1.6.0:版本号
10:发布次数
el7:Linux 7系 系统
x86_64:64位操作系统
Linux中的软件包类型
分类 | 安装 | 版本 |
---|---|---|
rpm包 | 预先编译打包,安装简单,rpm安装 | 软件版本偏低 |
源码包 | 手动编译打包,安装繁琐,编译安装,源码安装 | 软件版本随意 |
二进制包 | 解压即可使用, 安装简单 | 不能修改源码 |
注意: 不管是源码包,还是二进制包,安装时都可能会有依赖关系!
系统平台 | 包类型 | 工具 | 自动解决依赖 |
---|---|---|---|
RedHat/Centos | RPM | rpm | yum |
Ubuntu/Debian | DPKG | dpkg | apt |
RPM软件包的获取途径
1.RedHat
光盘或官方网站 (通过挂载的方式访问)
# 光盘放入光驱之后
[root@oldboy /]# mkdir /ld_cdrom
[root@oldboy /]# mount /dev/cdrom /ld_cdrom/
mount: /dev/sr0 is write-protected, mounting read-only
2.RPM
查询官网网站
3.各大软件官方网站
4.各大镜像站
rpm包安装管理
rpm的安装命令
rpm [option] 包名
-U: #如果老版本不存在,就全新安装,如果存在有新版即升级
-i: #安装
-v: #显示安装过程信息
-h: #显示安装进度
[option] --test: #测试是否能够安装成功
[option] --force: #强制重新安装
[option] --nodeps: #忽略依赖关系
## 除了安装本地的包,还可以安装网络上的
rpm -ivh https://repo.huaweicloud.com/centos/7.9.2009/os/x86_64/Packages/tree-1.6.0- 10.el7.x86_64.rpm
RPM包查询命令
rpm -q #查看指定软件包是否安装(q后面必须跟软件包名)
rpm -qa #查看系统中已安装的所有RPM软件包列表
rpm -qi #查看指定软件的详细信息
rpm -ql #查询指定软件包所安装的目录、文件列表
rpm -qc #查询指定软件包的配置文件
rpm -qd #查询指定软件包的帮助文档
rpm -qf #查询文件或目录属于哪个RPM软件(该软件包必须安装好才能找到)
rpm -q --scripts #查询rpm包安装前和安装后执行的脚本
#查询未安装的软件包信息
rpm -qip #查询未安装的rpm包详细信息
rpm -qlp #查询未安装的软件包安装后会产生哪些文件
## 扩展:yum可以搜索未安装的软件包需要哪些依赖(查询这个命令在哪个包里面)
yum provides */ifconfig
## 属于哪个安装包
net-tools-2.0-0.25.20131004git.el7.x86_64 : Basic networking tools
## 属于哪个镜像仓库 源
Repo : base
Matched from:
## 文件名
Filename : /sbin/ifconfig
RPM包升级命令
-U 如果老版本不存在,就全新安装,如果存在有新版即升级
-f 老版本必须存在
RPM包卸载命令
-e:卸载软件包
rpm -e tree
卸载包时需要先把依赖的包卸载掉,如果依赖的包是系统所必须的,那就不能卸载这个包,否则会造成系统崩溃。