Linux rpm软件包管理

Linux rpm软件包管理

目录1.RPM基本概述1.什么是rpm?2.rpm软件包的组成部分有哪些?3.如何获取rpm软件包? 本地获取? 联网获取?2.RPM的使用1.如何使用rpm工具安装rpm软件包?1.安装本地路径下软件包2.安装互联网上的rpm包(没有依赖)3.安装软件包,有依赖关系 ( 很麻烦 )2.升级 rpm包如何升级3.如何卸载rpm包?4.安装软件包后,如果查询安装到本地哪个路径?3.RPM总结

1.RPM基本概述

1.什么是rpm?

RPM全称 RPM package Manager 缩写,由红帽开发用于软件包的安装、升级、卸载、与查询。

2.rpm软件包的组成部分有哪些?

bash-doc-4.2.46-34.el7.x86_64.rpm

bash-doc:包名称

4.2.46:版本号

-34:发布次数

el7:表示软件包可以在 Red Hat 7.x,CentOS 7.x,CloudLinux 7.x 进行安装

.x86_64:硬件平台https://blog.csdn.net/sunny_day_day/article/details/108714946

.rpm:扩展名

3.如何获取rpm软件包? 本地获取? 联网获取?

学习了解前可以先使用本地系统镜像自带的rpm包,但生产环境中都是通过联网方式获取的rpm包。

ps:除了rpm安装软件以外是否还有其他方式安装软件?

分类

安装

版本

rpm包

预先编译打包,安装简单

软件版本偏低

源码包

手动编译打包,安装繁琐

软件版本随意

二进制包

解压即可使用, 安装简单

不能修改源码

2.RPM的使用

rpm软件安装、解决依赖、升级、卸载、查询等操作?

1.如何使用rpm工具安装rpm软件包?

选项

描述

-i

安装rpm

-v

显示安装详细信息

-h

显示安装rpm进度

--force

强制重新安装

--nodeps

忽略依赖关系

1.安装本地路径下软件包

# mount /dev/cdrom /mnt

# rpm -ivh /mnt/Packages/tree-1.6.0-10.el7.x86_64.rpm

# rpm -ivh /mnt/Packages/vsftpd-3.0.2-22.el7.x86_64.rpm

2.安装互联网上的rpm包(没有依赖)

# rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/7/x86_64/zabbix-agent-3.0.9-1.el7.x86_64.rpm

3.安装软件包,有依赖关系 ( 很麻烦 )

rpm -ivh /mnt/Packages/samba-4.8.3-4.el7.x86_64.rpm

​ rpm安装A软件,如果该软件依赖了B软件,必须先安装B,才能安装A软件

​ 选择使用yum来安装( 自动处理依赖关系 )

yum仅仅负责安装软件。至于后续查询软件安装在哪,或者软件安装与否 ,都可以使用rpm命令来实现。

2.升级 rpm包如何升级

选项

描述

rpm -U

如果老版本不存在则全新安装,如果存在有新版即升级

安装 zabbix-agent3.0 升级 zabbix-agent4.0 rpm -Uvh xx.rpm

1.确认软件包zabbix-agent3.0安装了没有

#rpm -ivh https://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/7/x86_64/zabbix-agent-3.0.9-1.el7.x86_64.rpm

# rpm -qa zabbix-agent

zabbix-agent-3.0.0-1.el7.x86_64

2.希望升级到zabbix-agent4.0,首先要找到zabbix-agent4.0的包,然后进行升级

# wget https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-agent-4.0.0-2.el7.x86_64.rpm

# rpm -Uvh zabbix-agent-4.0.0-2.el7.x86_64.rpm

准备中... ################################# [100%]

正在升级/安装...

1:zabbix-agent-4.0.0-2.el7 ################################# [ 50%]

正在清理/删除...

2:zabbix-agent-3.0.0-1.el7 ################################# [100%]

3.检查升级后的版本

# rpm -qa zabbix-agent

zabbix-agent-4.0.0-2.el7.x86_64

3.如何卸载rpm包?

# rpm -e zabbix-agent #卸载软件(清理对应的文件)

# rpm -qa zabbix-agent #检查是否已卸载

4.安装软件包后,如果查询安装到本地哪个路径?

选项

描述

rpm -q

查看指定软件包是否安装

rpm -qa

查看系统中已安装的所有RPM软件包列表

rpm -qi

查看指定软件的详细信息

rpm -ql

查询指定软件包所安装的目录、文件列表

rpm -qc

查询指定软件包的配置文件

rpm -qf

查询文件或目录属于哪个RPM软件

rpm -qip

查询未安装的rpm包详细信息

rpm -qlp

查询未安装的软件包会产生哪些文件

rpm -q 查看指定软件包是否安装

# rpm -q zabbix-agent

zabbix-agent-4.0.0-2.el7.x86_64

rpm -qa 查看系统中已安装的所有RPM软件包列表

# rpm -qa zabbix-agent

zabbix-agent-4.0.0-2.el7.x86_64

