Comment obtenir des informations sur le système d'exploitation de l'instance Amazon EC2?

33

Je viens de configurer une instance EC2 sous Linux. Existe-t-il un moyen d'obtenir la version / distribution de Linux qui s'exécute sur l'instance via le terminal?

David
la source
uname -a devrait vous donner les informations sur le noyau, le temps de construction et quelques autres informations, y compris le fournisseur ... (gracieuseté de Tiernan0)
soandos

Réponses:

31

Pour info distro:

cat /etc/issue

Pour le noyau / l'architecture (comme mentionné précédemment):

uname -a
CJ Travis
la source
cat / etc / issue a fonctionné.
David
1
Eh bien, à moins que l'administrateur système ne place quoi que ce soit d'autre /etc/issue, car il s'agit d'un fichier géré localement qui est affiché avant la connexion et pourrait littéralement être n'importe quoi (ou rien). :) Par exemple, mes systèmes indiquent actuellement "les systèmes nécessitent une autorisation, tout accès non autorisé est illégal". Quiconque se soucie de la sécurité ne met probablement pas toutes les informations d'identification du système d'exploitation dans / etc / issue.
dannysauer
@dannysauer où d'autre le mettriez-vous. Toutes les informations sur quoi que ce soit sont stockées sur le périphérique de stockage. Parfois, je vois ces informations incorporées dans un exécutable binaire qui peut imprimer les informations, mais la mesure de sécurité diffère peu d'un fichier texte brut, étant donné que tout fichier texte et tout binaire exécutable partagent les mêmes protections basées sur le système de fichiers
ThorSummoner
@ThorSummoner - le contenu de / etc / issue est affiché avant l'invite de connexion. Voilà le problème de sécurité.
dannysauer
12

La commande portable pour les distributions compatibles Linux Standard Base (qui est à peu près tout populaire) est lsb_release. La distribution peut être obtenue par "-i" et la version vient de "-r". L'option "-s" supprime la colonne de nom et affiche simplement la valeur, et -a montre tout ce qui est lsb_releaseconnu sur le système. Ainsi, par exemple sur un système RHEL 5.5:

$ lsb_release -s -i
RedHatEnterpriseServer

$ lsb_release -s -r
5.5

$ lsb_release -a
LSB Version:    :core-3.1-amd64:core-3.1-ia32:core-3.1-noarch:graphics-3.1-amd64:graphics-3.1-ia32:graphics-3.1-noarch
Distributor ID: RedHatEnterpriseServer
Description:    Red Hat Enterprise Linux Server release 5.5 (Tikanga)
Release:        5.5
Codename:       Tikanga

Si vous utilisez Red Hat, SuSE, Ubuntu, Debian ou tout autre élément dérivé de ceux-ci (Fedora, CentOS, peu importe), cette commande fonctionnera. Sinon, vous devrez trouver des informations spécifiques à la distribution. RedHat, par exemple à nouveau, installe un package nommé redhat-releaseet crée un fichier dans / etc:

$ rpm -q redhat-release
redhat-release-5Server-5.5.0.2

$ cat /etc/redhat-release
Red Hat Enterprise Linux Server release 5.5 (Tikanga)

Voici à quoi cela ressemble sur un système Amazon Linux 2 fraîchement provisionné (2 février 2017) - après avoir réinitialisé le nom d'hôte:

[ec2-user@fresh-amazon-host ~]$ cat /etc/system-release
Amazon Linux release 2.0 (2017.12) LTS Release Candidate
[ec2-user@fresh-amazon-host ~]$ cat /etc/os-release
NAME="Amazon Linux"
VERSION="2.0 (2017.12)"
ID="amzn"
ID_LIKE="centos rhel fedora"
VERSION_ID="2.0"
PRETTY_NAME="Amazon Linux 2.0 (2017.12) LTS Release Candidate"
ANSI_COLOR="0;33"
CPE_NAME="cpe:2.3:o:amazon:amazon_linux:2.0"
HOME_URL="https://amazonlinux.com/"

À mon humble avis, vous devriez vraiment l'utiliser lsb_releases'il est disponible. Si vous le faites simplement visuellement, lsb_release -ac'est facile à retenir et assez facile à lire. Mais si ce n'est pas une option, / etc / os-release est renseigné comme ci-dessus sur plusieurs versions récentes du système d'exploitation Linux.

dannysauer
la source
Je votre première approche et obtenez l'erreur suivante -bash: lsb_release: command not found. J'ai également essayé votre deuxième approche et je ne trouve rien dans Redhat /etc. D'autres suggestions?
David
Commencez par vérifier si rpm et apt-get sont sur le système; exécutez "which rpm" et "which apt-get". Si vous avez rpm, faites un "rpm -qa | less" et voyez s'il y a quelque chose qui ressemble à une distribution. Si vous avez apt-get, essayez "dpkg -l | less" et faites la même chose. Et essayez "ls -d / etc / * rel *" pour voir s'il y a un fichier de version ou quoi que ce soit dans / etc. Oh, vous pouvez également faire une "recherche / -nom lsb_release" juste au cas où lsb_release n'est pas sur votre chemin.
dannysauer
apt-getn'est pas sur le système. Je ne vois rien identifiable avec rpm -qa|less. ls -d /etc/*rel*travaillé. Moi alors nano /etc/system-release. Dans le fichier, il me dit que le système d'exploitation est Amazon Linux AMI release 2011.02.1.1. Merci.
David
1
downvote car lsb_releasen'est pas disponible sur amazon linux, ce qui conduit généralement à poser cette question ... lsb_releasenécessite une grande chaîne de dépose qui vient avec redhat-lsb-coreet aws choisit de laisser cela - forums.aws.amazon.com/message.jspa?messageID = 519816
vif
1
J'ai rendu le reste de la réponse plus clair (que certaines personnes ne lisaient apparemment pas) et j'ai inclus la sortie réelle d'Amazon Linux 2.
dannysauer
7

Cela a fonctionné pour moi:

# cat /etc/os-release

NAME="Amazon Linux AMI"
VERSION="2015.03"
ID="amzn"
ID_LIKE="rhel fedora"
VERSION_ID="2015.03"
PRETTY_NAME="Amazon Linux AMI 2015.03"
ANSI_COLOR="0;33"
CPE_NAME="cpe:/o:amazon:linux:2015.03:ga"
HOME_URL="http://aws.amazon.com/amazon-linux-ami/"
Kevin Murray
la source
Juste un avertissement. J'utilise Amazon Linux AMI 2011.09 et cela n'a pas fonctionné mais un autre commentaire l'a cat /usr/share/doc/system-release/ReleaseNotes.txtfait. Cela fonctionne probablement sur les nouvelles éditions.
Mauvis Ledford
2

uname -a devrait vous donner les informations sur le noyau, le temps de construction et d'autres informations, y compris le fournisseur ...

TiernanO
la source
1

Comme vous pouvez le voir lorsque vous vous connectez à une AMI EC2 Amazon Linux AMI:

"Voir / usr / share / doc / system-release / pour les dernières notes de version."

Alors ... tapez simplement:

cat /usr/share/doc/system-release/ReleaseNotes.txt
frommelmak
la source
Cela a fonctionné pour moi Amazon Linux AMI 2011.09.
Mauvis Ledford