哪个包包含 Ubuntu 19.04 的 /usr/bin/less?

Syn*_*ted 6 apt dpkg less

如标题所示。既不dpkg -S /usr/bin/less也不apt-file search /usr/bin/less产生任何有用的东西。

这是否意味着存在错误,或者实际上不是来自任何包?

(如果您想知道为什么我需要知道答案,我发现这less是一个旧版本 487 而不是530具有我想要的功能。)

$ which less
/usr/bin/less
$ dpkg -S /usr/bin/less
dpkg-query: no path found matching pattern /usr/bin/less
$ apt-file search /usr/bin/less
colorized-logs: /usr/bin/lesstty
libcss-lessp-perl: /usr/bin/lessp
node-less: /usr/bin/lessc
Run Code Online (Sandbox Code Playgroud)

ste*_*ver 12

那是因为/usr/bin/less是一个符号链接:

$ ls -l /usr/bin/less
lrwxrwxrwx 1 root root 9 Jul 21  2017 /usr/bin/less -> /bin/less
Run Code Online (Sandbox Code Playgroud)

后者由包提供 less

$ dpkg -S $(realpath $(which less))
less: /bin/less
Run Code Online (Sandbox Code Playgroud)

符号链接是postinst脚本在包配置期间创建的几个链接之一:

case "$1" in
    configure)
        for file in lessfile lesspipe lesskey lessecho less; do
          if [ ! -e /usr/bin/$file ]; then
            ln -s /bin/$file /usr/bin/$file
          fi
        done
    .
    .
    .
Run Code Online (Sandbox Code Playgroud)

(在.下安装相同的脚本less作为默认脚本。)pagerupdate-alternatives