2009-11-13 22 views
7

Cómo puedo obtener información de hardware de una máquina Linux/Unix. ¿Hay un conjunto de API?¿Cómo obtengo información de hardware en Linux/Unix?

Estoy tratando de obtener información como:

  • nombre del sistema operativo.
  • Versión del sistema operativo.
  • adaptadores de red disponibles.
  • información sobre los adaptadores de red.
  • todo el software instalado.

Estoy buscando una aplicación que recopile esta información y la muestre en un buen formato. He usado algo similar con la herramienta de línea de comandos "system_profile" para Mac OS X. I me preguntaba si algo similar está disponible para Linux también.

+0

Hay muchas, muchas formas, desde las herramientas de línea de comandos hasta las llamadas a la API del kernel. A menos que nos diga lo que intenta hacer, cualquier respuesta solo puede ser una adivinanza. – DevSolar

Respuesta

15

Si necesita una respuesta simple, utilice:

  • cat /proc/cpuinfo
  • cat /proc/meminfo
  • lspci
  • lsusb

y almacenar cualquier información que necesita de la salida de estos comandos . (Nota: el comando cut puede ser su amigo aquí si está escribiendo un script de shell.)

en caso de necesitar más detalle, agregue un interruptor -v para obtener una salida detallada de los comandos lspci y lsusb.

Si lo que estás buscando es una API más completa, utiliza HAL, aunque puede ser una exageración para lo que intentas construir.

+1

O escriba alguna secuencia de comandos en un buen lenguaje de scripting para recuperar y formatear los datos de la forma que desee. No se olvide de agregar ifconfig para las informaciones del adaptador de red. – fritzone

7

Hay un comando lshw fiesta - Lista de hardware

+0

hay alguna herramienta como system_profiler de OS X. – Unicorn

+0

En algunas circunstancias, lshw podría no estar disponible, pero dmidecode, que proporciona información similar, a menudo lo es (estoy pensando en los hipervisores VMware ESX). – Suppressingfire

+0

@Unicorn, ¿puede ser más específico sobre la información de hardware que desea extraer? – Suppressingfire

2

me gustaría utilizar hal, la capa de abstracción de hardware. Incluye tanto algunos comandos GUI, algunos comandos tty (que se pueden usar desde programas shell) y enlaces de bibliotecas para c y varios otros idiomas.

HAL no es realmente una parte estándar de "linux", pero creo que es utilizado por la mayoría de las distribuciones modernas.

7

Si está buscando una herramienta que muestre Información del sistema, la herramienta de la GUI como HardInfo sería útil para usted.

En Ubuntu, puede instalar HardInfo así ...

sudo apt-get install HARDiNFO

Saludos

+1

desearía poder votar dos veces, esto es increíble. –

0

Ya que menciona API, trate de la familia de comandos exec para C. Puedes usarlos para ejecutar estos binarios que otras personas han mencionado.Para crear una solución robusta/flexible, probablemente también tendrá que aprovechar los comandos fork() de Unix. También deberá desarrollar un mecanismo para capturar el resultado arrojado por estas utilidades. Mire en las tuberías de Unix para eso.

1

Probar sudo lshw. Es el más fácil.

Cuestiones relacionadas