极客进化岛
技术自由路

【linux】循序渐进学运维-基础篇-rpm管理

文章目录
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获取方式:

  1. 系统镜像光盘
  2. 网站(阿里云分享的源)
  3. 相应软件的官网。

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来安装,方便快捷。

赞(0)
未经允许不得转载:极客进化岛 » 【linux】循序渐进学运维-基础篇-rpm管理