首頁 > 軟體

RHEL 5.7 Yum設定本地源[Errno 2] No such file or directory

2020-06-16 17:52:28

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

出現這個錯誤的根本原因在於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

方法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]#

更多YUM相關教學見以下內容

RedHat 6.2 Linux修改yum源免費使用CentOShttp://www.linuxidc.com/Linux/2013-07/87383.htm

設定EPEL YUM源 http://www.linuxidc.com/Linux/2012-10/71850.htm

Redhat 本地yum源設定 http://www.linuxidc.com/Linux/2012-11/75127.htm

yum的組態檔說明 http://www.linuxidc.com/Linux/2013-04/83298.htm

RedHat 6.1下安裝yum(圖文) http://www.linuxidc.com/Linux/2013-06/86535.htm

YUM 安裝及清理 http://www.linuxidc.com/Linux/2013-07/87163.htm

CentOS 6.4上搭建yum本地源 http://www.linuxidc.com/Linux/2014-07/104533.htm


IT145.com E-mail:sddin#qq.com