¿Cómo obtener información del sistema operativo de la instancia de Amazon EC2?


33

Acabo de configurar una instancia EC2 con Linux. ¿Hay alguna manera de obtener la versión / distribución de Linux que se ejecuta en la instancia a través del terminal?


uname -a debería darle la información sobre el Kernel, el tiempo de construcción y alguna otra información, incluido el proveedor ... (cortesía de Tiernan0)
soandos

Respuestas:


31

Para información de distribución:

cat /etc/issue

Para Kernel / arquitectura (como se mencionó anteriormente):

uname -a

cat / etc / issue funcionó.
David

1
Bueno, a menos que el administrador del sistema agregue algo más /etc/issue, ya que es un archivo administrado localmente que se muestra antes del inicio de sesión y literalmente podría ser cualquier cosa (o nada). :) Por ejemplo, mis sistemas actualmente dicen "los sistemas requieren autorización, el acceso no autorizado es ilegal" allí. Cualquiera que se preocupe por la seguridad probablemente no ponga toda la información de identificación del sistema operativo en / etc / issue.
dannysauer

@dannysauer, ¿dónde más lo pondrías? Toda la información sobre cualquier cosa se almacena en el dispositivo de almacenamiento. A veces veo esta información incrustada en un ejecutable binario que puede imprimir la información, pero eso es un poco diferente en la medida de seguridad que un archivo de texto sin formato, considerando que cualquier archivo de texto y cualquier binario ejecutable comparten las mismas protecciones basadas en el sistema de archivos
ThorSummoner

@ThorSummoner: el contenido de / etc / issue se muestra antes de la solicitud de inicio de sesión. Ese es el problema de seguridad.
Dannysauer

12

El comando portátil para distribuciones compatibles con Linux Standard Base (que es prácticamente todo lo popular) es lsb_release. La distribución se puede obtener con "-i" y la versión proviene de "-r". La opción "-s" suprime la columna de nombre y solo muestra el valor, y -a muestra todo lo que lsb_releasesabe sobre el sistema. Entonces, por ejemplo en 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

Si está en Red Hat, SuSE, Ubuntu, Debian o cualquier otra cosa derivada de ellos (Fedora, CentOS, lo que sea), este comando funcionará. De lo contrario, tendrás que encontrar información específica de la distribución. RedHat, por ejemplo nuevamente, instala un paquete llamado redhat-releasey crea un archivo en / 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)

Así es como se ve en un sistema Amazon Linux 2 recién aprovisionado (2 de febrero de 2017), después de restablecer el nombre de 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/"

En mi humilde opinión, realmente debería usar lsb_releasesi está disponible. Si solo lo está haciendo visualmente, lsb_release -aes fácil de recordar y razonablemente fácil de leer. Pero si esa no es una opción, / etc / os-release se completa como anteriormente en bastantes versiones recientes del sistema operativo Linux.


Yo su primer acercamiento y obtengo el siguiente error -bash: lsb_release: command not found. También probé su segundo enfoque y no puedo encontrar nada que mencione redhat /etc. ¿Cualquier otra sugerencia?
David

Comience por verificar si rpm y apt-get están en el sistema; ejecute "which rpm" y "which apt-get". Si tiene rpm, haga un "rpm -qa | less" y vea si hay algo que suene como una distribución. Si tiene apt-get, intente "dpkg -l | less" y haga lo mismo. E intente "ls -d / etc / * rel *" para ver si hay algún archivo de lanzamiento o algo en / etc. Ah, también puede hacer un "find / -name lsb_release" en caso de que lsb_release no esté en su camino.
dannysauer

apt-getNo está en el sistema. No veo nada identificable con rpm -qa|less. ls -d /etc/*rel*trabajó. Yo entonces nano /etc/system-release. En el archivo me dice que el sistema operativo es Amazon Linux AMI release 2011.02.1.1. Gracias.
David

1
voto negativo ya lsb_releaseque no está disponible en Amazon Linux, lo que generalmente lleva a lsb_releaseque se haga esta pregunta ... requiere una gran cadena de distribución que viene con redhat-lsb-corey aws decide dejar eso fuera - foros.aws.amazon.com/message.jspa?messageID = 519816
interesado el

1
Dejé el resto de la respuesta más clara (que algunas personas aparentemente no estaban leyendo), e
incluí

7

Esto funcionó para mí:

# 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 aviso. Estoy ejecutando Amazon Linux AMI 2011.09 y esto no funcionó, pero sí otros comentarios cat /usr/share/doc/system-release/ReleaseNotes.txt. Esto probablemente funciona en las nuevas ediciones.
Mauvis Ledford

2

uname -a debería darle la información sobre el Kernel, el tiempo de compilación y alguna otra información, incluido el proveedor ...


1

Como puede ver al iniciar sesión en un AMI EC2 Amazon Linux AMI:

"Consulte / usr / share / doc / system-release / para obtener las últimas notas de la versión".

Entonces ... solo escribe:

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

Esto funcionó para mí en Amazon Linux AMI 2011.09.
Mauvis Ledford
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.