近期在研究Linux配置本地yum源,按照网上的相关资料和教程,针对CentOS7版本的环境成功完成了本地yum源的配置,配置过程简单说明如下:
####Step1####
mkdir /etc/yum.repos.d/repo.bak
# 说明:创建备份目录repo.bak
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/repo.bak
# 说明:将所有的.repo文件移动到备份目录;
####Step2####
mount /dev/cdrom /mnt/
####Step3####
cd /etc/yum.repos.d/
cat >> localyum.repo <[local_iso_repo]
name=oracleLinux8
baseurl=file:///mnt/
enabled=1
gpgcheck=0
cat localyum.repo
[local_iso_repo]
name=oracleLinux8
baseurl=file:///mnt/
enabled=1
gpgcheck=0
####Step4####
yum clean all
yum repolist all
# 此命令后会显示已经配置的yum源文件信息,包含仓库标识[local_iso_repo]、仓库名称name信息、状态。
仓库标识 仓库名称 状态
local_iso_repo oracleLinux8 启用
但在安装OracleLinux8版本后,同样按照上述方法操作后,在安装一些应用包的时候,提示报错:
oracle linux r8 u3 dvd iso 0.0 B/s | 0 B 00:00
Errors during downloading metadata for repository 'local_iso_repo':
- Curl error (37): Couldn't read a file:// file for file:///mnt/repodata/repomd.xml [Couldn't open file /mnt/repodata/repomd.xml]
错误:为 repo 'local_iso_repo' 下载元数据失败 : Cannot download repomd.xml: Cannot download repodata/repomd.xml: All mirrors were tried
后根据网上资料、报错信息的理解,发现在使用CentOS7光盘挂载后,不报上述错误信息,而挂载OracleLinux8光盘后,会报上述错误信息;仔细分析对比,发现CentOS7的目录结构如下:
[root@o8 mnt]# pwd
/mnt
[root@o8 mnt]# ll
总用量 696
-rw-r--r--. 3 root root 14 10月 30 05:14 CentOS_BuildTag
drwxr-xr-x. 3 root root 2048 10月 27 00:25 EFI
-rw-rw-r--. 21 root root 227 8月 30 2017 EULA
-rw-rw-r--. 21 root root 18009 12月 10 2015 GPL
drwxr-xr-x. 3 root root 2048 10月 27 00:26 images
drwxr-xr-x. 2 root root 2048 11月 3 00:17 isolinux
drwxr-xr-x. 2 root root 2048 10月 27 00:25 LiveOS
drwxr-xr-x. 2 root root 673792 11月 4 19:30 Packages
drwxr-xr-x. 2 root root 4096 11月 4 19:35 repodata
-rw-rw-r--. 21 root root 1690 12月 10 2015 RPM-GPG-KEY-CentOS-7
-rw-rw-r--. 21 root root 1690 12月 10 2015 RPM-GPG-KEY-CentOS-Testing-7
-r--r--r--. 1 root root 2883 11月 4 19:36 TRANS.TBL
而OracleLinux8的目录结构如下:
[root@o8 ol8r3ISO]# ll
总用量 628
dr-xr-xr-x. 4 root root 55 1月 28 11:43 AppStream
dr-xr-xr-x. 4 root root 55 1月 28 11:44 BaseOS
dr-xr-xr-x. 3 root root 35 1月 28 11:44 EFI
-r--r--r--. 1 root root 8806 1月 28 11:44 EULA
-r--r--r--. 1 root root 1437 1月 28 11:44 extra_files.json
-r--r--r--. 1 root root 18390 1月 28 11:44 GPL
dr-xr-xr-x. 3 root root 76 1月 28 11:44 images
dr-xr-xr-x. 2 root root 256 1月 28 11:44 isolinux
-r--r--r--. 1 root root 91 1月 28 11:44 media.repo
-r--r--r--. 1 root root 164573 1月 28 11:44 RELEASE-NOTES-en
-r--r--r--. 1 root root 419878 1月 28 11:44 RELEASE-NOTES-en.html
-r--r--r--. 1 root root 3169 1月 28 11:44 RPM-GPG-KEY
-r--r--r--. 1 root root 3169 1月 28 11:44 RPM-GPG-KEY-oracle
-r--r--r--. 1 root root 3329 1月 28 11:44 TRANS.TBL
配置yum源文件的目录是直接使用baseurl=file:///mnt/
CentOS7的目录可以直接通过repodata找到repomd.xml文件,即上述报错的路径/mnt/repodata/repomd.xml;
而OracleLinux8的目录路径还多了一层,分别是BaseOS和AppStream,然后观察原repo文件,了解repo的配置中根据name不同,可以做不同的配置。
cat /etc/yum.repos.d/repos.bak/oracle-linux-ol8.repo
[ol8_baseos_latest]
name=Oracle Linux 8 BaseOS Latest ($basearch)
baseurl=https://yum$ociregion.oracle.com/repo/OracleLinux/OL8/baseos/latest/$basearch/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
gpgcheck=1
enabled=1
[ol8_appstream]
name=Oracle Linux 8 Application Stream ($basearch)
baseurl=https://yum$ociregion.oracle.com/repo/OracleLinux/OL8/appstream/$basearch/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
gpgcheck=1
enabled=1
# 为了突出重点问题,以下省略
根据发现的现象,进入到OracleLinux8目录下的BaseOS目录,查看是否存在repomd.xml文件,发现确实有此文件;
cd BaseOS/
[root@o8 BaseOS]# ll
总用量 132
dr-xr-xr-x. 2 root root 94208 1月 28 11:44 Packages
dr-xr-xr-x. 2 root root 4096 1月 28 11:44 repodata
-r--r--r--. 1 root root 440 1月 28 11:43 TRANS.TBL
[root@o8 BaseOS]# cd repodata/
[root@o8 repodata]# ll
总用量 4288
-r--r--r--. 1 root root 307191 1月 28 11:44 65584576e512ee000a6e99f7ca343df0d67632780cbbd8e66ca7a36bba8e84f2-comps-BaseOS.x86_64.xml
-r--r--r--. 1 root root 1624760 1月 28 11:44 75df0fcf320ca75438968d668ab7809e89175075daeda4f6c89f35ad54535dad-filelists.xml.gz
-r--r--r--. 1 root root 76090 1月 28 11:44 9f2ae5c0f2f27c7a5c10e5a990c5515f322131e3c2a0f1bf0c52fd0c54c32fd9-comps-BaseOS.x86_64.xml.gz
-r--r--r--. 1 root root 695305 1月 28 11:44 d1ec722de92bc22255ed456822702e4d3cfe8b2d9826d3cbd80feee089a69fde-other.xml.gz
-r--r--r--. 1 root root 1674143 1月 28 11:44 e2f7fefa0a26d21b1f0a2bfa632b6f14f49eece833583261dcfa269f5bf3c65f-primary.xml.gz
-r--r--r--. 1 root root 2361 1月 28 11:44 repomd.xml
-r--r--r--. 1 root root 1698 1月 28 11:44 TRANS.TBL
初步判断问题原因,然后修改创建的配置文件:
vi /etc/yum.repos.d/localyum.repo
cat /etc/yum.repos.d/localyum.repo
[local_iso_baseos]
name=ol8_baseos
baseurl=file:///mnt/BaseOS/
enabled=1
gpgcheck=0
[local_iso_appstream]
name=ol8_appstream
baseurl=file:///mnt/AppStream/
enabled=1
gpgcheck=0
# 此处配置appstream为了方便后期可能会安装其他软件使用
然后再次清除缓存及检查是否能够正常安装软件
yum clean all
yum repolist all
仓库标识 仓库名称 状态
local_iso_baseos ol8_baseos 启用
local_iso_appstream ol8_appstream 启用
# 安装vim软件及其他常用基础软件,比如ifconfig,由于最小化安装,vim、ifconfig等这些命令不会默认安装。
yum install vim
上次元数据过期检查:0:00:10 前,执行于 2021年01月28日 星期四 11时55分47秒。
依赖关系解决。
==========================================================================================================================
软件包 架构 版本 仓库 大小
==========================================================================================================================
安装:
vim-enhanced x86_64 2:8.0.1763-15.0.1.el8 ol8_u3_local_appstream 1.4 M
安装依赖关系:
gpm-libs x86_64 1.20.7-15.el8 ol8_u3_local_appstream 39 k
vim-common x86_64 2:8.0.1763-15.0.1.el8 ol8_u3_local_appstream 6.3 M
vim-filesystem noarch 2:8.0.1763-15.0.1.el8 ol8_u3_local_appstream 49 k
事务概要
==========================================================================================================================
安装 4 软件包
总计:7.8 M
安装大小:30 M
确定吗?[y/N]: y
下载软件包:
运行事务检查
事务检查成功。
运行事务测试
事务测试成功。
运行事务
准备中 : 1/1
安装 : vim-filesystem-2:8.0.1763-15.0.1.el8.noarch 1/4
安装 : vim-common-2:8.0.1763-15.0.1.el8.x86_64 2/4
安装 : gpm-libs-1.20.7-15.el8.x86_64 3/4
运行脚本: gpm-libs-1.20.7-15.el8.x86_64 3/4
安装 : vim-enhanced-2:8.0.1763-15.0.1.el8.x86_64 4/4
运行脚本: vim-enhanced-2:8.0.1763-15.0.1.el8.x86_64 4/4
运行脚本: vim-common-2:8.0.1763-15.0.1.el8.x86_64 4/4
验证 : gpm-libs-1.20.7-15.el8.x86_64 1/4
验证 : vim-common-2:8.0.1763-15.0.1.el8.x86_64 2/4
验证 : vim-enhanced-2:8.0.1763-15.0.1.el8.x86_64 3/4
验证 : vim-filesystem-2:8.0.1763-15.0.1.el8.noarch 4/4
已安装:
gpm-libs-1.20.7-15.el8.x86_64 vim-common-2:8.0.1763-15.0.1.el8.x86_64
vim-enhanced-2:8.0.1763-15.0.1.el8.x86_64 vim-filesystem-2:8.0.1763-15.0.1.el8.noarch
完毕!
至此,关于使用OracleLinux8光盘配置本地安装源的报错问题解决完成。
继续探索无尽的未知!