我如何知道我正在运行的是哪个 AIX 版本?

我如何知道我正在运行的是哪个 AIX 版本?

我如何知道我正在运行的是哪个 AIX 版本?

答案1

您说得对,oslevel 确实会为您提供当前安装的版本,但这并不总是足够的信息,特别是当支持人员向您询问这个问题时。

# oslevel <--- 这只会给你基础级别

更准确地说,您应该使用以下命令,它将为您提供额外的技术级别、维护级别和服务包级别的信息。

    # oslevel -s
5300-09-02-0849

这将给你

  • “5300”—— 基础级别
  • “09”——技术水平
  • “02”-维护级别
  • “0849”-服务包

在某些较旧版本的 AIX 中,-s 选项不可用,在这种情况下,您应该使用 -r 选项,它将报告技术级别

我希望这有帮助

迈克·希尔

答案2

我刚刚将其添加到我的 ~/.profile 中,因此我登录时立即看到 AIX 版本:

function aixversion {
  OSLEVEL=$(oslevel -s)
  AIXVERSION=$(echo "scale=1; $(echo $OSLEVEL | cut -d'-' -f1)/1000" | bc)
  AIXTL=$(echo $OSLEVEL | cut -d'-' -f2 | bc)
  AIXSP=$(echo $OSLEVEL | cut -d'-' -f3 | bc)
  echo "AIX ${AIXVERSION} - Technology Level ${AIXTL} - Service Pack ${AIXSP}"
}
aixversion

示例输出:

AIX 7.1 - Technology Level 3 - Service Pack 1

注意:此功能与 KSH 和 BASH 兼容,因此如果您是 BASH 粉丝,则可以输入 ~/.bashrc。

nb2:oslevel 的最后 4 位数字是 SP 发布的年份和星期。我并不特别想看到这个,所以我把它省略了。我对 Version/TL/SP 就很满意了。

编辑 2018-02-22:我刚刚想出了一个等效但更短的实现,并且不再依赖并bc使用awk& cutbc

作为一行代码:

oslevel -s | awk -F- '{printf "AIX %.1f - Technology Level %d - Service Pack %d\n",$1/1000,$2,$3}'

输出:

AIX 5.3 - Technology Level 9 - Service Pack 2

作为 shell 函数:

aixversion() {
  oslevel -s | awk -F- '{printf "AIX %.1f - Technology Level %d - Service Pack %d\n",$1/1000,$2,$3}'
}

aixversion

输出:

AIX 5.3 - Technology Level 9 - Service Pack 2

答案3

$ man oslevel
$ oslevel
6.1.0.0    <- what I was looking for

答案4

您可以使用以下命令:

oslevel -s

它将显示如下结果。

6100-09-09-1717

翻译过来就是:

操作系统版本 6.1

TL 等级 9

服务包 9

发布日期(年份和星期)

相关内容