当前位置: 首页 > news >正文

【openEuler系列】利用ISO发布包快速搭建本地yum仓库

1. 获取openEuler ISO发布包

想要搭建本地yum仓库,首先得拿到openEuler的ISO发布包。这就像你要做一顿大餐,得先准备好食材一样。我推荐直接从官方镜像站下载,速度快又安全。打开浏览器,访问https://repo.openeuler.org/,这里能看到所有版本的ISO文件。

以最新的22.03 LTS版本为例,进入对应目录后,你会看到几种不同的ISO文件。我建议选择带有"dvd"字样的版本,因为它包含了最全的软件包。下载完成后,你会得到一个类似"openEuler-22.03-LTS-x86_64-dvd.iso"的文件,大小通常在4GB左右。

这里有个小技巧:如果你是在虚拟机环境操作,可以直接把ISO文件上传到虚拟机里。我习惯放在/root目录下,方便后续操作。记得检查下文件完整性,可以用sha256sum命令比对官方提供的校验值,避免下载过程中出现损坏。

2. 挂载ISO文件

拿到ISO文件后,下一步就是把它挂载到系统上。这就像把DVD光盘放进光驱一样,只不过我们用的是虚拟光驱。首先得创建一个挂载点,我一般选择/opt/openEuler这个目录,结构清晰又好记。

mkdir -p /opt/openEuler

然后使用mount命令挂载ISO文件:

mount -o loop openEuler-22.03-LTS-x86_64-dvd.iso /opt/openEuler

这里有几个注意事项:

  1. 必须使用root权限操作
  2. -o loop参数告诉系统这是个镜像文件
  3. 如果遇到"mount: /opt/openEuler: WARNING: device write-protected, mounted read-only"的提示,这是正常现象,ISO本来就是只读的

挂载成功后,可以进去看看内容:

ls /opt/openEuler

你应该能看到Packages、repodata等目录,这些都是yum仓库必需的文件。

3. 配置本地yum源

现在ISO已经挂载好了,接下来就是配置yum让它认识这个本地仓库。我们需要在/etc/yum.repos.d目录下创建一个新的.repo文件。我习惯命名为openEuler.repo,这样一看就知道是干什么的。

用你喜欢的编辑器创建这个文件:

vi /etc/yum.repos.d/openEuler.repo

文件内容大致如下:

[openEuler-local] name=openEuler Local Repository baseurl=file:///opt/openEuler enabled=1 gpgcheck=1 gpgkey=file:///opt/openEuler/RPM-GPG-KEY-openEuler

我来解释下每个参数的含义:

  • [openEuler-local]:仓库ID,可以自定义但必须唯一
  • name:仓库的描述信息
  • baseurl:最关键的部分,指向我们挂载的目录
  • enabled=1:启用这个仓库
  • gpgcheck=1:启用GPG校验,确保软件包安全
  • gpgkey:指定GPG密钥的位置

保存退出后,建议先清理下yum缓存:

yum clean all

然后更新元数据:

yum makecache

4. 验证和使用本地yum源

配置完成后,怎么知道是否成功了呢?最简单的办法就是查询一下仓库列表:

yum repolist

如果看到openEuler-local仓库出现在列表中,并且状态是enabled,那就说明配置成功了。

现在你可以像使用网络yum源一样使用这个本地源了。比如安装一个软件试试:

yum install nano

因为是本地源,速度会非常快,完全不受网络环境影响。我在内网环境中实测,安装一个中等大小的软件包只需要几秒钟。

5. 常见问题排查

在实际操作中可能会遇到一些小问题,这里分享几个我踩过的坑:

问题1:挂载点不存在错误信息:"mount: /opt/openEuler: No such file or directory" 解决方法:确保先用mkdir创建了挂载目录

问题2:权限不足错误信息:"mount: only root can do that" 解决方法:使用sudo或者直接切换到root用户操作

问题3:仓库无法识别错误信息:"Cannot find a valid baseurl for repo" 解决方法:

  1. 检查baseurl路径是否正确
  2. 确认ISO已正确挂载
  3. 查看/opt/openEuler/repodata目录是否存在

