Я пытаюсь определить, какая версия Linux-сервера запущена. Я не пытаюсь определить версию ядра - но оцениваю дистрибьютора.
gcc установлен, и в выводе версии написано RedHat
# gcc --version
gcc (GCC) 3.4.6 20060404 (Red Hat 3.4.6-11)
Означает ли это, что я могу смело предположить, что мой сервер является сервером RedHat. Есть ли лучший - 100% пуленепробиваемый метод, чтобы это выяснить? Также для других версий Linux - не только этот сервер?
Отредактируйте: содержимое /etc/
на случай, если это поможет - но я бы хотел решение, которое работает и для других версий linux.
# ls /etc/
./ backupmxhosts domainusers host.conf localdomains mailips pam.d/ relayhosts shadow trustedmailhosts
../ bashrc* exim.conf inputrc localtime man.config passwd resolv.conf skipsmtpcheckhosts userdomains
DIR_COLORS cron.deny exim.pl ld.so.cache lynx.cfg mtab profile secondarymx spammeripblocks vimrc
aliases demodomains exim.pl.local* ld.so.conf mail/ my.cnf profile.d/ senderverifybypasshosts sudoers
antivirus.exim demouids group localaliases mailhelo nsswitch.conf protocols services termcap
У меня нет файлов *release
или *version
в /etc/
# ls /etc*release; ls /etc/*version
/bin/ls: /etc/*release: No such file or directory
/bin/ls: /etc/*version: No such file or directory
Я пробовал LSB
# lsb_release -a
LSB Version:
Distributor ID: n/a
Description: (none)
Release: n/a
Codename: n/a
Кроме того - я думаю, что я нахожусь в chroot jail
(не совсем уверен, что это такое), что может быть причиной этой проблемы.
Обновлено:
Я думаю, что это делает это для меня. Я думаю, что могу с уверенностью предположить, что я использую Cent-OS.
# cat /proc/version
Linux version 2.6.9-103.plus.c4smp (mockbuild@builder10.centos.org) (gcc version 3.4.6 20060404 (Red Hat 3.4.6-11)) #1 SMP Wed Dec 21 16:17:23 EST 2011