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

科技   2024-04-09 17:27   福建  
来自公众号:杰哥的IT之旅

方法一:使用脚本的方式创建本地 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仓库已经创建完成的提示。

#!/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目录下。

创建挂载目录

mkdir /mnt/centos7.5

挂载ISO光盘文件

mount /opt/CentOS-7-x86_64-DVD-1611.iso /mnt/centos7.5

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

mv /etc/yum.repos.d/*.repo  /etc/yum.repos.d/bak

进入yum源配置文件目录

cd /etc/yum.repos.d/

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

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

刷新缓存

yum clean all
yum repolist
本地 YUM 仓库配置完毕

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

进入yum源配置文件目录

cd /etc/yum.repos.d/

创建文件夹

mkdir bak

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

mv *.repo bak

下载aliyunyum

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

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

安装扩展源epel.repo

wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo

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

# ls
a  bak  CentOS-Base.repo  epel.repo

下载安装cowsay程序

yum  -y install cowsay
安装 cowsay 程序

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

Goodbye 2023, hello 2024!

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

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

安装httpd服务

yum install -y httpd 

启动httpd服务

systemctl start httpd    

关闭防火墙

systemctl stop firewalld 

查看httpd状态是否启动正常

systemctl status httpd  

服务端挂载镜像

mount /opt/CentOS-7.5-1804.iso /var/www/html/CentOS7.5/

客户端配置

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命令时重新下载。有助于释放磁盘空间并确保获取的是最新的软件包信息。

yum clean all

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

yum makecache

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

yum repolist
局域网内共享 YUM 仓库配置完毕

References

aliyun 官方 yum 源:https://developer.aliyun.com/article/675241

---END---

Linux学习
专注分享Linux/Unix相关内容,包括Linux命令、Linux内核、Linux系统开发、Linux运维、网络编程、开发工具等Linux相关知识和技术
 最新文章