什么是yum源?如何对其进行配置?

什么是yum源?如何对其进行配置?

哈喽,大家好呀!这里是码农后端。今天来聊一聊Linux下的yum源及其配置相关的内容。简单来说,yum源就相当于一个管理软件的工具,可以想象成一个很大的仓库,里面存放着各种我们所需要的软件包及其依赖。

一、Linux下软件包的管理1、软件安装方式1)RPM包管理

需要单独解决依赖问题。

2)YUM包管理

需要有网络及YUM仓库的支持,会自动联网下载软件,自动解决依赖

3)源码安装

安装过程较复杂,但定制性很强。

2、源码安装的配置过程在Linux系统中,源码安装一共分为三步(三步走):

1)配置过程(配置软件的安装路径)

2)编译过程(把软件由源代码编译成可以安装的程序)

3)安装过程(把编译后的程序进行安装)

代码语言:powershell复制# 配置 && 编译 && 安装

./configure && make && make install3、源码安装配置过程详解配置过程体现了较强的定制型,而非编译安装

代码语言:powershell复制# 进入软件源码包

cd 软件源码包

# 配置

# ./configure [选项]

# 查看选项帮助

./configure --help

# 最常用的选项

--prefix=... Directories to put files in /usr/local 软件家目录

# 其他

--bindir=... $prefix/bin 命令的目录

--etcdir=... $prefix/etc 配置文件的目录 httpd => /etc/httpd/httpd.conf

--mandir=... $prefix/share/man man 文档路径

--locale=... $prefix/share/locale 语言编码

...4、编译过程详解代码语言:powershell复制make在Linux操作系统中,make主要功能就是将其他语言的源代码打包成Linux可以识别安装的程序。编译过程需要一个gcc或gcc++软件(开发工具)的支持!

5、安装过程代码语言:powershell复制make install6、源码安装软件的卸载代码语言:powershell复制# 第一步:进入到源码的安装包中(以axel-2.4为例)

cd axel-2.4

# 删除软件的安装包等程序

make uninstall

# 卸载编译与配置过程

make distclean

# 第二步:删除软件的目录(举例目录为 /opt/axel)

rm -rf /opt/axel二、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目录

代码语言:powershell复制cd /etc/yum.repos.d/第二步:对所有的仓库文件(以.repo结尾)进行备份

代码语言:powershell复制tar -zcf repo.tar.gz *.repo第三步:删除所有的以.repo结尾的仓库文件

代码语言:powershell复制rm -rf *.repo三、本地YUM源配置1、本地YUM配置1)方式1:使用光盘镜像作为YUM源仓库

2)方式2:下载很多软件,使用软件包作为YUM源仓库

2、使用光盘镜像作为YUM源仓库第一步:在VMware系统中装载CentOS7.6系统的光盘镜像

第二步:把光盘挂载到某个目录下

代码语言:powershell复制# 回到家目录

cd ~

# 清空 mnt目录

