解析配置时出错:解析“baseurl”时出错 - Oracle Linux

解析配置时出错:解析“baseurl”时出错 - Oracle Linux

我的机器的操作系统是Oracle Linux Server 7.5。

我需要通过存储库准确地安装命令yum --enablerepo=packages-microsoft-com-prod install mdatp,但我收到如下错误:

libatomic-4.8.5-44.el7.x86_64: [Errno 256] No more mirrors to try.
libnetfilter_queue-1.0.2-2.el7_2.x86_64: [Errno 256] No more mirrors to try.

我使用了该命令yum repolist,它向我报告了这一点:

Repository 'ol7_software_collections': Error parsing config: Error parsing "baseurl = 'file:///run/media/root/OL7.5 Server.src/'": URL must be http, ftp, file or https not ""

我继续了/etc/yum.repos.d/我发现:

  • 媒体库
  • 产品仓库
  • 公共-yum-ol7.repo
  • 公共-yum-ol7.repoold

我打开了文件公共-yum-ol7.repo

[ol7_software_collections]
name=OracleLinux7
baseurl=file:///run/media/root/OL7.5 Server.src/
gpgcheck=0
enabled=1

我找不到错误,我错在哪里?

答案1

该错误可能是由于存储库路径中的空白造成的;以某种方式引用它:

  • 带反斜杠:baseurl=file:///run/media/root/OL7.5\ Server.src

或者

  • 带有“%20”:baseurl=file:///run/media/root/OL7.5%20Server.src

或者

  • 带单引号:baseurl='file:///run/media/root/OL7.5 Server.src'

或者

  • 带双引号:baseurl="file:///run/media/root/OL7.5 Server.src"

URL 值使用 urlparse python 库进行解析: https://github.com/rpm-software-management/yum/blob/master/yum/config.py#L230 如果失败,它会打印“URL 必须是 %s 而不是“%s”错误字符串。

这本书红帽企业 Linux 7:桌面和管理还提到了单引号或反斜杠方法:

将整个引用括在单引号中,以便可以读取 RHEL-7.3 后面的空格,或者在空格之前放置反斜杠。

一个较旧的参考文献(包含 2008 年的答案)是如何编写包含空格的路径的baseurl页面,其中提到:

  • baseurl=文件:///media/Fedora%208%20i386%20DVD/Packages
  • baseurl=文件:///media/Fedora\ 8\ i386\ DVD/Packages
  • baseurl =“文件:///media/Fedora 8 i386 DVD/Packages”

(尽管这些尝试对于原帖者来说似乎失败了)

答案2

解析 baseurl 时遇到问题,因为 OL7.5 和 Server.src 之间的路径中有空格。

尝试将其放在引号中,如下所示:

baseurl="file:///run/media/root/OL7.5 Server.src/"

或者使用 %20 代替空格,如下所示:

baseurl=file:///run/media/root/OL7.5%20Server.src/

相关内容