文章目录
1) RPM安装常用参数:
2) rpm获取方式:
3) rpm格式:
举例:
a. 从本地安装软件包
b. 查询lrzsz的包有没有安装
c. 查看所有已经安装的包
d. 查询一个命令是哪个包安装的
e. 删除一个包使用-e参数
f. 如果有依赖加参数 –nodeps
g. 升级软件包
rpm包校验
总结:
本文是循序渐进学运维-基础篇-rpm管理
今天我们来聊聊软件包的管理,软件包我们这里只说两种:
- [ ] RPM包
- [ ] yum包
###1. RPM包
1) RPM安装常用参数:
|参数|作用|
| i|安装(Install)软件。
U |升级(Upgrade)旧版本的软件。
e|移除/删除(Erase)软件。
v|显示详细的处理信息。
h|显示安装进度。卸载不能用
a|(all) 查询所有已安装的软件包
f|(file)系统文件名(查询系统文件所属哪个软件包),反向查询
i | 显示已经安装的rpm软件包信息,后面直接跟包名
l |(list) 查询软件包中文件安装的位置
p |查询未安装软件包的相关信息,后面要跟软件的命名
R| 查询软件包的依赖性
2) rpm获取方式:
- 系统镜像光盘
- 网站(阿里云分享的源)
- 相应软件的官网。
3) rpm格式:
[root@xinsz08-1 ~]# ls /mnt/Packages/lrzsz-0.12.20-27.1.el6.x86_64.rpm
/mnt/Packages/lrzsz-0.12.20-27.1.el6.x86_64.rpm
|名称|作用
lrzsz| 软件名字
-0|主版本号
12|次版本号
20|修订版本号
27|release 第几次发布版本
el6|操作系统
x86_64.rpm|软件包是64位的包
举例:
a. 从本地安装软件包
[root@xinsz08-1 ~]# rpm -ivh /mnt/Packages/lrzsz-0.12.20-27.1.el6.x86_64.rpm
warning: /mnt/Packages/lrzsz-0.12.20-27.1.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID fd431d51: NOKEY
Preparing... ########################################### [100%]
package lrzsz-0.12.20-27.1.el6.x86_64 is already installed
[root@xinsz08-1 ~]#
b. 查询lrzsz的包有没有安装
[root@xinsz08-1 ~]# rpm -q lrzsz
lrzsz-0.12.20-27.1.el6.x86_64
c. 查看所有已经安装的包
[root@xinsz08-1 ~]# rpm -qa |wc -l
1135
d. 查询一个命令是哪个包安装的
[root@xinsz08-1 ~]# which rz
/usr/bin/rz
[root@xinsz08-1 ~]# rpm -qf /usr/bin/rz
lrzsz-0.12.20-27.1.el6.x86_64
e. 删除一个包使用-e参数
[root@xinsz08-1 ~]# rpm -e lrzsz
[root@xinsz08-1 ~]# rpm -ql lrzsz
[root@xinsz08-1 ~]#
f. 如果有依赖加参数 –nodeps
[root@xinsz08-1 ~]# rpm -e lrzsz –nodeps
g. 升级软件包
rpm -Uvh /mnt/Packages/lrzsz-XXXX
rpm包校验
作用: 查看rpm是否被修改
参数:
|选项|说明
-V |校验指定RPM包中的文件,若该软件所含的文件被改动过,才会列出来;
-Va |校验本机已经安装的所有软件包
-Vf |校验某个系统文件是否被修改
我们以httpd为例子,看看是否被改动过
[root@zmgaosh gaosh]# yum install httpd 安装httpd
[root@zmgaosh gaosh]# rpm -V httpd
[root@xinsz08-1 ~]# vim /etc/init.d/httpd #6的系统
[root@xinsz08-1 ~]# vim /etc/init.d/httpd #修改httpd文件
[root@xinsz08-1 ~]# rpm -V httpd
S.5....T. /etc/rc.d/init.d/httpd
可以看到如果没有改动过,rpm -V没有任何的输出。如果改动了之后,就输出了内容
这里对输出的内容做一下解释:
|字符|信息提示
S |文件大小已改变;
M| 文件的类型或文件的权限(rwx)已改变;
5 |文件 MD5 校验和是否改变(可以看成文件内容已改变);
D |设备的主从代码已改变;
L |文件路径已改变;
U| 文件的属主(所有者)已改变;
G |文件的属组已改变;
T |文件的修改时间已改变;
P |(caPabilities differ) 功能已被改变;
我们也可以修改httpd.conf 来看一下输出结果
[root@xinsz08-1 ~]# rpm -Vf /etc/httpd/conf/httpd.conf
S.5….T. c /etc/httpd/conf/httpd.conf
这里出现了个c, c在这里表示的是文件类型
其他类型如图:
|字符|表示内容
c|配置文件
d|普通文档
l|授权文件
r|描述文件
总结:
rpm包的使用在日常工作中用到的也比较多,比如安装ELK,可以直接下载相应的RPM来安装,方便快捷。