Ich habe diesen Beitrag auf all den verschiedenen Wegen gesehen, um herauszufinden, welche Distribution installiert ist. Deshalb versuche ich, ein Skript zu schreiben, das sie alle ausprobiert. Die möglichen Befehle umfassen:
$ cat /etc/lsb-release
$ cat /etc/issue
$ dmesg | head -1
$ cat /proc/version
$ cat /etc/slackware-version
$ cat/etc/debian-verion
Ich habe versucht, so etwas zu schreiben (ich spreche normalerweise Spanisch, es ist also auf Spanisch):
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"
}
Kann mir jemand helfen, alle anderen Möglichkeiten zu finden, um den Namen einer Distribution zu ermitteln?
Dies ist eine Art "Brute-Force" -Methode, um Dinge zu erledigen, aber sie ist schnell und sollte mit bash bei den meisten Distributionen funktionieren
quelle
Wenn Sie keine Angst vor zusätzlichen Abhängigkeiten haben, können Sie dafür facter verwenden . Es gibt Informationen über den Namen und die Version der Distribution, auch wenn lsb_release nicht installiert ist.
quelle