7
votes

Comment obtenir des informations matérielles sur Linux / UNIX?

Comment puis-je obtenir des informations matérielles à partir d'une machine Linux / Unix. Y a-t-il un ensemble d'API?

J'essaie d'obtenir des informations comme:

  • Nom du système d'exploitation.
  • Version OS.
  • Adaptateurs réseau disponibles.
  • Informations sur les adaptateurs réseau.
  • Tous les logiciels installés.

    Je cherche une application qui collecte ces informations et le montrer dans un bon format. J'ai utilisé quelque chose de similaire avec l'outil de ligne de commande "system_profile" pour Mac OS X. i se demandait si quelque chose de similaire est également disponible pour Linux.


1 commentaires

Il y a beaucoup de manières, des outils de ligne de commande aux appels d'API de noyau. À moins que vous ne nous disiez ce que vous essayez de faire, toutes les réponses ne pouvaient être que des devintes.


7 Réponses :


7
votes

Il y a une commande Bash LSHW - Liste Hardware


2 commentaires

Dans certaines circonstances, LSHW pourrait ne pas être disponible, mais DMidecode, qui fournit des informations similaires, c'est souvent (je pense aux hyperviseurs VMware ESX).


@Unicorn, pouvez-vous être plus précis sur les informations matérielles que vous souhaitez extraire?



2
votes

J'utiliserais hal , la couche d'abstraction matérielle. Il inclut à la fois certaines commandes d'interface graphique, certaines commandes TTY (qui peuvent être utilisées à partir de programmes Shell) et des liaisons de bibliothèque pour C et plusieurs autres langues.

HAL n'est pas vraiment une partie standard de "Linux", mais je pense qu'il est utilisé par la plupart des distributions modernes.


0 commentaires

16
votes

Si vous avez besoin d'une réponse simple, utilisez:

  • CAT / PROC / CPUINFO
  • CAT / PROC / MEMINFO
  • lspci
  • lsusb

    et récolte toutes les informations dont vous avez besoin de la sortie de ces commandes. (Remarque: la commande couper peut être votre ami ici si vous écrivez un script shell.)

    Si vous avez besoin de plus en détail, ajoutez un commutateur -V pour obtenir la sortie Verbose dans le LSPCI et lsusb commandes.

    Si ce que vous cherchez est une API plus fonctionnelle, puis utilisez HAL, bien que cela puisse être une overcive pour ce que vous essayez de construire.


1 commentaires

Ou écrivez un script dans une belle langue de script pour aller chercher et formater les données comme vous le souhaitez. N'oubliez pas d'ajouter Ifconfig pour obtenir des informations sur l'adaptateur réseau.



8
votes

Si vous recherchez un outil qui affiche des informations système, l'outil GUI comme Hardinfo serait utile pour vous.

in ubuntu, vous pouvez installer hardinfo comme celui-ci ...

sudo apt-get installer hardinfo

acclamations


0 commentaires

0
votes

Depuis que vous avez mentionné API, essayez le EXED famille de commandes de C. Vous peut les utiliser pour exécuter ces fichiers binaires que d'autres personnes ont mentionné. Pour créer une solution robuste / flexible, vous devrez probablement également exploiter les commandes UNIX Fork (). Vous devrez également développer un mécanisme de capture de la production de la production de ces utilitaires. Regardez dans des tuyaux Unix pour cela.


0 commentaires

1
votes

Essayez sudo lshw . C'est le plus facile.


0 commentaires

0
votes

Vous pouvez utiliser InXi qui fournit toutes les informations matérielles, y compris la température du processeur, etc.

Installer sur le système d'exploitation basé sur le chapeau rouge Sudo DNF Installez Inixi

Installer sur OS basé sur Debian APT-GET INSTALLER INXI


0 commentaires