找不到任何正式的解释来确定apt-cache policy <package_name>
命令是否需要sudo
。
在我的计算机(Ubuntu)上使用许多软件包对其进行了测试并且似乎可以工作,但我想知道是否存在不起作用的情况。
答案1
不会,它不会进行任何更改,只会从你的系统中获取公开详细信息(也可以通过http://packages.ubuntu.com/使用浏览器(虽然不像apt-cache
提供的那样有用或特定于机器)所以sudo
不是必需的。
答案2
当你运行时apt-cache policy <pkg>
,它:
检查存储库
/etc/apt/sources.list
并/etc/apt/sources.list.d/*.list
获取所有已启用的存储库地址根据以上列表,从每个存储库包文件中获取与模式匹配的所有包——这些包位于
/var/lib/apt/lists/
它还检查
/var/lib/dpkg/status
以获取包的安装信息
它还可以做一些其他的事情,但详细了解这些事情并不重要。
现在,用户只需要具备以下条件:
- 读-执行目录的权限(从根目录开始,包括所有子目录)
- 读相关文件的权限
所有提到的目录都有读-执行默认为其他的文件具有读为了其他的。
因此,在 Ubuntu 的默认安装中,任何用户都可以运行,apt-cache policy <pkg>
而不需要任何特殊权限。
FWIW 二进制文件apt-cache
本身具有权限0755
,因此任何人都可以执行。