我如何知道我正在运行的是哪个 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
& cut
。bc
作为一行代码:
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
发布日期(年份和星期)