RHEL9.8 配置本地镜像仓库

📅 2026/7/12 10:48:26
RHEL9.8 配置本地镜像仓库
RHEL9.8 配置本地镜像仓库一、VMware vSphere / ESXi1. 将 ISO 上传到 ESXi 数据存储2. 将 ISO 连接到虚拟机3. 在 RHEL 中确认光驱4. 创建挂载目录5. 挂载 ISO 光盘6. 验证挂载二、VMware Workstation1. 连接 ISO2. 在 RHEL 中挂载四、ISO 文件已经上传到 RHEL 操作系统内1. 检查 ISO2. 创建挂载目录3. loop 挂载五、配置成本地 yum/dnf 仓库六、设置开机自动挂载场景一通过 VMware 虚拟光驱连接 ISO场景二ISO 文件在虚拟机内部七、找不到 /dev/sr0 的处理方法1. 查看所有光驱设备2. 重新扫描 SCSI 总线3. 加载光驱模块4. 检查 VMware 配置八、提示“no medium found”九、提示挂载点忙或已经挂载十、完整的一次性执行命令在 VMware 虚拟机中挂载本地 ISO通常分两步在 VMware 层把 ISO 连接到虚拟机的虚拟光驱。在 RHEL 9.8 中挂载虚拟光驱/dev/sr0。下面按不同 VMware 环境给出完整步骤。一、VMware vSphere / ESXi1. 将 ISO 上传到 ESXi 数据存储登录 vSphere Client存储 → 选择 Datastore → 文件 → 上传文件例如上传到[datastore1] iso/rhel-9.8-x86_64-dvd.iso如果 ISO 已经在内容库或数据存储中可跳过上传。2. 将 ISO 连接到虚拟机在 vSphere Client 中操作选择虚拟机 → 操作 → 编辑设置 → CD/DVD 驱动器 → 数据存储 ISO 文件 → 浏览并选择 rhel-9.8-x86_64-dvd.iso勾选已连接 启动时连接然后点击“确定”。如果虚拟机正在运行通常不需要重启。3. 在 RHEL 中确认光驱登录虚拟机lsblk正常应看到类似NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTS sda 8:0 0 100G 0 disk ├─sda1 8:1 0 1G 0 part /boot └─sda2 8:2 0 99G 0 part sr0 11:0 1 10.5G 0 rom也可以执行ls-l/dev/sr0 blkid /dev/sr0查看内核是否识别dmesg|tail-30或者journalctl-k-n304. 创建挂载目录mkdir-p/mnt/rhel95. 挂载 ISO 光盘mount-oro /dev/sr0 /mnt/rhel9也可以明确指定文件系统mount-tiso9660-oro /dev/sr0 /mnt/rhel9出现下面提示属于正常现象mount: /mnt/rhel9: WARNING: source write-protected, mounted read-only.因为 ISO 光盘本身是只读的。6. 验证挂载mount|grep/mnt/rhel9df-hT/mnt/rhel9ls-lh/mnt/rhel9RHEL 完整 DVD ISO 中通常应看到AppStream BaseOS EFI EULA GPL images isolinux media.repo检查仓库元数据test-f/mnt/rhel9/BaseOS/repodata/repomd.xml\echoBaseOS 仓库正常test-f/mnt/rhel9/AppStream/repodata/repomd.xml\echoAppStream 仓库正常二、VMware Workstation1. 连接 ISO在 VMware Workstation 中选择虚拟机 → VM → Settings → CD/DVD → Use ISO image file → Browse → 选择本地 ISO 文件勾选Connected Connect at power on点击“OK”。检查如果虚拟机已经启动可以在 VMware 窗口右下角点击光驱图标选择Connect2. 在 RHEL 中挂载lsblkmkdir-p/mnt/rhel9mount-oro /dev/sr0 /mnt/rhel9ls-lh/mnt/rhel9四、ISO 文件已经上传到 RHEL 操作系统内如果 ISO 文件不是通过 VMware 虚拟光驱连接而是直接上传到了虚拟机例如/iso/rhel-9.8-x86_64-dvd.iso则使用 loop 方式挂载。1. 检查 ISOls-lh/iso/rhel-9.8-x86_64-dvd.isofile/iso/rhel-9.8-x86_64-dvd.iso2. 创建挂载目录mkdir-p/mnt/rhel93. loop 挂载mount-oloop,ro /iso/rhel-9.8-x86_64-dvd.iso /mnt/rhel9验证findmnt /mnt/rhel9ls-lh/mnt/rhel9这种方式不需要在 VMware 中配置 CD/DVD 驱动器。五、配置成本地 yum/dnf 仓库挂载完成后创建仓库配置cat/etc/yum.repos.d/rhel9-local.repoEOF [rhel9-baseos-local] nameRHEL 9 BaseOS Local ISO baseurlfile:///mnt/rhel9/BaseOS/ enabled1 gpgcheck1 gpgkeyfile:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release [rhel9-appstream-local] nameRHEL 9 AppStream Local ISO baseurlfile:///mnt/rhel9/AppStream/ enabled1 gpgcheck1 gpgkeyfile:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release EOF检查配置cat/etc/yum.repos.d/rhel9-local.repo清理缓存dnf clean allrm-rf/var/cache/dnf dnf makecache查看仓库dnf repolist应看到rhel9-baseos-local rhel9-appstream-local安装 telnetdnf\--disablerepo*\--enablereporhel9-baseos-local\--enablereporhel9-appstream-local\install-ytelnet验证rpm-qtelnetcommand-vtelnet六、设置开机自动挂载场景一通过 VMware 虚拟光驱连接 ISO先备份cp-a/etc/fstab /etc/fstab.$(date%F-%H%M%S).bak加入echo/dev/sr0 /mnt/rhel9 iso9660 ro,nofail,x-systemd.device-timeout10 0 0\/etc/fstab测试umount/mnt/rhel9mount-afindmnt /mnt/rhel9注意VMware 中必须勾选“启动时连接”否则重启后/dev/sr0中可能没有介质。场景二ISO 文件在虚拟机内部cp-a/etc/fstab /etc/fstab.$(date%F-%H%M%S).bakecho/iso/rhel-9.8-x86_64-dvd.iso /mnt/rhel9 iso9660 loop,ro,nofail 0 0\/etc/fstab测试umount/mnt/rhel9mount-afindmnt /mnt/rhel9七、找不到/dev/sr0的处理方法1. 查看所有光驱设备ls-l/dev/sr* /dev/cdrom2/dev/null lsblk-oNAME,TYPE,SIZE,FSTYPE,MOUNTPOINTS2. 重新扫描 SCSI 总线forhostin/sys/class/scsi_host/host*;doecho- - -$host/scandone然后检查lsblk3. 加载光驱模块modprobe sr_mod modprobe cdrom检查lsmod|grep-Esr_mod|cdromlsblk4. 检查 VMware 配置在 VMware 虚拟机设置中确认CD/DVD 驱动器确实存在已选择正确 ISO已勾选“已连接”没有设置为“客户端设备”但客户端未连接控制器类型正常。如果虚拟机没有 CD/DVD 设备需要编辑虚拟机设置 → 添加新设备 → CD/DVD 驱动器八、提示“no medium found”例如mount: /mnt/rhel9: no medium found on /dev/sr0说明系统识别到了虚拟光驱但光驱中没有连接 ISO。回到 VMware 中检查CD/DVD Drive → 已连接 CD/DVD Drive → 数据存储 ISO 文件然后在系统中执行eject/dev/sr02/dev/null||truesleep2lsblkmount-oro /dev/sr0 /mnt/rhel9九、提示挂载点忙或已经挂载查看已有挂载findmnt /dev/sr0 findmnt /mnt/rhel9有些桌面环境可能自动挂载到/run/media/root/RHEL-9-8-0-BaseOS-x86_64查找findmnt-S/dev/sr0可以直接使用自动挂载目录或者先卸载umount/dev/sr0mount-oro /dev/sr0 /mnt/rhel9十、完整的一次性执行命令完成 VMware 控制台中的 ISO 连接后在 RHEL 中执行set-eecho1. 检查光驱lsblkecho2. 创建挂载目录mkdir-p/mnt/rhel9echo3. 挂载光盘mountpoint-q/mnt/rhel9||mount-oro /dev/sr0 /mnt/rhel9echo4. 检查 ISO 内容ls-lh/mnt/rhel9echo5. 检查仓库元数据test-f/mnt/rhel9/BaseOS/repodata/repomd.xmltest-f/mnt/rhel9/AppStream/repodata/repomd.xmlecho6. 创建本地仓库cat/etc/yum.repos.d/rhel9-local.repoEOF [rhel9-baseos-local] nameRHEL 9 BaseOS Local ISO baseurlfile:///mnt/rhel9/BaseOS/ enabled1 gpgcheck1 gpgkeyfile:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release [rhel9-appstream-local] nameRHEL 9 AppStream Local ISO baseurlfile:///mnt/rhel9/AppStream/ enabled1 gpgcheck1 gpgkeyfile:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release EOFecho7. 生成缓存dnf clean allrm-rf/var/cache/dnf dnf makecacheecho8. 显示仓库dnf repolistecho9. 安装 telnetdnf\--disablerepo*\--enablereporhel9-baseos-local\--enablereporhel9-appstream-local\install-ytelnetecho10. 验证rpm-qtelnetcommand-vtelnet若有转载请标明出处https://blog.csdn.net/CharlesYuangc/article/details/162781530