RHEL 5.7 Yum配置本地源[Errno 2] No such file or directory


在Red Hat Enterprise Linux Server release 5.7 上配置YUM本地源时,遇到了"Errno 5] OSError: [Errno 2] No such file or directory xxxx",花了点时间搞清楚错误的来龙去脉。特此记录一下:
 
将Redhat 5.7的光盘镜像拷贝到了/mnt/cdrom/LinuxSrc目录下,配置了rhel-media.repo文件,如下所示
 
[root@DB-Server yum.repos.d]# more rhel-media.repo 
[media]
name=Red Hat Enterprise Linux 5.7                                
baseurl=file:///mnt/cdrom/LinuxSrc                                         
enabled=1                                                         
gpgcheck=0                                                        
gpgkey=file:///mnt/cdrom/LinuxSrc/RPM-GPG-KEY-redhat-release 

 

执行yum clean all命令后,执行yum makecache遇到了下面错误:
[root@DB-Server yum.repos.d]# yum clean all
Loaded plugins: product-id, security, subscription-manager
Updating Red Hat repositories.
Cleaning up Everything
[root@DB-Server yum.repos.d]# yum makecache
Loaded plugins: product-id, security, subscription-manager
Updating Red Hat repositories.
file:///mnt/cdrom/LinuxSrc/repodata/repomd.xml: [Errno 5] OSError: [Errno 2] No such file or directory: '/mnt/cdrom/LinuxSrc/repodata/repomd.xml'
Trying other mirror.
Error: Cannot retrieve repository metadata (repomd.xml) for repository: media. Please verify its path and try again
[root@DB-Server yum.repos.d]# 
clip_image001

 

出现这个错误的根本原因在于RHEL 5.x 版本与RHEL 6.x 版本的rpm包存放路径不同:
 
RHEL 5.x : ../Server    例如:我案例环境位于/mnt/cdrom/LinuxSrc/Server 下。
 
RHEL 6.x : ../Packages
 
所以还在于上面的baseurl参数设置错误。那么我们可以通过两种方法解决这个问题:
 
 
 
方法1:配置正确的baseurl参数。
 
[root@DB-Server yum.repos.d]# vi rhel-media.repo 
[media]
name=Red Hat Enterprise Linux 5.7
baseurl=file:///mnt/cdrom/LinuxSrc/Server
enabled=1
gpgcheck=0
gpgkey=file:///mnt/cdrom/LinuxSrc/RPM-GPG-KEY-redhat-release
clip_image002

 

 
 
方法2:使用createrepo命令创建本地源目录,将其指向baseurl指定的目录
 
 [root@DB-Server Server]# rpm -ivh createrepo-0.4.11-3.el5.noarch.rpm
warning: createrepo-0.4.11-3.el5.noarch.rpm: Header V3 DSA signature: NOKEY, key ID 37017186
Preparing...                ########################################### [100%]
   1:createrepo             ########################################### [100%]
[root@DB-Server Server]# createrepo --update /mnt/cdrom/LinuxSrc
Previous repo file missing: /mnt/cdrom/LinuxSrc/repodata/primary.xml.gz
3388/3388 - VT/etherboot-roms-5.4.4-15.el5.x86_64.rpm                           mm
Saving Primary metadata
Saving file lists metadata
Saving other metadata
You have new mail in /var/spool/mail/root
[root@DB-Server Server]# yum makecache
Loaded plugins: product-id, security, subscription-manager
Updating Red Hat repositories.
media                    |  951 B     00:00     
media/filelists          | 3.1 MB     00:00     
media/other              |  11 MB     00:00     
media/primary            | 1.1 MB     00:00     
media                                 3388/3388
media                                 3388/3388
media                                 3388/3388
Metadata Cache Created
[root@DB-Server Server]# 

 


相关内容