rpm管理
什么是rpm
RPM全称RPM Package Manager缩写,由红帽开发用于软件包的安装,升级卸载与查询
为什么学rpm
在Linux上也需要安装软件,软件包的种类也有很多,但是最方便,最简单,最简易,速度最快的,也就是rpm包了
tree-1.6.0-10.el7.x86_64.rpm
tree # 软件名称
1.6.0 #版本号
10 #发布次数
el7 #使用的系统版本(CentOS7.RedHalt7)向下兼容
x86_64 #系统平台 64位 32位
rpm #包后缀名
Linux中的软件包类型
分类 |
安装 |
版本 |
rpm包 |
预先编译打包,安装简单 |
软件版本偏低 |
源码包 |
手动编译打包,安装繁琐 |
软件版本随意 |
二进制包 |
解压即可使用, 安装简单 |
不能修改源码 |
注意: 不管是源码包,还是二进制包,安装时都可能会有依赖关系!
系统平台 |
包类型 |
工具 |
自动解决依赖 |
RedHat/Centos |
RPM |
rpm |
yum |
Ubuntu/Debian |
DPKG |
dpkg |
apt |
linux 中软件的安装方式
# rpm安装 已经编译好了的源码包,下载好了之后,直接使用rpm命令管理
# 源码安装 先编译,将源代码翻译成系统能认识的软件,再去安装
# 二进制安装 绿色软件(免安装)
# yum安装
rpm包的获取途径
1.RedHat光盘或官方网站 (通过挂载的方式访问)
2.RPM查询官网网站
3.Nginx软件官方网站
4.MySQL软件官方网站
光盘获取
光盘在dev下
【临时挂载】
#挂载语法: mount 光盘路径 目标路径(可以是自己指定或创建目录)
mount /dev/cdrom /mnt
# 查看挂载信息
df -h
/dev/sr0 4.3G 4.3G 0 100% /mnt
# 查看光驱里面有哪些包(安装的系统里面自带的包,要通过挂载的方式查看)
cd /mnt/Packages
-# 查看rpm包
ll /mnt/Packages
drwxrwxr-x. 2 root root 663552 Nov 26 2018
# 卸载语法
umount 目标路径
umount /mnt/
# 卸载挂载的报错
umount /mnt/
umount: /mnt: target is busy.
(In some cases useful info about
processes that use
the device is found by lsof(8) or
fuser(1))
## 原因,现在身处mnt(目标路径)下 ,会导致卸载不掉,目标正忙,离开目录即可
rpm命令的使用--安装
# 语法:rpm [选项] rpm包名
rpm包名:--本地包名 在系统的某个目录下
--远程包名 不用下载,直接使用网站上的rpm包
# 选项:
-i 安装
-v 显示安装过程
-h 显示安装的进度条
--test 仅测试,不安装
--force 强制安装(强装和忽略依赖要配合)
--nodeps 忽略依赖关系
# 组合用法:
#显示安装过程和进度条
rpm -ivh rpm包名
#忽略依赖关系强制安装显示过程进度条
rpm -ivh --nodeps --force rpm包名
#显示过程
rpm -iv rpm包名
#--test(要加-i 只测试,不安装)
rpm -ivh --test wget-1.14-18.el7.x86_64.rpm
#--nodeps(忽略依赖安装)
rpm -ivh --nodeps rpm包名
#--force(安装某安装包还需要依赖其他包是可强制安装)
rpm -ivh --force rpm包名
#如果从网上下载的包
rpm -ivh (链接地址)https://mirrors.aliyun.com/zabbix/zabbix/5.0/rhel/7/x86_64/zabbix
agent-5.0.1-1.el7.x86_64.rpm
rpm命令使用--查询
# 语法
rpm 选项 rpm包名
# 选项
-q 查看指定的安装包是否安装
------------以下都需要配合-q使用--------------
-a 全部安装过的包
-i 详细信息
-l 列出rpm包相关的配置文件和目录
-c 只查看该软件的包相关的配置文件
-d 只查看该软件的帮助文档文件
-f 反向查找,根据配置文件,反向查找包
------------以下需要配合上面选项使用----------
-p 查询未安装的包的相关信息
# 组合用法:
##-qa 查看安装过的包
rpm -qa
##-qi查看安装包详细信息
rpm -qi grub2-pc-2.02-0.76.el7.centos.x86_64
Name : grub2-pc
Epoch : 1
Version : 2.02
Release : 0.76.el7.centos
##-ql列出rpm包相关的配置文件和目录
rpm -ql grub2-pc-2.02-0.76.el7.centos.x86_64
##-qc查看该软件的包相关的配置文件
rpm -qc grub2-pc-2.02-0.76.el7.centos.x86_64
##-qd查看改软件的帮助文档文件
rpm -qd grub2-pc-2.02-0.76.el7.centos.x86_64
##-qf反向查找,根据配置文件,反向查找包
rpm -qf /etc/grub2.cfg
##-qip 查询没有安装过包的详细信息
##-qlp 查询没有安装的包会产生那些文件
##-qcp 查询没有安装的包会产生那些配置文件
##-qdp 查询没有安装的包会产生那些帮助文件
rpm命令使用-升级
# 语法:rpm 选项 rpm包
# 选项
-U updata升级,如果老版本不存在,则会安装新版本,如果老版本存在吗,会直接升级
-f 老版本必须存在
# 用法:
rpm -Uvh 本地存在且以.rpm结尾的包
rpm命令使用-卸载
# 语法:rpm 选项 rpm包
# 选项:-e 后面接卸载包名