Pages

Sunday, March 04, 2012

idhardware: detectando o hardware no GNU/Linux

Depois de mais ou menos 2 anos e meio cozinhando esse script eu libero o "idhardware" (utilize o salvar como clicando no link com o botão direito). [update] Atualizei o arquivo para incluir a licença (GPL 3 ou superior). [/update]

Esse script executa uma série de comandos que permite identificar quase tudo que há no seu computador. Da versão da BIOS as últimas mensagens do log. Entre os programas executados temos o lshw, dmidecode, lspci, lsusb, hdparm, free, ifconfig, netstat, route, iptables, lsmod, dmesg. Além disso, vários arquivos são verificados, tais como /etc/fstab, /etc/mtab, /proc/meminfo, /etc/resolv.conf, entre outros.

O programa não vai dar erro se um aplicativo não existir nessa máquina, apenas vai incluir no output a informação "aplicativo não encontrado"

Para melhor uso e portabilidade eu não quis integrar o comando sudo ao script, mas muitos dos comandos requerem permissões administrativas.  A saída está direcionada para a tela, porém a melhor forma é direcioná-la para um arquivo. Para dizer a verdade, considerando que é quase impossível ler o que está na tela caso tudo seja jogado no terminal, a única forma interessante de usar o arquivo é direcionando a saída para um arquivo.

Ou seja, eu sugiro que como root execute:
idhardware >relatorio.txt


Se preferir, utilize o sudo
sudo idhardware > relatorio.txt
nesse caso, alguns ajustes podem ser feitos, por exemplo, colocando o caminho completo da localização do arquivo, tipo:
sudo /caminho/para/o/local/de/idhardware > relatorio.txt


Antes de usar o script é necessário torná-lo executável digitando no terminal, no diretório onde está seu script, o comando " chmod +x idhardware " ou pelo seu programa gráfico favorito.


Tradicionalmente, um script desses irá ser alocado em "/usr/local/bin" ou no seu diretório binário pessoal "~/bin" a escolha é sua. Mas caso o caminho selecionado não seja reconhecido pelo comando sudo (ou pelo root) será necessário incluir o caminho completo para a execução do script.

Bom uso.

2 comments:

  1. Caro Mitre, tenho uma sugestão quanto aos programas necessários, veja: http://pastebin.com/uym4WZhn

    ReplyDelete
    Replies
    1. Ok, obrigado. Vou adaptá-lo, mas note que eu não tenho o interesse em abortar o programa caso algum aplicativo não exista, porque sempre vai existir alguns dos aplicativos (tipo, lspci, lsusb, free, ifconfig, etc) e vários dos arquivos de sistema, como o /etc/fstab. Meu interesse é de sugerir ao usuário como instalar um determinado programa e a dificuldade maior é adaptar isso para cada distribuição.

      Mas vou abordar sua função como uma forma de criar um log de "aplicativos inexistentes", pelo menos eu facilito ao usuário descobrir o que não temos instalado.

      Um abraço

      Delete