文章目录
学习目标:
- [ ] 了解什么是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)]