Vi esta publicación sobre todas las diferentes formas de averiguar qué distribución está instalada, así que estoy tratando de escribir un script que los pruebe a todos. Los posibles comandos incluyen:
$ cat /etc/lsb-release
$ cat /etc/issue
$ dmesg | head -1
$ cat /proc/version
$ cat /etc/slackware-version
$ cat/etc/debian-verion
Intenté escribir algo como esto (hablo español normalmente, así que está en español):
function Nombre_SO()
{
DistroName="Linux"
if [ $DistroName = Linux ] ;
then
# Debian
debian=`cat /etc/debian_version | cut -d " " -f01 | tr '[:upper:]' '[:lower:]'`
if [ "$debian" = "debian" || "squeeze/sid" || "lenny" ];
then
DistroName="debian"
else
echo "Esto no es debian"
fi
# Slackware
slackware=`cat /etc/slackware-version | cut -d " " -f01` | tr '[:upper:]' '[:lower:]'`
if [ "$slackware" = "slackware" || "slackware-x86_64" ];
then
DistroName="slackware"
else
echo "Esto no es Slackware"
}
¿Alguien puede ayudarme a incorporar todas las otras formas de obtener el nombre de una distribución?
Este es un método un poco "de fuerza bruta" para lograr cosas, pero es rápido y debería, usando bash, trabajar en la mayoría de las distribuciones
fuente
Si no tiene miedo a las dependencias adicionales, puede usar facter para eso. Proporciona información sobre el nombre y la versión de la distribución, incluso sin lsb_release instalado.
fuente