如何将核心 GNU 命令添加到预先存在的 AIX 系统中?

如何将核心 GNU 命令添加到预先存在的 AIX 系统中?

在另一个线程中(对这样的列表进行排序的最简单方法是什么)有人问我们系统上是否有“GNU ls”,因为它可以提供解决方案。我们没有安装 GNU ls,但这让我想到:

  1. 当你安装“GNU ls”之类的东西时,它只是安装“ls”还是包含一套 Unix 命令的替代品?

  2. GNU ls 是否支持 base-O/S ls 命令支持的所有标志?

第二个问题是因为我们的 AIX 系统上有很多 ksh93 脚本,我想确保它们继续按预期运行。如果我安装了 GNU ls,当我需要给定 ksh 脚本中的功能(例如 /opt/GNU/ls)时,我是否可以使用 GNU ls 的完全限定路径?这就是人们通常在成熟系统上添加/使用 GNU 命令的方式吗?

答案1

你可以建立GNU 核心工具从源代码中,手动将生成的 ls(1) 命令复制为另一个名称,放在 PATH 下,例如/usr/bin/gls.

例如,最简单的步骤是:

./configure <configure-options-you-may-want>
make
cp src/ls /usr/bin/gls

答案2

  1. 这取决于您如何安装 GNU 二进制文件。最常见的方法是迈克尔·佩兹尔斯网站或者IBM 的 AIX 开源软件工具箱。在任何一种情况下(很可能也与其他软件包一起使用,尽管我从未使用过除这两个之外的任何软件包)二进制文件都不会安装在 /bin 中,因此不要覆盖系统二进制文件。在这种情况下,您只需更改 PATH 变量即可选择要使用的二进制文件 - AIX 或 GNU。 IE:
      PATH=/usr/local/gnu/bin # GNU 二进制文件
      PATH="$PATH:/bin:/usr/bin" # AIX 系统二进制文件
      路径=“$路径:/一些/其他/路径:[...]”
      导出路径

反转前两行(GNU 二进制文件应该安装在/usr/local/bin此处)以恢复使用 AIX 二进制文件(首先)。

软件包的内容类似:这取决于您使用哪个软件包,尽管据我所知,没有包含来自 IBM 的 GNU-ls 的软件包。

  1. 这很难说。 GNU 工具非常不稳定,并且遵循现在给定的规则集(例如,AIX 与 POSIX 一样),因此今天正确的东西明天很可能是错误的,反之亦然。一些 GNU 实用程序尝试遵循 POSIX 规则,而另一些则不然。我想,随着特定公用事业的贡献者人数的变化,这种态度也会随着时间的推移而改变。

相关内容