代码改变世界

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

2015-09-24 15:50  潇湘隐者  阅读(9939)  评论(0编辑  收藏  举报

   在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]#