Réponses:
Vous avez raison de dire qu'oslevel vous fournira la version installée actuelle, mais ce n'est pas toujours suffisamment d'informations, en particulier si le personnel de support vous pose la question.
# oslevel <--- cela ne vous donnera que le niveau de base
Pour être plus précis, vous devez utiliser la commande suivante qui vous donnera des informations supplémentaires sur le niveau de technologie, le niveau de maintenance et le niveau de Service Pack.
# oslevel -s
5300-09-02-0849
Cela vous donnera
Sur certaines anciennes versions d'AIX, l'option -s n'est pas disponible dans quel cas vous devez utiliser l'option -r qui rendra compte jusqu'au niveau de la technologie
J'espère que ça aide
Mike Scheerer
Je viens de l'ajouter à mon ~ / .profile, donc je vois immédiatement la version AIX à la connexion:
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
Exemple de sortie:
AIX 7.1 - Technology Level 3 - Service Pack 1
nb: Cette fonction est compatible avec KSH et BASH, vous pouvez donc mettre ~ / .bashrc à la place si vous êtes un fan de BASH.
nb2: Les 4 derniers chiffres du niveau os sont l'année et la semaine de publication du SP. Je n'aime pas particulièrement voir ça, alors je l'ai laissé de côté. J'étais assez content de la version / TL / SP.
EDIT 2018-02-22 : Je viens de proposer une implémentation équivalente mais plus courte, et ne dépend plus de bc
et utilise à la awk
place de cut
& bc
.
En une ligne:
oslevel -s | awk -F- '{printf "AIX %.1f - Technology Level %d - Service Pack %d\n",$1/1000,$2,$3}'
Production:
AIX 5.3 - Technology Level 9 - Service Pack 2
En tant que fonction shell:
aixversion() {
oslevel -s | awk -F- '{printf "AIX %.1f - Technology Level %d - Service Pack %d\n",$1/1000,$2,$3}'
}
aixversion
Production:
AIX 5.3 - Technology Level 9 - Service Pack 2
Vous pouvez utiliser " uname " avec différentes options:
$ uname -v
5
$ uname -r
3
Vous pouvez utiliser la commande suivante:
oslevel -s
Il montrera le résultat comme ci-dessous.
6100-09-09-1717
Ce qui se traduit par:
os version 6.1
TL niveau 9
Service Pack 9
date de sortie (année et semaine)