Sto cercando di determinare quale sapore del server Linux è in esecuzione. Non sto cercando di determinare la versione del kernel, ma di valutare il distributore.
gcc è installato e nell'output della versione, dice RedHat
# gcc --version
gcc (GCC) 3.4.6 20060404 (Red Hat 3.4.6-11)
Questo significa che posso tranquillamente presumere che il mio server sia un server RedHat. Esiste un metodo migliore - 100% antiproiettile per scoprirlo? Anche per altre versioni di Linux - non solo questo server?
Modifica: il contenuto di /etc/nel caso in cui aiuta - ma vorrei una soluzione che funzioni anche per altre versioni di 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
Non ho *releaseo *versionfile in/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
Ho provato LSB
# lsb_release -a
LSB Version:
Distributor ID: n/a
Description: (none)
Release: n/a
Codename: n/a
Inoltre - Immagino di essere all'interno di un chroot jail(non proprio sicuro di cosa si tratti) che potrebbe essere la causa di questo problema.
aggiornato:
Penso che questo lo faccia per me. Penso di poter tranquillamente presumere che sto usando 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