我在 EC2 实例中使用默认的 Amazon Linux AMI - Amazon Linux AMI 版本 2010.11.1。我可以看到它是一个基于 Redhat 的系统,但在尝试了许多工具(/etc/issues、uname -a、lsb_release)后,我无法分辨它基于哪个版本的 RHEL 或 CentOS。我需要获取一些 Amazon 的软件包存储库中没有的软件包。我有可以使用的自定义 yum 存储库列表,但由于我不知道 Amazon AMI 基于哪个 RHEL 版本,因此我无法从不同版本的存储库中进行选择。
我如何才能知道它是否运行的是 RHEL 4/5/6(或它们的 CentOS 对应版本)?
答案1
答案似乎并不直接。以下是回复来自 AWS 论坛的亚马逊代表:
Amazon Linux AMI 基于 RHEL 5.x 和 RHEL6 的部分内容。我们的目标之一是与 RHEL 5.x 以及 CentOS5.x 实现二进制兼容。精明的用户会注意到我们的内核基于 2.6.34,并且我们已设计该映像以符合云环境。例如,缺少 Xorg 支持有助于保持映像小巧精简。Amazon Linux AMI 的目标是提供用于云中的映像并作为 EC2 最佳实践的参考映像。该映像的维护(安全性、增强功能、功能和错误修复)将直接由 Amazon 提供,同时保持最大兼容性、安全性和功能性。
答案2
通过查看 /etc/redhat-release 的内容,您可以判断您正在运行哪个基于 RedHat 的版本。
该文件可能已被删除,但是在这种情况下某些工具将不会接受它们在 RedHat 系统上运行。
编辑:尝试运行以下命令中的一个(或多个)
rpm -qa | grep el
rpm -qa | grep centos
rpm -qa | grep rhel
这些将显示是否安装了任何 RHEL 5/6 或 CentOS 5 包。
如果你看到一些el5还有一些centos你正在运行 CentOS5。如果你只看到el5您正在运行 RHEL 5(CentOS 5 和 RHEL 5 软件包无论如何可以互换)。
如果您看到 el4,则它是 RHEL 4 或可能是 CentOS 4 - 我认为这不太可能。
如果你看到rhel6或者el6它是 RHEL 6。
你也可以尝试
rpm -qa | grep release
这也可能会使比赛失去悬念。