问题4:GPG校验失败错误信息:"GPG key retrieval failed" 解决方法:

  1. 确认gpgkey路径正确
  2. 检查/opt/openEuler/RPM-GPG-KEY-openEuler文件是否存在

6. 进阶技巧

如果你经常需要使用这个本地源,可以考虑把它做成永久挂载。编辑/etc/fstab文件,添加一行:

/path/to/openEuler-22.03-LTS-x86_64-dvd.iso /opt/openEuler iso9660 loop,ro 0 0

这样每次开机都会自动挂载,省去手动操作的麻烦。

另一个实用技巧是创建本地仓库的副本。有时候ISO挂载是只读的,如果你需要修改某些配置,可以先把整个仓库复制到本地目录:

cp -a /opt/openEuler /opt/openEuler-local

然后修改openEuler.repo文件中的baseurl指向新位置即可。这样既保留了原始ISO的完整性,又能获得可写的仓库。

7. 实际应用场景

这种本地yum源在以下场景特别有用:

  1. 无网络环境下的软件安装
  2. 批量部署多台相同配置的服务器
  3. 需要快速安装大量软件包的情况
  4. 作为网络yum源的备份方案

我在一次机房迁移项目中就深有体会。当时新机房网络还没完全调通,但又要部署几十台openEuler服务器。全靠这个本地yum源,我们才能在断网情况下顺利完成所有软件的安装配置。

http://www.jsqmd.com/news/518158/

相关文章:

  • SAM(Segment Anything Model)实战指南:基于Point Prompt的精准图像分割
  • Termius:现代开发者的跨平台终端利器
  • 领驭智造之巅!广东犸力压力传感器彰显高端品牌气度 - 速递信息
  • SecGPT-14B一文详解:SecGPT-14B在ATTCK战术层(TA0002/TA0003)的映射能力
  • 基于Python的商品推荐系统毕业设计源码
  • UOS Server 20下MLNX驱动编译踩坑实录:从fput缺失到成功打包的全过程
  • 2026影视剧组化妆培训学校推荐,新手小白直接抄作业(纯干货) - 品牌测评鉴赏家
  • 避坑指南:Quartus联合ModelSim仿真时Top-level undefined报错的5种解决方法
  • GraalVM环境搭建与Native-Image实战指南
  • WVP-PRO国标平台实战:如何用Docker快速部署并接入海康摄像头
  • Unity微信小游戏实战:从AssetBundle打包到小程序加载全链路解析
  • 考研政治辩证法避坑指南:3步拆解‘矛盾普遍性’高频命题陷阱(2025最新版)
  • 基于Python的喀什旅游网站毕业设计
  • Qt/CPP实现的高性能表格小部件:功能超强大的表格程序
  • HDMI调试实战:手把手教你抓包分析Data Island里的Audio和AVI Packet
  • 基于Python的垃圾分类回收系统毕设源码
  • WebRTC-Streamer播放H265监控流?一个YAML文件加Postman就搞定
  • 2026年精益生产管理系统选型指南:10款实用的精益生产管理系统推荐
  • 一文吃透进程与线程:通俗图解+细节拆解,再也不混淆
  • 从热力图到伪彩图:手把手教你用Matlab imagesc处理并可视化你的实验数据矩阵
  • 洛谷 P1757:通天之分组背包
  • 基于Python的物流管理系统毕业设计
  • 基于COMSOL的冻土路基水热耦合变形模拟研究:多因素影响下的响应与变化分析
  • Guohua Diffusion 模型压缩与加速实践:在边缘设备上的部署尝试
  • 2026学化妆哪家机构强?教育博主实测盘点,零基础小白直接抄作业 - 品牌测评鉴赏家
  • 统信UOS离线环境实战:5分钟搞定telnet安装(附ARM64/AMD64双架构deb包)
  • 基于Python的篮球联盟管理系统毕设
  • 自动控制原理在现代工业中的应用与优化策略
  • ENSP与VMware虚拟机互通全攻略:解决网络实验中的常见连接问题
  • 从数据到洞察:如何用Python分析这份2023自然保护区数据,发现生态保护热点?