ISO挂载
步骤 1: 确认 ISO 挂载
首先,确保 ISO 文件已经正确挂载到指定目录(例如 /mnt/iso):
sudo mount -o loop /path/to/openEuler-22.03-rpms-amd64.iso /mnt/iso
挂载后,验证 ISO 内容是否正确:
ls /mnt/iso
确保你能看到 Packages 目录和 repodata 目录。
创建目录同步rpm软件包
步骤 2: 创建工作目录并同步软件包
创建一个工作目录,用于存储你的镜像文件和相关的工作文件:
mkdir -p ~/custom_openEuler_iso
使用 rsync 命令将 ISO 镜像中的所有 RPM 软件包复制到工作目录中:
rsync -av /mnt/iso/Packages/ ~/custom_openEuler_iso/Packages/
创建yum库
步骤 3: 创建 Yum 仓库元数据
使用 createrepo 命令在工作目录中创建一个 Yum 仓库:
createrepo ~/custom_openEuler_iso/Packages/
确认 repodata 目录已创建并包含必要的文件:
ls ~/custom_openEuler_iso/Packages/repodata
配置yum库
步骤 4: 配置本地 Yum 仓库
创建或修改本地仓库的配置文件(例如 base-local.repo):
sudo nano /etc/yum.repos.d/base-local.repo
确保配置文件内容如下:
[base-local]
name=Base Local Repository
baseurl=file:///path/to/your/custom_openEuler_iso/Packages/
enabled=1
gpgcheck=0
name=Base Local Repository
baseurl=file:///path/to/your/custom_openEuler_iso/Packages/
enabled=1
gpgcheck=0
将 baseurl 路径改为你的实际路径,例如 file:///home/username/custom_openEuler_iso/Packages/。
更新仓库缓存
步骤 5: 更新仓库缓存
清理 Yum 缓存并重新生成缓存:
sudo yum clean all
sudo yum makecache
sudo yum makecache
构建ISO镜像
步骤 6: 创建新的 ISO 镜像
使用 genisoimage 命令将工作目录中的文件制作成一个新的 ISO 镜像:
genisoimage -o custom_openEuler-22.03-rpms-amd64.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -J -R -V "Custom_openEuler_22.03" ~/custom_openEuler_iso
验证并测试新的 ISO 镜像
使用生成的 ISO 镜像文件进行安装或者在虚拟机中测试:
sudo kvm -cdrom custom_openEuler-22.03-rpms-amd64.iso
排查与解决
如果你仍然遇到相同的错误,请确保以下事项:
挂载路径和文件路径正确无误。
createrepo 成功运行且 repodata 目录已正确生成。
本地 Yum 仓库配置文件中的 baseurl 路径正确。
通过上述步骤,你应该能够正确创建和使用一个本地 Yum 仓库,并生成一个新的包含Kubernetes依赖包的 openEuler ISO 镜像。
文章评论
👌
🤜
🤌