Solución 1:
En lugar de adivinar en qué versión de RHEL se basa una distribución en particular, simplemente ejecute:
rpm -E %{rhel}
Para Amazon Linux 2, esto le dará 7
.
Solución 2:
Hay un hilo de discusión disponible en los foros de AWS que indica que la AMI de Amazon Linux con soporte oficial no se basa en ninguna distribución de Linux. Más bien, Amazon Linux AMI es una imagen mantenida de forma independiente por Amazon.
Solución 3:
Parece que está basado en RHEL:
$ cat /etc/os-release
NAME="Amazon Linux AMI"
VERSION="2017.09"
ID="amzn"
ID_LIKE="rhel fedora"
VERSION_ID="2017.09"
PRETTY_NAME="Amazon Linux AMI 2017.09"
ANSI_COLOR="0;33"
CPE_NAME="cpe:/o:amazon:linux:2017.09:ga"
HOME_URL="http://aws.amazon.com/amazon-linux-ami/"
freedesktop dice de "ID_LIKE":
Debe enumerar los identificadores de los sistemas operativos que están estrechamente relacionados con el sistema operativo local en lo que respecta al paquete y las interfaces de programación, por ejemplo, enumerar uno o más identificadores del sistema operativo del que se deriva el sistema operativo local.
enumerar uno o más identificadores de sistema operativo del que se deriva el sistema operativo local
Si mirara RHEL/CentOS7, el mismo archivo diría:
$ cat /etc/os-release
...
ID_LIKE="fedora"
...
Y, sin embargo, Amazon Linux aún cuenta con yum
y sin dnf
visión; extraño. La especulación me lleva a apoyar la teoría de que Amazon tiene un compatible acuerdo upstream con RH.
Que esté basado en RHEL 5/6 parece extremadamente improbable.
- Nadie debería usar RHEL5x, porque
- Se han introducido demasiados controladores y actualizaciones de seguridad en los últimos 10 años.
Eso sería a la vez perezoso y estúpido; 2 cosas que normalmente no atribuiría a los ingenieros de Amazon. Una forma de determinar eso sería aislar algo que solo está presente en la última versión de RHEL7, un controlador, un parche de seguridad del kernel, etc. y ejecutar la misma prueba en Amazon Linux; está presente o no lo está.
Si bien es mucho menos irresponsable, tampoco hay una razón válida para usar RHEL6x.
Solución 4:
Un poco tarde, pero puedes ejecutar:
cat /proc/version
y te diré:
Linux version 4.14.173-137.229.amzn2.x86_64 ([email protected]) (gcc version 7.3.1 20180712 (Red Hat 7.3.1-6) (GCC)) #1 SMP Wed Apr 1 18:06:08 UTC 2020
RedHat 7 en este caso.
Solución 5:
Basado en la estructura de archivos donde en lugar de /usr/local/bin/composer tengo que usar /usr/bin/composer es CentOS 7