制作基于阿里云base、epel等源的离线仓库ISO镜像文件
789 字
4 分钟
制作基于阿里云base、epel等源的离线仓库ISO镜像文件
本文撰写于 2023 年 9 月 29 日,最后更新于 2023 年 10 月 1 日。
因某些项目实施环境不具备连通公网的条件,或者申请开通公网步骤繁琐,影响项目实施,所以制作一个便于随身携带的离线 yum 库是非常有必要的。
基础环境
- Centos7.9(最小化安装);
- 替换官方 yum 库为阿里云 yum 库;参考链接:https://developer.aliyun.com/mirror/centos?spm=a2c6h.13651102.0.0.3e221b11Q84n64
- 添加阿里云 epel 库;参考链接:https://developer.aliyun.com/mirror/epel?spm=a2c6h.13651102.0.0.3e221b11Q84n64
- centos 虚拟机有 200G 左右的空闲空间(空间不足则添加磁盘)
替换官方 yum 库为 aliyun
[root@localhost ~]#curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo添加阿里云 epel 库
[root@localhost ~]#curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo[root@localhost ~]#yum clean all[root@localhost ~]#yum makecache安装 reposync 工具
reposync 用来获取 yum 库中的 RPM 包
#查询reposync包含在哪个软件包内[root@localhost ~]#yum provides reposync#下载yum-utils工具箱,包含reposync命令[root@localhost ~]#yum -y install yum-utils安装 createrepo 工具
createrepo 工具可以把大量 RPM 包制作成离线 yum 库。
[root@localhost ~]#yum -y install createrepo获取 yum 库离线包
#计划把同步的离线包存放到/data/repo目录[root@localhost ~]#mkdir /data/repo#查看当前已启用的yum源[root@localhost ~]# yum repolistLoaded plugins: fastestmirrorLoading mirror speeds from cached hostfile* base: mirrors.aliyun.com* extras: mirrors.aliyun.com* updates: mirrors.aliyun.comrepo id repo name statusbase/7/x86_64 CentOS-7 - Base - mirrors.aliyun.com 10,072epel/x86_64 Extra Packages for Enterprise Linux 7 - x86_64 13,743extras/7/x86_64 CentOS-7 - Extras - mirrors.aliyun.com 509updates/7/x86_64 CentOS-7 - Updates - mirrors.aliyun.com 3,570repolist: 27,894#使用reposync同步yum源#reposync用法:"reposync -r"指定需要同步的yum库名称,如只同步epel源"reposync -r epel"; -p 选项,指定下载的RPM包存放位置。 #reposync同步所有已启用的yum库 [root@localhost ~]#reposync -p /data/repo等待很长一段时间后同步结束,查看下目录大小
[root@localhost ~]#du -sh /data/repo48G /data/repo创建离线 yum 库
#把/repo目录下的RPM软件包做成离线yum库[root@localhost ~]#createrepo -v /data/repo执行完毕,查看/data/repo目录,所有已启用的 yum 源离线文件都存放在独自的目录中。
[root@localhost ~]# ll /data/repototal 16drwxr-xr-x. 3 root root 4096 Mar 3 23:19 basedrwxr-xr-x. 3 root root 4096 Mar 4 00:03 epeldrwxr-xr-x. 3 root root 4096 Mar 4 21:57 extrasdrwxr-xr-x. 3 root root 4096 Mar 4 22:00 updates把/data/repo 目录下的 yum 库创建为 ISO 文件
使用 mkisofs 工具,默认没有安装
#查询包含mkisofs工具的软件包[root@localhost ~]#yum provides mkisofs#genisoimage软件包含mkisofs工具,安装genisoimage[root@localhost ~]#yum -y install genisoimage#创建存放ISO镜像文件的目录[root@localhost ~]#mkdir /data/iso[root@localhost ~]#cd /data/iso#使用mkisofs工具制作ISO镜像文件,镜像名称为:epel.iso[root@localhost iso]#mkisofs -r -o epel.iso /data/repo/#制作完毕后,查看epel.iso文件[root@localhost iso]#ls -lh挂载 ISO 文件作为本地 yum 源
创建 ISO 挂载点目录
任意位置及名称都可以
[root@localhost ~]#mkdir /media/iso通过mount命令将 ISO 文件挂载到挂载点
[root@localhost ~]#mount -o loop /data/iso/epel.iso /media/iso创建新的 repo 文件
[root@localhost ~]#cd /etc/yum.repos.d[root@localhost ~]#mkdir repo.bak[root@localhost ~]#mv *.repo repo.bak[root@localhost ~]#vim local-epel.repo[local-epel]name=CentOS-$releasever - Mediabaseurl=file:///media/iso/gpgcheck=0enabled=1gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7清理 yum 缓存,重新构建 yum 本地缓存索引
[root@localhost ~]#yum clean all[root@localhost ~]#yum makecache尝试安装软件包:nginx
[root@localhost ~]#yum -y install nginx如果安装正常,则证明基于离线库制作的 iso 镜像文件制作成功。
文章分享
如果这篇文章对你有帮助,欢迎分享给更多人!
制作基于阿里云base、epel等源的离线仓库ISO镜像文件
https://blog.azxle.cn/posts/offline-yum-repo-iso/相关文章智能推荐
1
使用Packstack工具一键部署OpenStack-T版
系统运维介绍如何在 CentOS 7.9 虚拟机上使用 Packstack 工具一键部署 OpenStack Train 版(allinone),涵盖环境规划、系统配置、yum 源替换及 Dashboard 登录。
2
CentOS 7.9 删除多余内核
系统运维记录 CentOS 7.9 系统中查询、删除多余内核并更新 GRUB 引导的操作步骤。
3
AnolisOS 8.2使用Packstack工具部署OpenStack-T
系统运维介绍如何在 AnolisOS 8.2 上使用 Packstack 一键部署 OpenStack Train 版(allinone),包含仓库配置、系统调优、安装步骤及镜像上传与 SSH 登录验证。
4
Linux 命令基本操作
系统运维Ubuntu 系统 SSH 服务安装配置、root 用户管理及依赖问题处理的基本操作记录。
5
在 Linux 中创建和运行 Docker 登录脚本及配置 Docker 局域网代理
系统运维创建 Docker 交互式登录脚本(支持 SOCKS5 代理)及通过 systemd 配置 Docker 使用局域网代理的方法。
随机文章随机推荐











