tengo - ver version de linux terminal
Cómo descubrir qué distribución de Linux está en uso (10)
Debería preguntarse si realmente necesita saber qué distribución está en uso (quizás porque desea crear un paquete específico para esta distribución). En muchos otros casos, es una idea mucho mejor, simplemente probar y ver si las funciones que necesita están allí o no. Esto podría parecer mucho más trabajo porque debe probar cada característica una por una, pero de esta manera, su software se vuelve mucho más flexible.
A veces necesito acceder a algunos servidores que ejecutan Linux (o tal vez otro SO tipo Unix), pero no sé cómo verificar qué distribución está en uso en el servidor (hay ocasiones en que incluso la persona "responsable" del servidor no sabe).
¿Existe una forma fácil y confiable de descubrir eso, una que sea uniforme y consistente en todos ellos?
Esto es, molestamente, un problema más difícil de lo que parece.
Para sistemas Linux, use lsb_release.
$ lsb_release --all
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 8.04.1
Release: 8.04
Codename: hardy
$ lsb_release -i
Distributor ID: Ubuntu
Esto tiene la limitación de que lsb_release funciona solo para las versiones de Linux.
Para todos los sistemas Unix, también puedes analizar uname.
$ uname -a
Linux blue-laptop 2.6.24-21-generic #1 SMP Tue Oct 21 23:43:45 UTC 2008 i686 GNU/Linux
Puede encontrar información sobre los sistemas y distribuciones en la página de uname de Wikipedia .
Prueba uname -a
Puedes usar ''uname'':
[anton@localhost ~]$ uname -a
Linux localhost 2.6.26-ARCH #1 SMP PREEMPT Tue Aug 26 21:15:43 UTC 2008 i686 AMD Athlon(tm) 64 Processor 3000+ AuthenticAMD GNU/Linux
lsb_release -i
puede funcionar para usted.
Más detalles están disponibles con lsb_release -a
Alguna discusión en http://etbe.coker.com.au/2007/08/30/identifying-the-distribution-of-a-linux-system/
uname -r
debería imprimir la versión del kernel actualmente en ejecución (al menos, lo hace para Linux, no sé si es igual para * BSD u otros). No es lo mismo que la distribución, pero la versión del núcleo a menudo incluye el nombre de la distribución si está personalizado, como "2.6.27-gentoo-r1" o algo así.
Init a menudo imprime algo en el arranque, pero eso no es muy bueno cuando se está ejecutando.
De lo contrario, que yo sepa, no hay nada universal.
El sistema de archivos proc : un directorio en Linux con toda la información de nivel de hardware. Así que solo escribe
cd /proc/
Allí encontrará una mina de oro de información almacenada en un archivo de texto para toda la información arbitraria sobre el sistema.
cat /etc/*release
La mayoría de las distribuciones ponen un archivo de lanzamiento en /etc/
(como /etc/redhat-release
, /etc/gentoo-release
, etc.) que generalmente tiene el número de versión de su distribución.
En mi .cshrc
tengo
setenv DISTRO ` cat /proc/version | sed ''s/.*(//'' | sed ''s/)).*//'' `
Para los usuarios de ksh / Bash , supongo que se traduce en
export DISTRO=` cat /proc/version | sed ''s/.*(//'' | sed ''s/)).*//'' `
y por supuesto esto puede no funcionar para su distribución favorita. (Tuve problemas con Oracle Unbreakable Linux que me dio algo similar a Redhat, pero fue lo suficientemente bueno para mis propósitos).
Actualización agosto de 2016 No he usado Linux de esta manera por un tiempo (2008 es hace mucho tiempo). Parece que esto ya no funciona para los sistemas que ahora tengo.
Descubrí que el problema / etc / usualmente tiene algo sobre la distribución en uso.
Pero no sé sobre su disponibilidad en todas las distribuciones.