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这里有几个注意事项必须使用root权限操作-o loop参数告诉系统这是个镜像文件如果遇到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] nameopenEuler Local Repository baseurlfile:///opt/openEuler enabled1 gpgcheck1 gpgkeyfile:///opt/openEuler/RPM-GPG-KEY-openEuler我来解释下每个参数的含义[openEuler-local]仓库ID可以自定义但必须唯一name仓库的描述信息baseurl最关键的部分指向我们挂载的目录enabled1启用这个仓库gpgcheck1启用GPG校验确保软件包安全gpgkey指定GPG密钥的位置保存退出后建议先清理下yum缓存yum clean all然后更新元数据yum makecache4. 验证和使用本地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 解决方法检查baseurl路径是否正确确认ISO已正确挂载查看/opt/openEuler/repodata目录是否存在问题4GPG校验失败错误信息GPG key retrieval failed 解决方法确认gpgkey路径正确检查/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源在以下场景特别有用无网络环境下的软件安装批量部署多台相同配置的服务器需要快速安装大量软件包的情况作为网络yum源的备份方案我在一次机房迁移项目中就深有体会。当时新机房网络还没完全调通但又要部署几十台openEuler服务器。全靠这个本地yum源我们才能在断网情况下顺利完成所有软件的安装配置。
【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这里有几个注意事项必须使用root权限操作-o loop参数告诉系统这是个镜像文件如果遇到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] nameopenEuler Local Repository baseurlfile:///opt/openEuler enabled1 gpgcheck1 gpgkeyfile:///opt/openEuler/RPM-GPG-KEY-openEuler我来解释下每个参数的含义[openEuler-local]仓库ID可以自定义但必须唯一name仓库的描述信息baseurl最关键的部分指向我们挂载的目录enabled1启用这个仓库gpgcheck1启用GPG校验确保软件包安全gpgkey指定GPG密钥的位置保存退出后建议先清理下yum缓存yum clean all然后更新元数据yum makecache4. 验证和使用本地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 解决方法检查baseurl路径是否正确确认ISO已正确挂载查看/opt/openEuler/repodata目录是否存在问题4GPG校验失败错误信息GPG key retrieval failed 解决方法确认gpgkey路径正确检查/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源在以下场景特别有用无网络环境下的软件安装批量部署多台相同配置的服务器需要快速安装大量软件包的情况作为网络yum源的备份方案我在一次机房迁移项目中就深有体会。当时新机房网络还没完全调通但又要部署几十台openEuler服务器。全靠这个本地yum源我们才能在断网情况下顺利完成所有软件的安装配置。