我想检查 Ubuntu 上的
/bin/sh
软件包,但我对下面的结果感到困惑。
Ubuntu 22.04
$ dpkg -S /bin/sh
diversion by dash from: /bin/sh
diversion by dash to: /bin/sh.distrib
dash: /bin/sh
$ dpkg -S /bin/dash
dash: /bin/dash
Ubuntu 24.04
dpkg -S /bin/sh
dpkg-query: no path found matching pattern /bin/sh
$ dpkg -S /bin/dash
dpkg-query: no path found matching pattern /bin/dash
这是否意味着Ubuntu 24.04上没有包含
/bin/sh
的deb包?
我想知道为什么会出现这种差异。
Ubuntu 22.04 和 Ubuntu 24.04 的结果相同。
否 - 这是因为在较新的系统上,
/bin
是到/usr/bin
的符号链接,因此dash
包会安装文件/usr/bin/sh
。如果你查询它,它就会显示出来。或者您可以使用 dpkg -S $(realpath /bin/sh)
自动查询规范路径。