rm -rf /mnt/*

# 以只读的方式将光驱挂载到 mnt目录上

mount -o ro /dev/sr0 /mnt

# 挂载完成后,使用 lsblk列出块设备的信息(这里查询挂载点的信息)

lsblk

# 选项说明:

-o :挂载方式,ro(readonly) =>代表以只读的方式进行挂载

rw(read/write)=>代表以读写的方式进行挂载卸载或解挂可以使用 umount /mnt

第三步:把光盘挂载添加到开机启动文件中

代码语言:powershell复制# 7版本中,需要先给文件增加一个可执行权限

chmod +x /etc/rc.local

# 把挂载命令追加到开机启动文件中

echo 'mount -o ro /dev/sr0 /mnt' >> /etc/rc.local注: /etc/rc.local,属于系统的开机启动文件。系统启动后,会自动加载并执行该文件

第四步:编写本地YUM仓库文件

代码语言:powershell复制# 进入默认目录

cd /etc/yum.repos.d/

# 创建一个以*.repo结尾的文件,名称任意

vim local.repo

[local]

name=local yum

baseurl=file:///mnt

gpgcheck=0

enabled=1注:file://本地协议路径,后面跟仓库的具体路径

配置完成后,运行以下命令让其生效:

代码语言:powershell复制# 清除所有缓存

yum clean all

# 重新给本地仓库建立缓存

yum makecache

# 列出所有仓库信息

yum repolist all重点:yum仓库的标准格式:

1)仓库标识名称,名称任意,在一个文件中可以拥有多个标识

2)name=仓库名称

3)baseurl=仓库的路径,支持多种格式,file://本地路径,ftp://,http:// 或 https://

4)gpgcheck=gpg密钥,值可以是0(代表不检测),1(代表检测,如果是1,下方还要定义一个gpgkey=密钥连接)

5)enabled=是否启动当前仓库,值可以0,也可以是1(默认为1,代表启动仓库)

第五步:测试本地YUM仓库是否可用

代码语言:powershell复制yum install httpd -y3、man 5扩展背景:在Linux系统中,给定一个配置文件,如何查询这个文件中每一个选项的作用?

代码语言:powershell复制# 以前我们使用的是 man命令

man 命令扩展:man 5 配置文件名称

代码语言:powershell复制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/

网易源:http://mirrors.163.com/

清华源:https://mirrors.tuna.tsinghua.edu.cn/

百度搜索 => 腾讯源 mirror镜像源

举例:使用腾讯mirror镜像源

1)备份系统旧配置文件

代码语言:powershell复制mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup2)获取对应版本的CentOS-Base.repo 到/etc/yum.repos.d/目录

以CentOS7为例:

代码语言:powershell复制wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.cloud.tencent.com/repo/centos7_base.repo3)更新缓存

代码语言:powershell复制yum clean all

yum makecache3、扩展:EPEL源配置什么是EPEL源?

EPEL是对官网源的一个扩展。

CentOS-Base.repo文件 => 基础源(官方自带的YUM源)

epel.repo文件 => 扩展源,是对官方YUM源的一个补充

代码语言:powershell复制yum install epel-release -yeg:会跑的小火车就是在epel源中

代码语言:powershell复制yum install sl -y

sl4、特定软件的YUM源配置如特殊的几个软件,Nginx、MySQL、Zabbix

Nginx:http://www.nginx.org

MySQL:https://www.mysql.com/

Zabbix:https://www.zabbix.com/

以安装nginx为例:

1)找到官方文档,配置YUM源,写入到以下文件中(repo文件)

代码语言:powershell复制# 切换到默认yum目录

cd /etc/yum.repos.d

# 新建并编辑配置文件(名称任意)

vim nginx.repo

[nginx-stable]

name=nginx stable repo

baseurl=http://nginx.org/packages/centos/$releasever/$basearch/

gpgcheck=1

enabled=1

gpgkey=https://nginx.org/keys/nginx_signing.key

module_hotfixes=true2)清理缓存:

代码语言:powershell复制yum clean all

yum makecache3)安装Nginx:

代码语言:powershell复制yum install nginx -y五、自建YUM源仓库1、缓存安装软件包什么时候需要缓存软件?

1.下次还需要安装相同版本的软件包

2.由于网络原因导致网络安装非常慢,将软件包缓存下来,配置本地仓库

2、如何缓存软件安装包代码语言:powershell复制# 打开配置文件

vim /etc/yum.conf3、把软件及依赖软件全部下载到某个路径1)只下载不安装:

代码语言:powershell复制yum install --downloadonly --downloaddir=保存路径 软件名称eg:下载samba软件及依赖软件

代码语言:powershell复制# 创建一个文件夹用于保存文件

mkdir /soft

# 下载samba及依赖软件

yum install --downloadonly --downloaddir=/soft samba4、自定义YUM仓库第一步:在系统中安装制作仓库的软件createrepo

代码语言:powershell复制yum install createrepo -y第二步:把/soft文件夹做成一个本地的自建仓库

代码语言:powershell复制createrepo /soft第三步:在/etc/yum.repos.d目录中创建一个soft.repo的仓库

代码语言:powershell复制cd /etc/yum.repos.d/

vim soft.repo

[soft]

name=soft yum

baseurl=file:///soft

gpgcheck=0

enabled=1第四步:清理缓存+重建缓存

代码语言:powershell复制yum clean all

yum makecache我正在参与2024腾讯技术创作特训营最新征文,快来和我瓜分大奖!

相关推荐

地铁跑酷版本大全
365bet体育在线投注官网

地铁跑酷版本大全

📅 07-11 👁️ 9193
阳春玉液
365bet官网的微博

阳春玉液

📅 10-09 👁️ 603
暗黑2电脑怎么联机?简单指南带你畅玩多人游戏
365bet官网的微博

暗黑2电脑怎么联机?简单指南带你畅玩多人游戏

📅 09-03 👁️ 7115
如何正确设置自己的择偶标准?
365bet官网的微博

如何正确设置自己的择偶标准?

📅 08-24 👁️ 8645
新华深读|老字号焕新:“和100多年前的人用同款”,是一种什么样的体验?
黑神话悟空蝜蝂在哪里 斯哈哩国在哪里介绍
365禁用取消提款什么意思

黑神话悟空蝜蝂在哪里 斯哈哩国在哪里介绍

📅 06-27 👁️ 1789
自由式滑雪雪上技巧世界杯圆满收官 宁琴首进决赛
365禁用取消提款什么意思

自由式滑雪雪上技巧世界杯圆满收官 宁琴首进决赛

📅 09-11 👁️ 7567
如获至宝词语解释
365禁用取消提款什么意思

如获至宝词语解释

📅 09-23 👁️ 9389
剑灵侠义团满级多少
365bet官网的微博

剑灵侠义团满级多少

📅 07-18 👁️ 9104