Я видел этот пост о различных способах узнать, какой дистрибутив установлен, поэтому я пытаюсь написать скрипт, который пробует их все. Возможные команды включают в себя:
$ cat /etc/lsb-release
$ cat /etc/issue
$ dmesg | head -1
$ cat /proc/version
$ cat /etc/slackware-version
$ cat/etc/debian-verion
Я попытался написать что-то вроде этого (я говорю по-испански, так что по-испански):
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"
}
Может ли кто-нибудь помочь мне включить все остальные способы получения имени дистрибутива?
Это немного "грубая сила" метод выполнения вещей, но он быстрый и должен, используя bash, работать на большинстве дистрибутивов
источник
Если вы не боитесь дополнительных зависимостей, вы можете использовать facter для этого. Он дает информацию об имени и версии дистрибутива даже без установленного lsb_release.
источник