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


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

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

相关推荐
小远yyds8 分钟前
前端Web用户 token 持久化
开发语言·前端·javascript·vue.js
吕彬-前端1 小时前
使用vite+react+ts+Ant Design开发后台管理项目(五)
前端·javascript·react.js
学前端的小朱1 小时前
Redux的简介及其在React中的应用
前端·javascript·react.js·redux·store
许野平1 小时前
Rust: 利用 chrono 库实现日期和字符串互相转换
开发语言·后端·rust·字符串·转换·日期·chrono
guai_guai_guai1 小时前
uniapp
前端·javascript·vue.js·uni-app
hjjdebug2 小时前
linux 下 signal() 函数的用法,信号类型在哪里定义的?
linux·signal
其乐无涯2 小时前
服务器技术(一)--Linux基础入门
linux·运维·服务器
Diamond技术流2 小时前
从0开始学习Linux——网络配置
linux·运维·网络·学习·安全·centos
斑布斑布2 小时前
【linux学习2】linux基本命令行操作总结
linux·运维·服务器·学习
Spring_java_gg2 小时前
如何抵御 Linux 服务器黑客威胁和攻击
linux·服务器·网络·安全·web安全