Linux之镜像源篇
1. 概述
1.yum需要一个yum库,也就是yum源。默认情况下,CentOS就有一个yum源。在/etc/yum.repos.d/目录下有一些默认的配置文件(可以将这些文件移到/opt下,或者直接在yum.repos.d/下重命名)。
2.首先要找一个yum库(源),然后确保本地有一个客户端(yum这个命令就是客户端),由yum程序去连接服务器。连接的方式是由配置文件决定的。通过编辑/etc/yum.repos.d/CentOS-Base.repo文件,可以修改设置。
3. 打开CentOS-Base.repo文件,可以看到url路径是CentOS的官网自身的yum源,http://mirrorlist.centos.org/release=releasever&arch=basearch&repo=os。可以将这个mirrorlist注释掉,然后将baseurl设置成国内的阿里云源http://mirrors.aliyun.com/repo/Centos-6.repo,也可以在用于大量的rpm包的前提下设置成自己的本地文件系统(挂载目录),需要移除CentOS-Base.repo文件,并编辑CentOS-Media.repo文件。
name=Description#一个描述,随意。
baseurl=#设置资源库的地址,可以写阿里云也可以是自己的yum
ftp://
http://
file:///
enabled={1|0}#enabled=1开启本地更新模式
gpgcheck={1|0}# gpgcheck=1表示检查;可以不检查gpgcheck=0
gpgkey=#检查的key;如果上面不检查这一行可以不写。
2. 本地镜像源
2.1 第一种方式
虚拟机下挂载
(1)准备iso镜像文件,装载虚拟机
(2)将装载的iso镜像挂载到linux系统
mount /dev/sr0 /mnt
(3)编辑Local.repo文件
vim Local.repo
================================
centos7
[Local-Base]
name=Local-Base
baseurl=file:///mnt
gpgcheck=0
enabled=1
centos8
[Local-Base]
name=Local-Base
baseurl=file:///mnt/BaseOS
gpgcheck=0
enabled=1
[AppStream]
name=AppStream
baseurl=file:///mnt/AppStream
gpgcheck=0
enabled=1
(4)编辑fstab文件,开机自动挂载iso镜像
vim /etc/fstab 在末尾加上下面这一行,表示开机自动挂载iso镜像
/dev/sr0 /mnt iso9660 defaults 0 0
2.2 第二种方式
实体机下挂载
(1)下载iso文件
从CentOS的官网下载CentOS的完整版iso文件,并上传到Linux文件系统中,例如/opt/tools/。
(2)创建挂载目录
为iso文件的挂载创建目录。
mkdir /mnt/cdrom
(3)挂载
将iso文件挂载到挂载目录。
mount -o loop -t iso9660 /opt/tools/CentOS-6.7-x86_64-bin-DVD1.iso /mnt/vcdrom
(4)移除或备份Centos-Base.repo文件
cd /etc/yum.repos.d/
mv Centos-Base.repo Centos-Base.repo.back
(5)编辑Centos-Media.repo文件
vim /etc/yum.repos.d/Centos-Media.repo
name=CentOS-$releasever - Media
baseurl=file:///mnt/vcdrom/#将baseurl修改为DVD的挂载目录
gpgcheck=1
enabled=1 #开启本地更新模式
(6)重新加载yum
yum clean all
yum makecache
(7)编写脚本并开机自动挂载
首先,编写脚本。
vim /opt/shell/mymount.sh
#!/bin/bash
#
mount -o loop -t iso9660 /opt/tools/CentOS-6.7-x86_64-bin-DVD1.iso /mnt/vcdrom
其次,修改脚本执行权限。
chmod 777 /opt/shell/mymount.sh
再次,修改/etc/rc.local配置文件。
vim /etc/rc.local
在文件最后一行加上如下
/opt/shell/mymount.sh
最后,重启机器测试。
init 6
3. 在线镜像源(阿里云源)
1.安装wget
yum install -y wget
2.备份/etc/yum.repos.d/CentOS-Base.repo文件
cd /etc/yum.repos.d/
mv CentOS-Base.repo CentOS-Base.repo.back
3.下载阿里云的Centos-8.repo文件
wget -O CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-8.repo
4.重新加载yum
yum clean all
yum makecache
搭建镜像源服务器可以参考这篇博客https://blog.csdn.net/u010080562/article/details/127601935
4.配置本地镜像源脚本
内容如下(下载在博客文章最上面那里):
#!/bin/bash
# 设定挂载点的目标路径
MOUNT_POINT="/mnt"
# 检查/dev/sr0是否已经挂载到了MOUNT_POINT
if mount | grep "on ${MOUNT_POINT} type" > /dev/null; then
echo "/dev/sr0 is mounted at ${MOUNT_POINT}"
echo "镜像盘已挂载,继续下一步......"
else
echo "/dev/sr0 is not mounted, beginning mount now..."
mount /dev/sr0 $MOUNT_POINT
if [ $? -eq 0 ]
then
echo "挂载镜像盘成功,继续下一步......"
else
echo "挂载镜像盘失败!!!请检查镜像盘是否已连接就绪!!!"
exit 1
fi
fi
version=$(sed -rn '/^VERSION_ID=/s@.*="?([0-9]+)\.?.*"?@\1@p' /etc/os-release)
echo "当下系统版本为$version,开始配置本地yum库......."
function repo7(){
cat > /etc/yum.repos.d/local.repo <<EOF
[BaseOS]
name=BaseOS
baseurl=file:///mnt/
gpgcheck=0
enable=1
EOF
}
function repo8and9(){
cat > /etc/yum.repos.d/local.repo <<EOF
[BaseOS]
name=BaseOS
baseurl=file:///mnt/BaseOS
gpgcheck=0
enable=1
[AppStream]
name=AppStream
baseurl=file:///mnt/AppStream
gpgcheck=0
enable=1
EOF
}
if [ 7 -eq "$version" ]
then
repo7
elif [ 8 -eq "$version" ] || [ 9 -eq "$version" ]
then
repo8and9
else
echo "当前系统版本是$version,暂不支持!!!"
fi
yum clean all && yum makecache
if [ $? -eq 0 ]
then
echo "配置本地yum镜像源成功!!!"
else
echo "请确认是否已经挂载镜像!!!"
fi
echo "当下系统版本为$version,结束配置本地yum库......."
更多推荐
所有评论(0)