您当前的位置: 首页 > 

liaowenxiong

暂无认证

  • 1浏览

    0关注

    1171博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

yum 如何知道从哪里下载包?

liaowenxiong 发布时间:2021-07-19 15:56:06 ,浏览量:1

包来自什么地方呢?yum 如何知道从哪里下载包?起点是 /etc/yum.repos.d/ 目录,这个目录常常包含几个 repo 文件。这是 repo 的默认位置,但是可以在 YUM 配置文件(通常是 /etc/yum.conf)中指定其他位置。清单 1 给出 fedora-updates.repo,我们从它所对应的位置获取 gcl 并安装在我的 Fedora 12 系统上。

清单 1. fedora-updates.repo

[ian@echidna ~]$ cat /etc/yum.repos.d/fedora-updates.repo
[updates]
name=Fedora $releasever - $basearch - Updates
failovermethod=priority
#baseurl=http://download.fedoraproject.org/pub/fedora/linux/updates/$releasever
/$basearch/
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=updates-released-f$r
eleasever&arch=$basearch
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$basearch

[updates-debuginfo]
name=Fedora $releasever - $basearch - Updates - Debug
failovermethod=priority
#baseurl=http://download.fedoraproject.org/pub/fedora/linux/updates/$releasever
/$basearch/debug/
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=updates-released-deb
ug-f$releasever&arch=$basearch
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$basearch

[updates-source]
name=Fedora $releasever - Updates Source
failovermethod=priority
#baseurl=http://download.fedoraproject.org/pub/fedora/linux/updates/$releasever
/SRPMS/
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=updates-released-sou
rce-f$releasever&arch=$basearch
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-fedora-$basearch

从清单 1 可见,典型的 repo 文件分为三个部分,一个用于一般的包 [updates],一个用于调试包 [updates-debuginfo],最后一个用于源代码包 [updates-source]。常常可以从不同的位置(即镜像)获取发行版的包拷贝。所以 repo 文件告诉 yum 在哪里可以找到每个部分的最新镜像列表。

我们从上述清单中找到 [updates] 部分,在其中找到以下这串:

mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=updates-released-f$r
eleasever&arch=$basearch

上述这个地址就是下载普通软件包的镜像地址。我们注意到其中有两个参数变量:$releasever$basearch,表示 Linux 发行版的发布级别和 CPU 的架构类型,而我的 Linux 发行版是 x86_64 Fedora 12,说明发布级别是 12,所以 $releasever 变量的取值是 12,CPU 架构是 x86_64,所以 $basearch 变量的取值是 x86_64

因此 yum 会从下面的地址中下载列表:

https://mirrors.fedoraproject.org/metalink?repo=updates-released-f12&arch=x86_64

除了存储库位置之外,repo 文件还指出某个存储库是否启用了,以及是否应该使用 GPG 签名检查下载的包。

YUM 和 RPM 使用本地数据库判断安装的包。本地数据库中存储的包元数据是从启用的存储库获取的。尽管很少需要为本地数据库操心,但是可以使用 yum clean 命令清除本地存储的信息的不同部分,使用 yum makecache 在本地数据库中为启用的 repo 创建信息。例如,如果修改了 repo 配置,就可能需要这么做。

关注
打赏
1661566967
查看更多评论
立即登录/注册

微信扫码登录

0.0396s