0
点赞
收藏
分享

微信扫一扫

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


文章目录

  • 1) RPM安装常用参数:
  • 2) rpm获取方式:
  • 3) rpm格式:
  • 举例:
  • a. 从本地安装软件包
  • b. 查询lrzsz的包有没有安装
  • c. 查看所有已经安装的包
  • d. 查询一个命令是哪个包安装的
  • e. 删除一个包使用-e参数
  • f. 如果有依赖加参数 --nodeps
  • g. 升级软件包
  • rpm包校验
  • 总结:

本文是循序渐进学运维-基础篇的第41篇文章

今天我们来聊聊软件包的管理,软件包我们这里只说两种:

  • 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 条评论