Как мне узнать, какую версию AIX я использую?

Как мне узнать, какую версию AIX я использую?

5 ответов

Решение

Вы правы в том, что oslevel предоставит вам текущую установленную версию, но это не всегда достаточно информации, особенно если вам задают вопрос сотрудники службы поддержки.

# oslevel <--- это даст вам только базовый уровень

Чтобы быть более точным, вы должны использовать следующую команду, которая даст вам дополнительную информацию об уровне технологии, уровне обслуживания и уровне пакета обновления.

    # oslevel -s
5300-09-02-0849

Это даст вам

  • "5300" - Базовый уровень
  • "09" - технологический уровень
  • "02" - уровень обслуживания
  • "0849" - Пакет обновления

В некоторых более старых версиях AIX опция -s недоступна, поэтому вам следует использовать опцию -r, которая сообщит об уровне технологии.

надеюсь, это поможет

Майк Шерер

Я просто добавил это в свой ~/.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, поэтому вместо нее вы можете добавить ~/.bashrc, если вы являетесь поклонником BASH.

nb2: последние 4 цифры от oslevel - это год и неделя выпуска SP. Меня это не особо волнует, поэтому я оставил это в стороне. Я был достаточно счастлив с версией /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

В качестве функции оболочки:

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
$ man oslevel
$ oslevel
6.1.0.0    <- what I was looking for

Вы можете использовать " uname" с различными вариантами:

$ uname -v
5
$ uname -r
3

Вы можете использовать следующую команду:

oslevel -s

Это покажет результат, как показано ниже.

6100-09-09-1717

Что переводится как:

ОС версии 6.1

Уровень TL 9

пакет обновления 9

дата выхода (год и неделя)

Другие вопросы по тегам