在 Debian Linux 中,运行后sudo apt-get update
,所有请求信息的用户apt-cache show package_name
都会获取系统范围内保存的信息。无需再次访问互联网或本地 apt 缓存服务器。
相比之下,在 Centos (v7-8) 和 Fedora (v32) 上,我注意到即使在sudo yum upgrade
(或dnf
) 之后,如果用户键入yum info package_name
(或dnf
),所有存储库都会再次读取并缓存。如果另一个用户尝试等,也会发生同样的情况。显然,缓存是基于用户的,而不是系统范围的。
我的假设正确吗?有什么方法可以让 yum/dnf 表现得像 apt 一样吗?
答案1
我的假设正确吗?
是的。这在联机dnf
帮助页:
DNF 为其执行时的每个用户使用单独的缓存。 root 用户的缓存称为系统缓存。此开关允许常规用户对系统缓存进行只读访问,系统缓存通常比用户的缓存更新鲜,因此他不必等待元数据同步。
有什么方法可以让 yum/dnf 表现得像 apt 一样吗?
是的;您可以dnf
通过以 root 身份运行来更新系统缓存dnf mc
,然后使用-C
(或--cacheonly
) 开关以非 root 身份运行它:
完全从系统缓存运行,不更新缓存并使用它,即使它已过期。
用户缓存将被忽略并且不会更新。