配置本地yum源找不到repomd.xml的解决方法

本地yum源配置找不到repomd.xml

在安装IML时,被要求需要本地离线安装。于是我就在自己的电脑上下载yum源下的安装文件,然后将这些文件拷贝到工作机上,在配置本地yum源,在配置完毕之后执行install安装IML却报错了,提示:file:///mnt/repo/base/repodata/repomd.xml: [Error 14] curl#37 - “Couldn’t open file /mnt/repo/base/repodata/repomd.xml”.在多方查找下终于找到了解决方法。

使用yum下载离线安装文件

在.repo文件中增加配置:keepcache=1

[base] 
name=CentOS-$7 - Base - 163.com 
#cachedir=/root/yanta  # cachedir是缓存目录,默认为/var/cache/yum/
keepcache=1     # 是否保存安装源文件,比如rpm包
#mirrorlist=http://mirrorlist.centos.org/?release=7&arch=basearch&repo=os 
baseurl=http://mirrors.163.com/centos/7/os/$basearch/ 
gpgcheck=1 
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-7

配置本地yum源和报错:找不到repomd.xml

本地yum源配置我就不说了,很简单的5句话:

#      #这个repo文件最好不要命名为redhat.repo
[base]
name=base
baseurl=file:///mnt/repo/base
enable=1
gpgcheck=0

yum源配置完毕后,执行IML安装脚本会报错:
file:///mnt/repo/base/repodata/repomd.xml: [Error 14] curl#37 - “Couldn’t open file /mnt/repo/base/repodata/repomd.xml”
这个可以不去理解repomd.xml这个文件是干什么的,直接按照这个错误提示的字面意思进行修正就可以了。字面意思就是说这个文件夹目录下没有找到repomd.xml文件。
那么我们就到该目录下去查找该文件,查看是否存在,同时也需要查看在xml文件中类似于的一句话,这里面有一些特殊的文件记录了yum源下rpm包的一些信息。如果这些信息不对应,也会出现上面的报错。而最简单的解决方法就是重新配置生成repomd.xml文件。
以上述base为例,生成新的repomd.xml:

[root@yanta ~]# cd /mnt/repo
[root@yanta repo]# creatrepo ./base/
Spawning worker 0 with 39 pkgs
Workers Finished
Saving Primary metadata
Saving file lists metadata
Saving other matadata
Generating sqlite DBs
Sqlite DBs complete

此时yum源就配置好了。

你可能感兴趣的:(Lustre/IML,yum,repomd-xml)