Linux 软件管理(rpm、yum、编译安装)_linux软件安装管理之 yum rpm

文章目录

学习目标:

- [ ] 了解什么是rpm安装和yum安装和编译安装
- [ ] 掌握rpm安装和yum安装和编译安装流程
- [ ] 使用各个安装方式为centos系统安装软件

一、rpm 安装

1.1、什么是RPM?
  • RPM全名 RedHat Package Managerment,最初由 Red Hat 公司开发,并成为了许多基于 RPM 的 Linux 发行版的标准软件包格式。,是一种数据库记录的方式来将所需要的软件安装到到Linux系统的一套软件管理机制。
  • RPM 文件通常包含了一个或多个软件包的二进制文件、配置文件、文档以及其他相关的信息。
  • 在使用 RPM 进行软件管理时,用户可以通过命令行或图形界面进行软件的安装、升级、查询和删除等操作。
  • rpm类似于windows的注册表,用于记录软件的安装过程中生成的文件的位置,因此借助于rpm可以实现软件的卸载
  • 总的来说,RPM 是一种功能强大、灵活可靠的软件包管理工具,为 Linux 系统的软件管理提供了便利和效率,并成为了许多 Linux 发行版的标准软件包格式之一。
1.2、rpm包的来源
  • 本地rpm包:安装系统的光盘镜像中
  • 线上rpm:
    • 阿里:https://mirrors.aliyun.com/
    • 华为:https://mirrors.huaweicloud.com/
    • 网易:https://mirrors.163.com/
    • 清华:https://mirrors.tuna.tsinghua.edu.cn/
    • 中科大:https://mirrors.ustc.edu.cn/
1.3、rpm软件包解析
metis-5.1.0-12.el7.x86_64.rpm

软件名:metis
软件版本:5.1.0-12
适用的系统类型:el7,这个表示在centos7可用
适用的cpu架构:x86_64
后缀:rpm

1.4、RPM的语法格式
rpm [选项] [操作] [软件包]

选项:

选项作用
-i, --install安装软件包
-U, --upgrade升级软件包
-e,–erase卸载软件包
-q,–qurey查询已安装的软件包
-V,–verbose验证软件包
-h,–hash显示安装进度
-ivh最常用的安装选项
–force强制安装
–nodeps:忽略依赖关系安装成功,但未必能够成功运行,
–replacepkgs:覆盖安装如果要安装软件包,但是包中的部分文件已经存在,那么在正常安装时会报"某个文件已经存在"的错误,从而导致软件无法安装。使用replacefiles选项可以忽略这个报错而覆盖安装。
–prefix:指定安装路径–prefix 安装路径 包名.rpm
1.5、使用rpm安装软件
安装软件的时候可以先检查一下是否安装
[root@localhost ~]# rpm -q 软件名

第一步:将光盘挂载到虚拟机

在这里插入图片描述
第二步:挂载光盘

  • linux中使用外部设备,必须进行挂载
  • linux中 /dev/cdrom 就是光盘,也就是我们加载到虚拟机中的系统镜像文件,也就是哪个iso文件
  • 设备文件无法直接使用,必须将设备文关联到一个目录才能使用【关联就是挂载】
1)找一个空目录【一般找/mnt 或者 /media】
ls /mnt
此时这个目录是空的


2)将/dev/cdrom 挂载到 /mnt
mount /dev/cdrom /mnt

在这里插入图片描述

第三步:查看rpm包

ls /mnt/Packages/

这里面都是软件包这里只展示了十条
在这里插入图片描述

第四步:安装软件(tree)

[root@localhost ~]# cd /mnt/Packages/   	#必须要到这里来否则就会提示找不到文件
[root@localhost Packages]# rpm -ivh tree-1.6.0-10.el7.x86_64.rpm

第五步:检查是否安装成功

[root@localhost Packages]# rpm -q zsh
tree-1.6.0-10.el7.x86_64

补充:

  • 查看安装后生成了哪些文件
[root@localhost ~]# rpm -ql tree
/usr/bin/tree
/usr/share/doc/tree-1.6.0
/usr/share/doc/tree-1.6.0/LICENSE
/usr/share/doc/tree-1.6.0/README
/usr/share/man/man1/tree.1.gz

  • 查看/etc/passwd这个文件是哪个软件生成的
[root@localhost Packages]# rpm -qf /etc/passwd
setup-2.8.71-11.el7.noarch

