Come ottenere informazioni sul sistema operativo dell'istanza Amazon EC2?


33

Ho appena installato un'istanza EC2 con Linux. C'è un modo per ottenere la versione / distribuzione di Linux in esecuzione sull'istanza tramite il terminale?


uname -a dovrebbe fornirti le informazioni sul kernel, i tempi di compilazione e alcune altre informazioni, incluso il fornitore ... (per gentile concessione di Tiernan0)
soandos

Risposte:


31

Per informazioni sulla distro:

cat /etc/issue

Per Kernel / architettura (come menzionato in precedenza):

uname -a

cat / etc / issue ha funzionato.
David,

1
Bene, a meno che il sysadmin non inserisca qualcos'altro /etc/issue, poiché si tratta di un file gestito localmente che viene visualizzato prima dell'accesso e potrebbe letteralmente essere qualsiasi cosa (o niente). :) Ad esempio, i miei sistemi attualmente dicono "i sistemi richiedono autorizzazione, l'accesso non autorizzato è illegale". Chiunque abbia a cuore la sicurezza, probabilmente non inserisce tutte le informazioni di identificazione del sistema operativo in / etc / issue.
dannysauer,

@dannysauer dove altro lo metteresti. Tutte le informazioni su qualsiasi cosa sono memorizzate sul dispositivo di archiviazione. A volte vedo queste informazioni incorporate in un eseguibile binario in grado di stampare le informazioni, ma che è leggermente diverso nella misura di sicurezza rispetto a un semplice file di testo, considerando che qualsiasi file di testo e qualsiasi binario eseguibile condividono le stesse protezioni basate sul filesystem
ThorSummoner

@ThorSummoner: i contenuti di / etc / issue vengono visualizzati prima della richiesta di accesso. Questo è il problema di sicurezza.
dannysauer,

12

Il comando portatile per le distribuzioni compatibili con Linux Standard Base (che è praticamente tutto molto popolare) è lsb_release. La distribuzione può essere ottenuta da "-i" e la versione proviene da "-r". L'opzione "-s" elimina la colonna del nome e mostra solo il valore, e -a mostra tutto ciò che lsb_releasesa sul sistema. Quindi, ad esempio su un sistema 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

Se usi Red Hat, SuSE, Ubuntu, Debian o qualsiasi altra cosa derivata da quelli (Fedora, CentOS, qualunque cosa), questo comando funzionerà. Altrimenti, dovrai capire alcune informazioni specifiche per la distribuzione. RedHat, ad esempio, installa un pacchetto denominato redhat-releasee crea un file in / 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)

Ecco come appare su un sistema Amazon Linux 2 appena fornito (dopo il 2 febbraio 2017) - dopo aver reimpostato il nome host:

[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/"

IMHO, dovresti davvero usarlo lsb_releasese è disponibile. Se lo fai solo visivamente, lsb_release -aè facile da ricordare e ragionevolmente facile da leggere. Ma se questa non è un'opzione, / etc / os-release è popolata come sopra in alcune versioni recenti del sistema operativo Linux.


Ho il tuo primo approccio e ottengo il seguente errore -bash: lsb_release: command not found. Ho anche provato il tuo secondo approccio e non riesco a trovare nulla in cui menzionare redhat /etc. Altri suggerimenti?
David,

Inizia controllando per vedere se rpm e apt-get sono sul sistema; eseguire "quale rpm" e "quale apt-get". Se hai rpm, fai un "rpm -qa | less" e vedi se c'è qualcosa che sembra una distribuzione. Se hai apt-get, prova "dpkg -l | less" e fai la stessa cosa. E prova "ls -d / etc / * rel *" per vedere se ci sono file di rilascio o qualcosa in / etc. Oh, potresti anche fare un "find / -name lsb_release" nel caso in cui lsb_release non sia sul tuo percorso.
dannysauer,

apt-getnon è nel sistema. Non vedo nulla identificabile con rpm -qa|less. ls -d /etc/*rel*lavorato. Io allora nano /etc/system-release. Nel file mi dice che lo è il sistema operativo Amazon Linux AMI release 2011.02.1.1. Grazie.
David,

1
downvote dal momento che lsb_releasenon è disponibile su Amazon Linux, il che generalmente porta a questa domanda ... lsb_releaserichiede una grande catena di dep che viene fornita redhat-lsb-coree aws sceglie di lasciarla fuori - forums.aws.amazon.com/message.jspa?messageID = 519816
appassionato

1
Ho reso più chiaro il resto della risposta (che alcune persone apparentemente non stavano leggendo) e ho incluso l'output effettivo dell'attuale Amazon Linux 2.
dannysauer

7

Questo ha funzionato per me:

# 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/"

Solo un avviso. Sto eseguendo Amazon Linux AMI 2011.09 e questo non ha funzionato ma altri commenti cat /usr/share/doc/system-release/ReleaseNotes.txthanno funzionato. Questo probabilmente funziona su versioni più recenti.
Mauvis Ledford,

2

uname -a dovrebbe darti le informazioni sul kernel, i tempi di compilazione e alcune altre informazioni, incluso il fornitore ...


1

Come puoi vedere quando accedi a un'AMI AM2 Amazon Linux AMI:

"Vedi / usr / share / doc / system-release / per le ultime note di rilascio."

Quindi ... basta digitare:

cat /usr/share/doc/system-release/ReleaseNotes.txt

Questo ha funzionato per me Amazon Linux AMI 2011.09.
Mauvis Ledford,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.