如何高效的在 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...


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

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

相关推荐
fhf5 分钟前
感觉根本等不到35岁AI就把我裁了
前端·人工智能·程序员
小鸡食米6 分钟前
RHCSA
linux·运维·服务器
hummhumm6 分钟前
第 36 章 - Go语言 服务网格
java·运维·前端·后端·python·golang·java-ee
凡人的AI工具箱9 分钟前
40分钟学 Go 语言高并发:Pipeline模式(一)
开发语言·后端·缓存·架构·golang
橘子真甜~20 分钟前
Linux操作系统2-进程控制3(进程替换,exec相关函数和系统调用)
linux·运维·服务器·进程控制·进程等待
蒜蓉大猩猩28 分钟前
Vue.js - 组件化编程
开发语言·前端·javascript·vue.js·前端框架·ecmascript
xiaoerbuyu123332 分钟前
ubuntu 连不上网 桌面 右上角没有网络图标 Ubuntu复制后虚拟网络失效问题
linux·运维·ubuntu
南鸳61040 分钟前
Scala:根据身份证号码,输出这个人的籍贯
开发语言·后端·scala
胖胖不胖、44 分钟前
解决:Openstack创建实例进入控制台报错Something went wrong, connection is closed
linux·服务器·openstack
小扳1 小时前
微服务篇-深入了解使用 RestTemplate 远程调用、Nacos 注册中心基本原理与使用、OpenFeign 的基本使用
java·运维·分布式·后端·spring·微服务·架构