Cheche Asked: 2019-11-14 03:58:38 +0800 CST2019-11-14 03:58:38 +0800 CST 2019-11-14 03:58:38 +0800 CST apt-cache policy <package_name> 是否需要 sudo? 772 找不到任何正式的解释来确定apt-cache policy <package_name>命令是否需要sudo。 在我的机器(Ubuntu)上用很多包测试了它,似乎可以工作,但我想知道是否存在这种情况不起作用的情况。 package-management permissions apt-cache 2 个回答 Voted Best Answer guiverc 2019-11-14T04:06:11+08:002019-11-14T04:06:11+08:00 不,它不会进行任何更改,只会从您的系统中获取公共详细信息(也可以通过http://packages.ubuntu.com/使用浏览器获得,尽管不像apt-cache提供的那样有用或特定于机器),因此sudo不是必需的。 heemayl 2019-11-14T13:07:21+08:002019-11-14T13:07:21+08:00 当你运行时apt-cache policy <pkg>,它: 检查存储库/etc/apt/sources.list并/etc/apt/sources.list.d/*.list获取所有启用的存储库地址 根据上面的列表,从每个存储库包文件中获取与模式匹配的所有包——这些包位于/var/lib/apt/lists/ 它还检查/var/lib/dpkg/status以获取软件包的安装信息 它还做一些其他的事情,但不重要的是进入这些细节。 现在,它所需要的只是用户拥有: 目录的读执行权限(从指向它的根目录开始,包括所有子目录) 相关文件的读取权限 默认情况下,所有提到的目录都对其他人具有read -execute的文件,而文件已为others读取。 因此,在默认安装的 Ubuntu 上,任何用户都可以运行apt-cache policy <pkg>而无需任何特殊权限。 FWIW 二进制文件apt-cache本身具有权限0755,因此任何人都可以执行。
不,它不会进行任何更改,只会从您的系统中获取公共详细信息(也可以通过http://packages.ubuntu.com/使用浏览器获得,尽管不像
apt-cache
提供的那样有用或特定于机器),因此sudo
不是必需的。当你运行时
apt-cache policy <pkg>
,它:检查存储库
/etc/apt/sources.list
并/etc/apt/sources.list.d/*.list
获取所有启用的存储库地址根据上面的列表,从每个存储库包文件中获取与模式匹配的所有包——这些包位于
/var/lib/apt/lists/
它还检查
/var/lib/dpkg/status
以获取软件包的安装信息它还做一些其他的事情,但不重要的是进入这些细节。
现在,它所需要的只是用户拥有:
默认情况下,所有提到的目录都对其他人具有read -execute的文件,而文件已为others读取。
因此,在默认安装的 Ubuntu 上,任何用户都可以运行
apt-cache policy <pkg>
而无需任何特殊权限。FWIW 二进制文件
apt-cache
本身具有权限0755
,因此任何人都可以执行。