Ubuntu 16.04 上的“acl”包

nyl*_*uje 4 package-management apt dpkg acl

我正在阅读这个 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.
Run Code Online (Sandbox Code Playgroud)

然后我的逻辑告诉我用 寻找它apt-cache search,然后我运行apt-cache search acl; 它返回一个包列表,但我没有看到一个严格命名的包acl

经过一番调查,我在 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
Run Code Online (Sandbox Code Playgroud)

所以我想这意味着acl安装好了。

我不明白,因为它在我做的时候似乎安装了apt-cache policy acl为什么dpkg -s acl返回它没有安装?

在 apt-cache 命令文档中阅读了一些我不明白的内容:

apt-cache 策略显示包源的优先级以及单个包的优先级

mur*_*uru 6

acl软件包提供了用于操作 ACL 的命令,但是对 ACL 的实际支持是由libacl1实现 ACL 的文件系统提供的。这些命令完全是可选的,因为 systemd 之类的应用程序可以使用该库。

Installed: (none)表示未安装该软件包。继续安装它:

sudo apt-get install acl
Run Code Online (Sandbox Code Playgroud)