如何高效的在 Linux 环境下配置 yum 源?

作者:JackTian

来源:公众号「杰哥的IT之旅」

ID:Jake_Internet

转载请联系授权(微信ID:Hc220088)

原文链接:如何高效的在 Linux 环境下配置 yum 源?

方法一:使用脚本的方式创建本地 YUM 仓库

首先,脚本开始时检查光盘是否已经挂载。如果已经挂载,就将光盘挂载到/mnt 目录下。如果没有挂载,脚本会输出:请挂载光盘的提示并以退出码 2 进行退出。

然后,脚本切换到/etc/yum.repos.d/目录。判断a文件夹是否存在,如果存在,则输出:文件已经存在。如果a文件夹不存在,将创建a文件夹。

Cent*开头的文件移动到a文件夹下,在/etc/yum.repos.d目录下创建一个名为a.repo的文件,a.repo文件包含了YUM仓库的配置信息,指定了baseurlfile:///mnt,表示YUM仓库的源为/mnt目录。

脚本执行yum clean allyum makecache命令,清理并创建YUM缓存。如果这两个命令执行成功(退出码为0),脚本会输出:本地yum仓库已经创建完成的提示。

bash 复制代码
#!/bin/bash
mount |grep sr0 &> /dev/null
if [ $? -eq 0 ];then
	mount /dev/cdrom /mnt &> /dev/null
else
	echo "请挂载光盘!"
	exit 2 
fi
cd /etc/yum.repos.d/
if [ -e a ];then
	echo "文件已经存在"
else
	mkdir a
fi
mv Cent* a &> /dev/null
cat << EOR >> a.repo
[base]
name=a
baseurl=file:///mnt
gpgcheck=0
EOR
yum clean all
yum makecache
if [ $? -eq 0 ];then
echo "本地yum仓库已经创建完成!"
fi

方法二:通过镜像制作本地 YUM 仓库

首先,需要将CentOS-7-x86_64-DVD-1611.iso本地镜像iso文件上传到/opt目录下。

创建挂载目录

bash 复制代码
mkdir /mnt/centos7.5

挂载ISO光盘文件

bash 复制代码
mount /opt/CentOS-7-x86_64-DVD-1611.iso /mnt/centos7.5

将原有的yum源备份到/etc/yum.repos.d/bak目录下

bash 复制代码
mv /etc/yum.repos.d/*.repo  /etc/yum.repos.d/bak

进入yum源配置文件目录

bash 复制代码
cd /etc/yum.repos.d/

创建CentOS.Base.repo配置文件,在创建yum配置文件后缀名必须为.repo

ini 复制代码
vim CentOS.Base.repo

# 如下为配置文件中的内容
[centos7.5]                       # yum 源区别名称,用来区分其他的 yum 源
name=centos7.5                    # yum 源名字
baseurl=file:///mnt/centos7.5     # 指定本地 yum 源的路径
enabled=1                         # 是否使用此 yum 源(1:打开,0:关闭)
gpgcheck=0                        # 检查软件(1:检查,0:不检查)
gpgkey=file:///mnt/centos7.5/RPM-GPG-KEY-CentOS-7

刷新缓存

css 复制代码
yum clean all
yum repolist

方法三:使用 aliyun 官方 YUM 仓库

进入yum源配置文件目录

bash 复制代码
cd /etc/yum.repos.d/

创建文件夹

arduino 复制代码
mkdir bak

/etc/yum.repos.d/目录下所有的.repo的文件移动到bak目录下

bash 复制代码
mv *.repo bak

下载aliyunyum

bash 复制代码
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

wget中,-O:选项用于指定要将下载的内容保存为的文件名。

安装扩展源epel.repo

bash 复制代码
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

进入yum源配置文件目录下,CentOS-Base.repoepel.repo是否下载成功。

shell 复制代码
# ls
a  bak  CentOS-Base.repo  epel.repo

下载安装cowsay程序

复制代码
yum  -y install cowsay

运行并输入想要表达的信息

方法四:局域网内共享 YUM 仓库

局域网当有多台服务器需要配置本地yum源时,不需要把每台服务器都进行单独配置一遍并挂载镜像,我们只需要在一台服务器上配置好yum源。然后使用httpd服务让其他服务器正常访问即可。

安装httpd服务

复制代码
yum install -y httpd 

启动httpd服务

sql 复制代码
systemctl start httpd    

关闭防火墙

arduino 复制代码
systemctl stop firewalld 

查看httpd状态是否启动正常

lua 复制代码
systemctl status httpd  

服务端挂载镜像

bash 复制代码
mount /opt/CentOS-7.5-1804.iso /var/www/html/CentOS7.5/

客户端配置

ini 复制代码
vim /etc/yum.repos.d/CentOS-Base.repo 

[local]
name=net_bendiyum
baseurl=http://192.168.1.8/CentOS7.5/
enabled=1
gpgcheck=0

yum clean all:执行该命令时,清理yum缓存,将会清除所有已下载的软件包和元数据,以便在下一次运行yum命令时重新下载。有助于释放磁盘空间并确保获取的是最新的软件包信息。

css 复制代码
yum clean all

yum makecache:执行该命令时,用于下载并生成所有当前启用的yum仓库的元数据。元数据包括软件包列表、依赖关系和其他信息。可以确保你的系统具有最新的软件包信息,以便在安装或更新软件包时使用。

复制代码
yum makecache

yum repolist:执行该命令时,用于列出当前系统中所有可用的yum仓库。它会显示每个仓库的ID、名称、状态和软件包数量等信息。对于查看系统中可用的软件包来源非常有用。

复制代码
yum repolist

References

aliyun 官方 yum 源:developer.aliyun.com/article/675...


以上就是今天所要分享的全部内容了。

如果你觉得这篇文章对你有点用的话,为本文点个赞留个言 或者转发一下,让更多的朋友看到,因为这将是我持续输出更多优质文章的最强动力!

相关推荐
csdn_aspnet5 小时前
ASP.NET Core 中的依赖注入
后端·asp.net·di·.net core
坐怀不乱杯魂5 小时前
Linux网络 - 网络层
linux·服务器·网络
j_xxx404_5 小时前
Linux:命令行参数与环境变量
linux·运维·服务器
j_xxx404_6 小时前
Linux:进程虚拟地址空间|虚拟内存管理
linux·运维·服务器
江畔何人初6 小时前
pod的定义以及创建过程
linux·运维·云原生
德尔塔大雨淋6 小时前
VLLM 中的module PASS 和FUN PASS
linux·服务器·vllm
末日汐6 小时前
linux线程
linux·运维
昊坤说不出的梦6 小时前
【实战】监控上下文切换及其优化方案
java·后端
疯狂踩坑人6 小时前
【Python版 2026 从零学Langchain 1.x】(二)结构化输出和工具调用
后端·python·langchain
天人合一peng6 小时前
Unity中button 和toggle监听事件函数有无参数
前端·unity·游戏引擎