我在读这个 Digital Ocean 教程在步骤 1 中,它说:
在安装应用程序时,我们需要 acl 来设置正确的目录权限
我想检查是否acl
已经安装:
$ dpkg -s acl
dpkg-query: package 'acl' is not installed and no information is
available Use dpkg --info (= dpkg-deb --info) to examine archive
files, and dpkg --contents (= dpkg-deb --contents) to list their
contents.
然后我的逻辑告诉我用 来寻找它apt-cache search
,然后我运行apt-cache search acl
;它返回一个包列表,但我没有看到一个严格名为 的包acl
。
我尝试:apt-cache policy acl
。它返回:
acl:
Installed: (none)
Candidate: 2.2.52-3
Version table:
2.2.52-3 500
500 https://mirrors.gandi.net/ubuntu xenial/main amd64 Packages
所以我猜这意味着acl
安装好了。
我不明白,既然我这样做时它似乎已经安装好了,apt-cache policy acl
为什么dpkg -s acl
又返回说它没有安装?
我读到了一些我不明白的东西在 apt-cache 命令文档中:
apt-cache policy 显示软件包源的优先级以及各个软件包的优先级
答案1
该acl
软件包提供了用于操作 ACL 的命令,但实际的 ACL 支持由libacl1
实现 ACL 的文件系统提供。这些命令完全是可选的,因为像 systemd 这样的应用程序可以使用该库。
Installed: (none)
表示该包未安装。继续安装它:
sudo apt-get install acl
答案2
在这些 SO 线程中,我尝试:apt-cache policy acl。它返回:
acl: Installed: (none) Candidate: 2.2.52-3 Version table: 2.2.52-3 500 500 https://mirrors.gandi.net/ubuntu xenial/main amd64 Packages
所以我猜这意味着 acl 安装好了。
该命令的结果显示,acl
您的计算机上安装的版本是没有任何
意思就是acl 是不是已安装在你的电脑。
当您在安装了版本的机器上执行相同的命令时,acl
您将得到类似的结果:
apt-cache policy acl
acl:
Installed: 2.2.52-3
Candidate: 2.2.52-3
Version table:
*** 2.2.52-3 500
500 http://.......com/ubuntu xenial/main amd64 Packages
100 /var/lib/dpkg/status