Respuestas:
Me temo que no hay una forma estandarizada de verificarlo. Cada distribución parece tener su propia forma de anunciar su versión. Puede probar: cat /etc/*releasepuede funcionar en algunos sistemas. Además, /etc/issuepuede contener información de distribución.
lsb_release -a debería funcionar en la mayoría de las distribuciones.
lsb_release -i -sfunciona en la mayoría de los sistemas que tengo solo para obtener la identificación del proveedor. Lamentablemente, lsb_release no forma parte de la instalación base en mis sistemas más pequeños / integrados, por lo que debe probarse primero.
lsb-releasepaquete, que, de hecho, no es el predeterminado. Sin embargo, su ausencia es un fuerte indicador de Debian. :-)
lsb_releaseno existe en algunos nuevos derivados de RHEL6, como Scientific Linux 6.1 o Fedora Linux 16.
Generalmente / etc / motd también da el nombre de distribución ...
uname -o
El binario uname se encuentra en casi todos los sistemas Linux y el indicador -o hace lo mejor para devolverle el sistema operativo. lsb_release también funciona pero no es tan ubicuo.
uname -o, luego, si eso vuelve solo como GNU / Linux, la ejecución lsb_release -i -sparece funcionar en todos mis sistemas.
Si usa la -abandera uname, debería funcionar la mayor parte del tiempo. Por ejemplo, en mi máquina Ubuntu actual uname -aimprime:
Linux clark-laptop 2.6.35-25-generic #43-Ubuntu SMP Thu Jan 6 22:25:21 UTC 2011 x86_64 GNU/Linux
cat /etc/*releasey/etc/issuedame la información precisa que necesito.