Oracle Linux R8配置本地YUM源小问题记录

近期在研究Linux配置本地yum源,按照网上的相关资料和教程,针对CentOS7版本的环境成功完成了本地yum源的配置,配置过程简单说明如下:

  1. 备份原repo文件
  2. 挂载安装光盘到系统文件
  3. 创建新的repo文件
  4. 清除缓存,检查配置源
####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光盘配置本地安装源的报错问题解决完成。
继续探索无尽的未知!

你可能感兴趣的:(技术,linux)