查多个包(不太记得包名时)

[root@oldboy ~]# rpm -qa | grep -E "zabbix-agent|bash"

bash-completion-2.1-6.el7.noarch

zabbix-agent-4.0.0-2.el7.x86_64

bash-4.2.46-30.el7.x86_64

rpm -qi 查看指定软件的详细信息 ( 知道就行 )

# rpm -qi zabbix-agent

Name : zabbix-agent

Version : 4.0.0

Release : 2.el7

Architecture: x86_64

Install Date: 2020年03月23日 星期一 10时51分58秒

Group : Applications/Internet

Size : 1532742

License : GPLv2+

Signature : RSA/SHA512, 2018年10月01日 星期一 17时40分27秒, Key ID 082ab56ba14fe591

Source RPM : zabbix-4.0.0-2.el7.src.rpm

Build Date : 2018年10月01日 星期一 16时41分55秒

Build Host : builds.zabbix.lan

Relocations : (not relocatable)

URL : http://www.zabbix.com/

Summary : Zabbix Agent

Description :

Zabbix agent to be installed on monitored systems.

rpm -ql 查询指定软件包所安装的目录、文件列表

# rpm -ql zabbix-agent

#配置文件目录

/etc/logrotate.d/zabbix-agent

/etc/zabbix/zabbix_agentd.conf

/etc/zabbix/zabbix_agentd.d

/etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf

#程序使用的库文件

/usr/lib/systemd/system/zabbix-agent.service

/usr/lib/tmpfiles.d/zabbix-agent.conf

/usr/sbin/zabbix_agentd #命令目录

#文档目录

/usr/share/doc/zabbix-agent-4.0.0

/usr/share/doc/zabbix-agent-4.0.0/AUTHORS

/usr/share/doc/zabbix-agent-4.0.0/COPYING

/usr/share/doc/zabbix-agent-4.0.0/ChangeLog

/usr/share/doc/zabbix-agent-4.0.0/NEWS

/usr/share/doc/zabbix-agent-4.0.0/README

/usr/share/man/man8/zabbix_agentd.8.gz #帮助手册

/var/log/zabbix #日志文件

/var/run/zabbix #启动时运行进程的pid文件

rpm -qc 查询指定软件包的配置文件

# rpm -qc zabbix-agent

/etc/logrotate.d/zabbix-agent

/etc/zabbix/zabbix_agentd.conf

/etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf

rpm -qf 查询文件或目录属于哪个RPM软件

# which wget

/usr/bin/wget

# rpm -qf /usr/bin/wget

wget-1.14-15.el7_4.1.x86_64

# rpm -qf /etc/zabbix/zabbix_agentd.conf

zabbix-agent-4.0.0-2.el7.x86_64

ps:如何查询命令或文件是那个包提供的

rpm -qf 有一个弊端: 只能查看系统中已经存在的命令和文件--->对应的软件包?

​ 当真正要查询一个系统中不存在的命令,或文件,我们会选择使用 yum provides 去查询

# yum provides chattr

e2fsprogs-1.42.9-16.el7.x86_64 : Utilities for managing ext2, ext3, and ext4 filesystems

源 :base

匹配来源:

文件名 :/usr/bin/chattr

3.RPM总结

1.如何查询 util-linux 软件包安装了哪些文件?

# rpm -ql util-linux

2.如何查询 mkdir 命令是由哪个 RPM 软件包安装的?

# rpm -qf $(which mkdir)

coreutils-8.22-21.el7.x86_64

3.安装 .rpm 软件包时,-i、-U、选项有何区别?

-i #安装一个rpm包

-U #升级一个rpm包()

总结下rpm牵扯到哪些相关的参数:

​ rpm

​ 选项:

​ -ivh 安装一个rpm包,并显示详细信息,同时打印安装的进度条

​ -Uvh 升级一个rpm包,并显示详细信息,同时打印安装的进度条 (如果软件不存在则按安装操作)

​ (提供软件名称即可,不用带软件的版本号之类的)

​ -e 卸载软件包

​ -q 查询软件包

​ -qa 查询所有已安装的软件包

​ -ql 查询软件的存放路径 (所以的文件)

​ -qc 查询软件的配置文件

​ -qf 查询系统中已存在的命令或者文件 所属那个rpm包提供

相关推荐

健身前要做的10个最佳的热身练习
求正规英国365网址

健身前要做的10个最佳的热身练习

📅 09-17 👁️ 4451
【心得】6.0德拉諾之霸,要塞介紹篇(圖+文多) @WOW 魔獸世界 哈啦板
飞机买卖
求正规英国365网址

飞机买卖

📅 12-02 👁️ 5588
百度的图片怎么被收录
be七365官网

百度的图片怎么被收录

📅 01-25 👁️ 280
拥有这种思维的人,能看见未来!丨21读书
365bet中文官方网站

拥有这种思维的人,能看见未来!丨21读书

📅 10-27 👁️ 1165
编辑模板
be七365官网

编辑模板

📅 02-21 👁️ 1493