我的系统管理员想要为一些我想要更新的旧 CentOS 服务器建立一个代理白名单(到目前为止,它已经与互联网断开连接)。
我要求获得完全的互联网访问权限,这样我就可以更新所有内容,并安装更多内容,然后向他发送更新所需的 URL 列表,这样他就可以切换到白名单。
不幸的是,使用的 URL 没有记录在 /var/log/yum.log 中。
我遇到了这个问题: 如何知道软件包是从哪个 yum 存储库安装的?
它告诉我“来自 repo”,但这只是一个可以映射到许多 URL 并随着时间而变化的“逻辑名称”,并且“URL”是包的“创建者/来源”,而不是它物理下载的位置。
还有其他地方可以让我提取 yum 用于安装/更新的 URL 吗,或者我可以配置 yum 的日志记录来记录该信息吗?
目前,更新包只会在日志中产生如下内容:
5月18日 18:04:07 更新:1:busybox-1.15.1-21.el6_6.x86_64
答案1
repo URL 位于/etc/yum.repos.d
目录中的 yum 配置文件中。
请记住,大多数 CentOS 存储库都使用镜像列表,其中包含每个可能的 CentOS 镜像的 URL,并且任何给定的包都可能从任何镜像下载。
在 EL 7 中,您可以在文件中找到下载包的具体 URL /var/lib/yum/yumdb/[a-z]/[unique-id-packagename]/origin_url
。此信息在 EL 8 中将不再提供。
答案2
您可以执行 yum info 来查看它,例如从 yum install 中查看。
考虑在 Centos 6 上安装 zlib -
yum info zlib
Installed Packages
Name : zlib
Arch : i686
Version : 1.2.3
Release : 29.el6
Size : 136 k
Repo : installed
From repo : base
Summary : The zlib compression and decompression library
URL : http://www.gzip.org/zlib/
License : zlib and Boost
Description : Zlib is a general-purpose, patent-free, lossless data compression
: library which is used by many different programs.
Name : zlib
Arch : x86_64
Version : 1.2.3
Release : 29.el6
Size : 149 k
Repo : installed
From repo : anaconda-CentOS-201311272149.x86_64
Summary : The zlib compression and decompression library
URL : http://www.gzip.org/zlib/
License : zlib and Boost
Description : Zlib is a general-purpose, patent-free, lossless data compression
: library which is used by many different programs.
它向您显示了来自 Repo 的内容。