如何确定我正在运行哪个AIX版本?


14

如何确定我正在运行哪个AIX版本?

Answers:


15

您是正确的,因为oslevel将为您提供当前已安装的版本,但是,如果支持人员询问您的问题,那并不是总是足够的信息。

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

为了更精确,您应该使用以下命令,它将为您提供其他技术级别,维护级别和Service Pack级别的信息。

    # oslevel -s
5300-09-02-0849

这会给你

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

在某些较旧版本的AIX上,-s选项不可用,因此,您应该使用-r选项,该选项将报告技术级别的数据。

我希望这有帮助

迈克·舍勒


这实际上是错误的。在您的示例5300-09-02-0849中,09是技术级别,02是Service Pack编号,0849只是Service Pack发行的日期(2008年的第49周)。维护级别只是技术级别的旧名称。
kubanczyk

9

我刚刚将其添加到我的〜/ .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

nb:该功能与KSH和BASH兼容,因此如果您是BASH粉丝,则可以放入〜/ .bashrc。

nb2:oslevel的最后4位数字是SP发行的年份和星期。我并不特别希望看到它,因此我将其省略。我对Version / TL / SP很满意。

EDIT 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

作为外壳函数:

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

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


0

您可以使用以下命令:

oslevel -s

它将显示如下结果。

6100-09-09-1717

转换为:

操作系统6.1版

TL 9级

服务包9

发布日期(年和周)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.