可以假设“yum check-update”在没有 root 的情况下运行时准确吗?人们建议不要运行“yum makecache”,并说其他 yum 命令会更新缓存。当我查找有关缓存的信息时,我发现一些东西甚至说它默认是关闭的......所以因为运行“yum check-update”的正确方法是运行它,如果我以非 root 身份运行用户它会做一些事情来更新缓存,或者告诉我它是否已经过时,或者是什么?
在 debian 世界中,我认为这不是真的。如果我想要最新信息,必须运行“apt update”。有些脚本会定期同步此信息,以便它可以告诉您什么时候过时,但这些脚本以 root 身份运行,并且在某些环境(如 docker 映像)中,无论如何您都需要运行“apt update”。
如果答案是肯定的,它是如何工作的?是否有一个 setuid 文件允许非 root 用户使用刷新的缓存或其他东西?
如果 Yum 没有地方可以将数据写入其中,它就无法下载和解析数据。当以非 root 身份运行时,它无法写入
/var/cache/yum
. 非 root 用户无法修改此 root 拥有位置中的元数据。如果缓存尚未更新,则以非 root 身份运行“yum check-update”可能会失败或给出错误的答案,这会违背目的。