yum源配置
哈喽,大家好呀!这里是码农后端。今天来聊一聊Linux下的yum源及其配置相关的内容。简单来说,yum源就相当于一个管理软件的工具,可以想象成一个很大的仓库,里面存放着各种我们所需要的软件包及其依赖。
一、Linux下软件包的管理
1、软件安装方式
1)RPM包管理
需要单独解决依赖问题。
2)YUM包管理
需要有网络及YUM仓库的支持,会自动联网下载软件,自动解决依赖
3)源码安装
安装过程较复杂,但定制性很强。
2、源码安装的配置过程
在Linux系统中,源码安装一共分为三步(三步走):
1)配置过程(配置软件的安装路径)
2)编译过程(把软件由源代码编译成可以安装的程序)
3)安装过程(把编译后的程序进行安装)
1 | # 配置 && 编译 && 安装 |
3、源码安装配置过程详解
配置过程体现了较强的定制型,而非编译安装
1 | # 进入软件源码包 |
4、编译过程详解
1 | make |
在Linux操作系统中,make主要功能就是将其他语言的源代码打包成Linux可以识别安装的程序。编译过程需要一个gcc或gcc++软件(开发工具)的支持!
5、安装过程
1 | make install |
6、源码安装软件的卸载
1 | # 第一步:进入到源码的安装包中(以axel-2.4为例) |
二、YUM源概述
1、yum源作用
作用:软件包管理器,类似360的软件管家。
2、yum源优点
三种软件安装方式回顾:
1)RPM安装(下载软件、单独安装、需要解决依赖关系)
2)源码安装(下载软件的源码包,解压,进入目录=>配置+编译+安装)
3)yum源:可以理解为rpm软件包管理的升级版
优点:能够解决软件包之间的依赖关系,提高运维人员的工作效率。
注:yum源底层还是基于RPM进行软件安装操作的,所以yum安装软件后,也可以通过
rpm -qa |grep 软件名称
来查询软件包是否已安装。
3、yum源分类
3.1 本地yum源
yum仓库在本地(系统光盘/镜像文件) => 不需要网络的支持
3.2 网络yum源
yum仓库不在本地,在远程。
1)国内较知名的网络源(aliyun源,163源,腾讯源,知名大学开源镜像等)
阿里源:https://opsx.alibaba.com/mirror
网易源:http://mirrors.163.com/
腾讯源:https://mirrors.cloud.tencent.com/
清华源:https://mirrors.tuna.tsinghua.edu.cn/
2)国外较知名的网络源(centos源、redhat源等)
3)特定软件相关的网络源(Nginx、MySQL、Zabbix等)
4、本机yum源备份(重要)
第一步:使用cd命令切换到/etc/yum.repos.d目录
1 | cd /etc/yum.repos.d/ |
第二步:对所有的仓库文件(以.repo结尾)进行备份
1 | tar -zcf repo.tar.gz *.repo |
第三步:删除所有的以.repo结尾的仓库文件
1 | rm -rf *.repo |
三、本地YUM源配置
1、本地YUM配置
1)方式1:使用光盘镜像作为YUM源仓库
2)方式2:下载很多软件,使用软件包作为YUM源仓库
2、使用光盘镜像作为YUM源仓库
第一步:在VMware系统中装载CentOS7.6系统的光盘镜像
第二步:把光盘挂载到某个目录下
1 | # 回到家目录 |
卸载或解挂可以使用 umount /mnt
第三步:把光盘挂载添加到开机启动文件中
1 | # 7版本中,需要先给文件增加一个可执行权限 |
注: /etc/rc.local,属于系统的开机启动文件。系统启动后,会自动加载并执行该文件
第四步:编写本地YUM仓库文件
1 | # 进入默认目录 |
注:file://本地协议路径,后面跟仓库的具体路径
配置完成后,运行以下命令让其生效:
1 | # 清除所有缓存 |
重点:yum仓库的标准格式:
1)[仓库标识名称],名称任意,在一个文件中可以拥有多个标识
2)name=仓库名称
3)baseurl=仓库的路径,支持多种格式,file://本地路径,ftp://,http:// 或 https://
4)gpgcheck=gpg密钥,值可以是0(代表不检测),1(代表检测,如果是1,下方还要定义一个gpgkey=密钥连接)
5)enabled=是否启动当前仓库,值可以0,也可以是1(默认为1,代表启动仓库)
第五步:测试本地YUM仓库是否可用
1 | yum install httpd -y |
3、man 5扩展
背景:在Linux系统中,给定一个配置文件,如何查询这个文件中每一个选项的作用?
1 | # 以前我们使用的是 man命令 |
扩展:man 5 配置文件名称
1 | man 5 yum.conf |
四、网络YUM源配置
1、网络YUM源的分类
1)使用比较知名平台的YUM源(阿里云、腾讯、清华)
2)有些特定软件(如Nginx、MySQL、Zabbix等)需要根据官网文档自定义网络YUM源
2、知名平台的YUM源
阿里源:https://opsx.alibaba.com/mirror
腾讯源:https://mirrors.cloud.tencent.com/
清华源:https://mirrors.tuna.tsinghua.edu.cn/
百度搜索 => 腾讯源 mirror镜像源
举例:使用腾讯mirror镜像源
1)备份系统旧配置文件
1 | mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup |
2)获取对应版本的CentOS-Base.repo 到/etc/yum.repos.d/目录
以CentOS7为例:
1 | wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.tencent.com/repo/centos7_base.repo |
3)更新缓存
1 | yum clean all |
3、扩展:EPEL源配置
什么是EPEL源?
EPEL是对官网源的一个扩展。
CentOS-Base.repo文件 => 基础源(官方自带的YUM源)
epel.repo文件 => 扩展源,是对官方YUM源的一个补充
1 | yum install epel-release -y |
eg:会跑的小火车就是在epel源中
1 | yum install sl -y |
4、特定软件的YUM源配置
如特殊的几个软件,Nginx、MySQL、Zabbix
Nginx:http://www.nginx.org
MySQL:https://www.mysql.com/
Zabbix:https://www.zabbix.com/
以安装nginx为例:
1)找到官方文档,配置YUM源,写入到以下文件中(repo文件)
1 | # 切换到默认yum目录 |
2)清理缓存:
1 | yum clean all |
3)安装Nginx:
1 | yum install nginx -y |
五、自建YUM源仓库
1、缓存安装软件包
什么时候需要缓存软件?
1.下次还需要安装相同版本的软件包
2.由于网络原因导致网络安装非常慢,将软件包缓存下来,配置本地仓库
2、如何缓存软件安装包
1 | # 打开配置文件 |
3、把软件及依赖软件全部下载到某个路径
1)只下载不安装:
1 | yum install --downloadonly --downloaddir=保存路径 软件名称 |
eg:下载samba软件及依赖软件
1 | # 创建一个文件夹用于保存文件 |
4、自定义YUM仓库
第一步:在系统中安装制作仓库的软件createrepo
1 | yum install createrepo -y |
第二步:把/soft文件夹做成一个本地的自建仓库
1 | createrepo /soft |
第三步:在/etc/yum.repos.d目录中创建一个soft.repo的仓库
1 | cd /etc/yum.repos.d/ |
第四步:清理缓存+重建缓存
1 | yum clean all |