都说了手搓 yum 源,首先系统总得是标准的吧?
# 查看系统版本
cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)根据上面,咱知道了系统是 CentOS 7.9 的了哈
可以使用虚拟机装一个 CentOS 7.9 的系统(理论上 CentOS 7 的系统都行)
yum repolist
Loading mirror speeds from cached hostfile
repo id repo name status
base/7/x86_64 CentOS-7 10,072
epel/x86_64 Extra Packages for Enterprise Linux 7 - x86_64 13,791
extras/7/x86_64 CentOS-7 526
updates/7/x86_64 CentOS-7 6,173
repolist: 30,562# 创建目录 && 备份 yum 源
cd /etc/yum.repo.d
sudo mkdir bak-$(date +%F)
mv ./*.repo bak-$(date +%F)/
# 使用阿里云 yum 源替换本地 yum 源
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
# 刷新缓存
yum clean all && yum makecache# 安装 epel 源
yum install epel-release
# 刷新 yum 源缓存
yum clean all && yum makecache先找一个剩余空间大于 100G 的地方,下文中以 /mnt/CentOS-7.9-repo-ali/ 代替
yum install -y screen
# 进入 screen
screen -S reposyncreposync -r * -p /mnt/CentOS-7.9-repo-ali/接下来就是等了,这一步可能要很久很久
yum install createrepocreaterepo /mnt/CentOS-7.9-repo-ali/这一步也是挺久的,等就行了
因为 sfs 支持多线程压缩解压,且支持直接挂载,因此咱这里使用 sfs 来压缩
yum install squashfs-toolsmksquashfs /mnt/CentOS-7.9-repo-ali/ CentOS-7.9-repo-ali.sfs这里假设挂载在了 /mnt 下
mount CentOS-7.9-repo-ali.sfs /mnt/ -t squashfs -o loopcd /etc/yum.repo.d
mkdir bak
mv *.repo bak/echo "
[local]
name=local
baseurl=file:///mnt/
enabled=1
gpgcheck=0" > local.repo注意:baseurl=file:// 后面跟的才是挂载的绝对路径
yum clean all && yum makecache