来自公众号:杰哥的IT之旅
方法一:使用脚本的方式创建本地 YUM 仓库
首先,脚本开始时检查光盘是否已经挂载。如果已经挂载,就将光盘挂载到/mnt
目录下。如果没有挂载,脚本会输出:请挂载光盘的提示并以退出码 2 进行退出。
然后,脚本切换到/etc/yum.repos.d/
目录。判断a
文件夹是否存在,如果存在,则输出:文件已经存在。如果a
文件夹不存在,将创建a
文件夹。
将Cent*
开头的文件移动到a
文件夹下,在/etc/yum.repos.d
目录下创建一个名为a.repo
的文件,a.repo
文件包含了YUM
仓库的配置信息,指定了baseurl
为file:///mnt
,表示YUM
仓库的源为/mnt
目录。
脚本执行yum clean all
和yum 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
方法三:使用 aliyun 官方 YUM 仓库
进入yum
源配置文件目录
cd /etc/yum.repos.d/
创建文件夹
mkdir bak
将/etc/yum.repos.d/
目录下所有的.repo
的文件移动到bak
目录下
mv *.repo bak
下载aliyun
的yum
源
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.repo
和epel.repo
是否下载成功。
# ls
a bak CentOS-Base.repo epel.repo
下载安装cowsay
程序
yum -y install cowsay
运行并输入想要表达的信息
方法四:局域网内共享 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
References
aliyun 官方 yum 源:https://developer.aliyun.com/article/675241
---END---