如何获取 Amazon EC2 实例操作系统信息?

Dav*_*vid 37 linux amazon-ec2

我刚刚设置了一个运行 Linux 的 EC2 实例。有没有办法通过终端获取在实例上运行的 Linux 的版本/发行版?

小智 32

有关发行版信息:

cat /etc/issue
Run Code Online (Sandbox Code Playgroud)

对于内核/架构(如前所述):

uname -a
Run Code Online (Sandbox Code Playgroud)

  • 好吧,除非系统管理员在`/etc/issue` 中放了其他东西,因为这是一个本地管理的文件,它在登录之前显示,实际上可以是任何东西(或什么都没有)。:) 例如,我的系统目前在那里说“系统需要授权,未经授权的访问是非法的”。任何关心安全性的人都可能_不_将所有操作系统识别信息放在 /etc/issue 中。 (2认同)

dan*_*uer 16

Linux Standard Base 兼容发行版(几乎所有流行的东西)的可移植命令是lsb_release. 发行版可以通过“-i”获得,版本来自“-r”。“-s”选项禁止显示名称列,只显示值,而 -a 显示lsb_release关于系统的所有信息。因此,例如在 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
Run Code Online (Sandbox Code Playgroud)

如果您使用的是 Red Hat、SuSE、Ubuntu、Debian 或从它们派生的任何其他东西(Fedora、CentOS 等),则此命令将起作用。否则,您将不得不找出一些特定于发行版的信息。例如,RedHat 安装一个名为的包redhat-release并在 /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)
Run Code Online (Sandbox Code Playgroud)

这是在我重置主机名后新配置的(2017 年 2 月 2 日)Amazon Linux 2 系统上的样子:

[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/"
Run Code Online (Sandbox Code Playgroud)

恕我直言,lsb_release如果可用,您真的应该使用它。如果你只是在视觉上做它,lsb_release -a它很容易记住并且相当容易阅读。但是,如果这不是一个选项,那么 /etc/os-release 在很多最近的 Linux 操作系统版本上都会按上述方式填充。

  • 由于 `lsb_release` 在 amazon linux 上不可用,所以投反对票,这通常会导致有人问这个问题...... `lsb_release` 需要一个大的 dep 链,它带有 `redhat-lsb-core`,而 aws 选择将其关闭 - https://forums.aws.amazon.com/message.jspa?messageID=519816 (2认同)
  • 我让其余的答案更加清晰(有些人显然没有阅读),并包括当前 Amazon Linux 2 的实际输出。 (2认同)

小智 10

这对我有用:

# 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/"
Run Code Online (Sandbox Code Playgroud)