1.6、使用rpm卸载软件
[root@localhost Packages]# rpm -e tree
[root@localhost Packages]# rpm -q tree
package tree is not installed

1.7、软件的依赖关系

例如:安装gcc

在这里插入图片描述

这个依赖关系就是,你如果想要下载A软件就必须要先下载B软件,要是想要下载B软件就先要下载C软件......
A --> B --->  C ----> D ------> E

如此以来如果被依赖的软件包很多很多,这样的安装相对来说就过于繁琐,于是我们就迎来了依赖软件包的克星——就是他:yum安装

二、yum安装

2.1、什么是yum?
  • Yum(Yellowdog Updater, Modified)是一个在 Red Hat 及其衍生发行版(如 CentOS 和 Fedora)中用来管理软件包的命令行工具。它是 RPM 包管理系统的前端工具,用于简化软件包的安装、升级和移除等操作。
  • 基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。
2.2、yum安装的原理

在这里插入图片描述

2.3、yum源/yum仓库
  • Yum源是指一组存储软件包的服务器或存储库,它包含了一系列软件包及其相关的元数据(如依赖关系信息、版本号等)
  • 每个Yum源都有一个唯一的URL地址,Yum工具通过这个URL地址访问源中的软件包。
  • 添加Yum源通常涉及编辑Yum配置文件(如/etc/yum.repos.d/目录下的.repo文件),将源的URL地址和其他相关信息添加到配置文件中。一旦配置完成,用户就可以使用Yum命令从该源中安装、更新和删除软件包。
  • 通过使用Yum源,用户可以方便地管理系统上的软件包,并确保系统能够获取到所需的软件包及其更新版本。
2.4、元数据
  • 仓库中的全部软件名
  • 仓库中每个软件的版本号
  • 仓库中每个软件的依赖信息
2.5、yum 安装的流程
  • 第一步:去找到yum源
  • 第二步:去下载仓库中的元数据
  • 第三步:通过元数据分析目标仓库是否有要安装的软件包,并且获取软件包的依赖关系信息
  • 第四步:根据元数据的分析结果在yum源中去下载rpm包到本地
  • 第五步:根据元数据的分析结果依次按照顺序安装rpm包
2.6、yum源的分类

第一种:自己创建yum仓库(新手不建议)
第二种:使用现有的yum仓库【本地/远程】

2.7、使用yum安装软件gcc(使用本地源)

创建本地yum源有两种方法:

  • 方法1:直接使用光盘作为yum源
  • 方法2:自己创建一个目录,在目录中准备rpm包和源数据
2.7.1、方法1:使用光盘作为yum源

第一步:挂载光盘

mkdir /test/testyum -p
mount /dev/cdrom /test/testyum/

检查挂载点
ls /test/testyum/

第二步:修改yum的配置文件,指向我们创建的yum源:/test/testyum/

yum的配置文件包括主配置文件和子配置文件
主配置文件:/etc/yum.conf
子配置文件:/etc/yum.repos.d下,配置文件名称无所谓,但是后缀必须是.repo

我们现在要用的是子配置文件

1)切换路径
[root@localhost ~]# cd /etc/yum.repos.d/

2)备份/删除原来的配置文件
[root@localhost yum.repos.d]# mkdir bak
[root@localhost yum.repos.d]# mv *.repo bak

3)新建一个配置文件,指向我们的yum仓库
[root@localhost yum.repos.d]# vi local.repo
[myrepo]		 # 指定yum仓库的id,这行不能有空格
name=my repo     # 指定yum仓库的名称,可以随便写
enabled=1        # 指定yum仓库是否激活,0表示不激活;1表示激活可用
gpgcheck=0		 # 指定是否检查rpm包的来源合法性,0表示不检查;1表示检查,如果要检查的话
baseurl=file:///test/testyum/	 # 指定yum仓库的位置

第三步:检查配置是否成功

[root@localhost yum.repos.d]# yum clean all		#清除之前yum源的缓存
[root@localhost yum.repos.d]# yum repolist		#重新加载配置的yum源
												#没有报错就是配置成功

第四步:安装软件

[root@localhost yum.repos.d]# yum install gcc
#期间会自动解决依赖关系并询问是否安装以来输入“y”确定安装

补充:

  • 无论用rpm安装还是用yum安装,都可以用rpm -q 来检查
2.7.2、方法2:使用网络yum源

网络源

- 阿里:https://mirrors.aliyun.com/
- 华为:https://mirrors.huaweicloud.com/
- 网易:https://mirrors.163.com/
- 清华:https://mirrors.tuna.tsinghua.edu.cn/
- 中科大:https://mirrors.ustc.edu.cn/

