确认问题
配置好本地yum源repo文件,当生成缓存yum makecache
或者 yum repolist all
时 报错,主要错误如下:
"Couldn't open file /mnt/local/repodata/repomd.xml"
这里重点看到一个路径 repodata
在你复制的镜像中的Packages
中的文件时,是否包含 repodata
这个文件夹呢 ?
报错真实原因
很多小伙伴,在复制光驱中的文件时,只拷贝了Packages这个文件夹, 或者只拷贝了Packages文件夹中的软件包,没有拷贝repodata文件夹,导致报错!
repodata
是什么?
repodata/ 目录下的一系列文件,就是yum能否自动解决依赖关系的关键。
repodata/ 目录包含以下几部分:
primary.xml.gz 、filelists.xml.gz 、other.xml.gz 、repomd.xml 、comps.xml
通俗的说,如果没有repodata ,就会直接报错,不能生成缓存文件!
本地中的repodata
在哪?
解决办法
删除原来拷贝的内容,重新将 Packages
和 repodata
拷贝到你的本地目录!
cp -r Packages/ repodata/ ../local_repo/
local_repo 是我准备的本地仓库的位置 /mnt/local_repo
由于Packages
文件夹的内容很多,拷贝时要有耐心!
再次清除所有缓存
yum clean all
重新生成缓存
yum repolist all
或者
yum makecache
接下来就可以使用 yum 安装软件啦!
以上就是本文的主要内容啦,小伙伴们有任何问题都可以留言交流,一起成长进步哦!
踩坑技术贴持续更新中,铁子们点个关注呗!