linux异常(三):CentOS6.5配置yum源报错:Could not open/read file:///mnt/cdrom/repodata/repomd.xml
报错信息:file:///mnt/cdrom/repodata/repomd.xml: [Errno 14] Could not open/read file:///mnt/cdrom/repodata/repomd.xml问题根源:1、yum源配置时,敲错了字母、少一个/、目录路径不对,请按如下配置仔细核对2、yum需要读取的是CD1,实际错误把镜像挂载成了CD2,导致一直读取不到xml配置文件
错误信息
file:///mnt/cdrom/repodata/repomd.xml: [Errno 14] Could not open/read file:///mnt/cdrom/repodata/repomd.xml
问题根源
1、yum源配置时,敲错了字母、少一个/、目录路径不对,请按如下配置仔细核对
2、yum需要读取的是CD1,实际错误把镜像挂载成了CD2,导致一直读取不到xml配置文件
本文对此做重点介绍。
同理:CentOS8,也有类似问题,不再累述,见:CentOS8和RHEL8 yum源码配置详解
一、开机自动挂载光盘的两个镜像
1.创建CD1和CD2的挂载目录
mkdir /mnt/cdrom /mnt/cdrom1
2.配置/etc/fstab,使其开机自动挂载
vim /etc/fstab
/dev/sr0 /mnt/cdrom iso9660 defaults 0 0
/dev/sr1 /mnt/cdrom1 iso9660 defaults 0 0
3.挂载CD镜像
mount /dev/cdrom /mnt/cdrom
二、检查yum配置
1.配置自己的yum源
cd /etc/yum.repos.d
ls
vim CentOS6.5.repo
建议:先备份(重命名)本文件夹内的所有文件(后缀修改为_backup),然后编辑自己的配置文件。
[CentOS6.5-yumSource-CD1]
name=CentOS6-server1
baseurl=file:///mnt/cdrom/
enabled=1
gpgcheck=0
注意:
baseurl的字母,不要有错别字;后面的:///都是英文的;挂载目录是/mnt/cdrom (该目录在上面已经创建)
enabled=1 #启用yum源
gpgcheck=0 #默认不校验安装包来源以及完整性;如是1 则配置公钥校验安装包来源
2.查看yum源并发现问题
yum repolist #查看yum源信息
...错误信息
ls /mnt/cdrom #发现挂载目录确实没有/repodata/repomd.xml这个目录和xml文件
~~~
df -h #查看挂载情况
/dev/sr0 1.2G 1.2G #这里明显有问题,正常光盘镜像应该是4G左右
问题分析:此处已足以说明,是挂载的CD镜像出了问题。
三、检查虚拟机光盘挂载情况
1.检查虚拟机右下角的光盘挂载情况
问题分析:正常情况下,右下角应该有两个光盘镜像的“圆盘”符号。
注:上图在你的机器上看到的,不一定是这个界面。
或许,你的机器显示的是两个光盘镜像,鼠标放到上面,可以看到镜像地址配置是不对的。
镜像地址默认指向的可能是虚拟机安装目录下的windows.iso(这个是错误的指向)
总之,针对这个点,要彻底整顿一下。
2.检查虚拟机设置CD/DVD设置情况
图片解析:你本机看到的和上图,可能有差异,但是,右侧的镜像一定的有问题的。
解决方案:简单粗暴,直接把CD/DVD这个IDE光驱,删除掉重新添加。
四、问题具体解决步骤
1.关机后,重新添加CD并挂载
重要!!!
删除掉原来的,再重新添加两块光盘驱动,并在右侧分别指定CD1和CD2镜像的位置。
2.开机再次检查yum源
ls /mnt/cdrom #此时已正常展示CD1光盘中的文件
ls /mnt/cdrom1 #这个目录是我们刚开始,挂载的误认为是CD1(本质它是CD2)
df -h #查看挂载情况(上面/etc/fstab已经设置了开机自动挂载)
yum repolist #查看yum源,均正常
至此,问题解决
至此通过命令df -h 可以明显看到,/dev/sr0下面磁盘占用大小是4G,而不是在错误挂载的1.2G.
后记:
问题的出现,找到问题的根本原因,问题就解决了一半,网上的解决方案,一个又一个,不疼不痒的答案,看完后完全是浪费时间,版本一直在迭代,加上水平有限,有分析不到位的地方,欢迎吐槽!
如果你觉得还不错,赶快点赞收藏吧!
更多推荐
所有评论(0)