我一直认为 posix 标准中定义的任何内容都会出现在最常见的 Linux 发行版上。
然而,当我查找 posix 标准中哪些实用程序是标准的时,我发现这个页面有一长串列表。
在尝试了一些我没听说过的东西后,我很快发现很多东西似乎没有安装在我的系统上。
也许这些实用程序只是名称不同?例如,我的系统上没有,c99
但我有,cc
我认为可以编译为c99
.
我尝试过但似乎不在我的系统上的其他实用程序:
what
uux
qalter
renice
sact
我只尝试了一些看起来不熟悉的命令,但我猜还有更多命令不在我的系统上。
这些是可选的实用程序吗?
答案1
是的,其中许多是可选的:
what
和sact
是 SCCS 的一部分(旧的 VCS,POSIX 中 XSI 开发实用程序选项的一部分)uux
是 UUCP 的一部分(选修的在 POSIX 中,仍然在许多发行版中可用,例如 德班)qalter
是的一部分批量环境服务,POSIX 的可选部分
renice
应该存在于大多数系统上;在 Debian 中它是bsdutils
,这是应该始终存在的核心包之一。就 POSIX 而言,它renice
在第 6 期中是可选的,但在第 7 期中它是 Base 的一部分。
至少在某些发行版(Debian 10、Fedora 31)上,安装 GCC 会导致c99
命令可用。
如果你的目标是一致性,您需要确保安装了所需的基本软件包和您声明的任何选项。命令名称旁边的“标签”([UU]、[XSI]、[BE] 等)链接到有关它们对应的要求的信息。