Eu vi esse post sobre todas as maneiras diferentes de descobrir qual distro está instalada, então estou tentando escrever um script que tente todas elas. Os comandos possíveis incluem:
$ cat /etc/lsb-release
$ cat /etc/issue
$ dmesg | head -1
$ cat /proc/version
$ cat /etc/slackware-version
$ cat/etc/debian-verion
Tentei escrever algo assim (falo espanhol normalmente, então é em espanhol):
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"
}
Alguém pode me ajudar a incorporar todas as outras maneiras de obter o nome de uma distribuição?
Este é um método um pouco de "força bruta" para realizar as coisas, mas é rápido e deve, usando o bash, funcionar na maioria das distros.
fonte
Se você não tem medo de dependências adicionais, pode usar o facter para isso. Ele fornece informações sobre o nome e a versão da distribuição, mesmo sem o lsb_release instalado.
fonte