2.8、配置清华的centos源

清华centos7网络源地址:

https://mirrors.tuna.tsinghua.edu.cn/centos/7.9.2009/os/x86_64/

因为使用网络源下软件本质上是访问这个网页之后再下载,所以必须保证虚拟接可以访问外网

第一步:配置linux网络
1)给虚拟机添加新网卡

  • 新网卡的网络类型设置为NAT -只要物理机能上网,虚拟就可以正常上网
  • 配置过程:略

2)重启网络

systemctl restart network

3)检查新网卡是否有IP

ip addr

4)检查网络是否正常

ping www.qq.com

第二步:配置清华centos源文件
1)创建yum源配置文件

[root@localhost ~]# cd /etc/yum.repos.d/
[root@localhost yum.repos.d]# vim qinghua-centos.repo

[qh01centos]
name=qh centos
enabled=1
gpgcheck=0
baseurl=https://mirrors.tuna.tsinghua.edu.cn/centos/7.9.2009/os/x86_64/


**自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。**

**深知大多数Linux运维工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!**

**因此收集整理了一份《2024年Linux运维全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。**
![img](https://img-blog.csdnimg.cn/img_convert/e11ef1aae8e58de95775206930581275.png)
![img](https://img-blog.csdnimg.cn/img_convert/3c445407a0a1be5c7ba821e6420f2910.png)
![img](https://img-blog.csdnimg.cn/img_convert/af9b84e60e2d4231cba71bb427cf9fb0.png)
![img](https://img-blog.csdnimg.cn/img_convert/ab5b90f3c5bcc4b27edf1aecc0736c6b.png)
![img](https://img-blog.csdnimg.cn/img_convert/e7737b1752d96e3a192dafaf2e9992a3.png)

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Linux运维知识点,真正体系化!**

**由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**

**如果你觉得这些内容对你有帮助,可以添加VX:vip1024b (备注Linux运维获取)**
![img](https://img-blog.csdnimg.cn/img_convert/1e1b9765bcc4b8f78f8615824ac503df.jpeg)

初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。**
[外链图片转存中...(img-a8mPROBy-1712961856177)]
[外链图片转存中...(img-8HAQ1v79-1712961856177)]
[外链图片转存中...(img-t6c9lrcw-1712961856177)]
[外链图片转存中...(img-YOj2ytSh-1712961856178)]
[外链图片转存中...(img-w65vIIkV-1712961856178)]

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Linux运维知识点,真正体系化!**

**由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新**

**如果你觉得这些内容对你有帮助,可以添加VX:vip1024b (备注Linux运维获取)**
[外链图片转存中...(img-edyKqisZ-1712961856178)]

  • 14
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
RPMYum 都是 Linux 系统中常用的软件管理工具,它们各有优缺点,下面是它们的简要对比: RPM 的优点: 1. RPMLinux 系统上的标准软件管理工具,它可以安装、卸载、查询和更新软件包,操作简单、快捷。 2. RPM 包可以直接在本地机器上安装,不需要网络连接,适用于没有网络连接的环境。 3. RPM 包是一种二进制的打包格式,它可以在多种 Linux 发行版上运行,不需要重新编译RPM 的缺点: 1. RPM 安装软件包时可能会出现依赖性问题,需要手动解决依赖关系。 2. RPM 包的数量有限,不能保证所有软件都有对应的 RPM 包。 3. RPM 包的更新速度相对较慢,有时需要等待一段时间才能获得最新版本的软件包。 Yum 的优点: 1. Yum 是基于 RPM 的包管理工具,在 RPM 的基础上增加了依赖性解决、自动更新等功能,更加智能化、方便。 2. Yum 可以自动解决软件包依赖关系,避免手动解决依赖性问题。 3. Yum 可以从网络上下载和安装软件包,提供了更多的软件包选择。 Yum 的缺点: 1. Yum 安装和更新软件包需要网络连接,不适用于没有网络连接的环境。 2. Yum 更新软件包的速度可能较慢,需要等待一段时间才能获得最新版本的软件包。 3. Yum管理系统可能会出现错误和问题,需要进行调试和修复。 总体来说,RPM 适用于没有网络连接的环境,对于已经知道需要安装软件包的用户来说比较方便;而 Yum 则适用于需要从网络上下载和安装软件包的用户,它可以自动解决依赖性问题,提供更多的软件包选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值