você está aqui: Home  → Arquivo de Mensagens Programação Shell Linux: Inscrições Abertas

Kudzu - Adição e Remoção de Hardware

Colaboração: Rafael Moraes da Costa

Data de Publicação: 14 de setembro de 2010

Segundo a Wikipedia, Kudzu ou Pueraria lobata é uma planta de origem Japonesa que além de produzir belas flores, sua raiz é fonte de um tipo de amido bastante utilizado na culinária do Leste asiático. Entretanto, o Kudzu aqui abordado não é uma planta e muito menos um ingrediente. Além de dar nome a planta citada acima, Kudzu é o nome de uma ferramenta presente em sistemas operacionais RHEL e derivados.

O kudzu escaneia o sistema em busca de novos dispositivos de Hardware e testa os dispositivos que já estão listados em sua base de dados encontrada em /etc/sysconfig/hwconf(¹)

Contudo, se não existe uma base de dados, o kudzu busca informações sobre dispositivos que já estão configurados, nos arquivos /etc/mod-probe.conf, /etc/sysconfig/network-scripts e /etc/X11/xorg.conf.

O arquivo hwconf é atualizado a cada boot do sistema (o script de inicialização /etc/init.d/kudzu é automaticamente executado ) ou pela execução do comando kudzu sem argumentos.

Quando um dispositivo previamente listado não é identificado no escaneamento do kudzu, este é imediatamente removido assim como a sua referência no arquivo hwconf. Porém, se pelo contrário, um novo dispositivo for encontrado, o kudzu configurará e adicionará o dispositivo ao arquivo hwconf. No processo de adição do novo dispositivo o kudzu utiliza alguns arquivos localizados em /usr/share/hwdata como referência para a configuração.

Utilização

Verificar sistema por novos Hardwares ou Hardwares removidos ( Atualiza o arquivo hwconf )

#kudzu

Mostrar como o comando deve ser utilizado

#kudzu --usage
Utilização: kudzu [-?] [-?|--help] [--usage] [-s|--safe] [-t|--timeout INT]
       [-p|--probe] [-b|--bus STRING] [-c|--class STRING]
       [-f|--file arquivo a partir do qual as informações sobre o hardware devem ser lidas]
       [-k|--kernel versão do kernel] [-q|--quiet]

Listar as principais opções de uso

#kudzu --help
Utilização: kudzu [OPÇÃO...]
-s, --safe                                   fazer apenas procuras 'seguras' que não perturbaram o hardware
-t, --timeout=INT                            definir tempo limite em segundos
-p, --probe                                  apenas sondar, escrever informações no stdout
-b, --bus=STRING                             sondar apenas o barramento especificado
-c, --class=STRING                           sondar apenas pela 'classe' especificada
-f, --file=arquivo a partir do qual
           as informações sobre o hardware
           devem ser lidas                   ler hardware sondado de um arquivo
-k, --kernel=versão do kernel                procurar pelos módulos de uma versão específica do kernel
-q, --quiet                                  faça a configuração que não requer uma entrada de usuário

Help options:
-?, --help                                   Show this help message
—usage                                      Display brief usage message

Listar Hardware identificado (Sem efetuar qualquer configuração ou remoção)

#kudzu -p
-
class: OTHER
bus: PCI
detached: 0
driver: i2c-piix4
desc: "Intel Corporation 82371AB/EB/MB PIIX4 ACPI"
vendorId: 8086
deviceId: 7113
subVendorId: 0000
subDeviceId: 0000
pciType: 1
pcidom:    0
pcibus:  0
pcidev:  7
pcifn:  0
...

Listar Hardware por bus

#kudzu -p -b USB
-
class: OTHER
bus: USB
detached: 0
desc: "Linux 2.6.18-194.11.3.el5 ehci_hcd EHCI Host Controller"
usbclass: 9
usbsubclass: 0
usbprotocol: 0
usbbus: 1
usblevel: 0
usbport: 0
usbdev: 1
vendorId: 0000
deviceId: 0000
usbmfr: Linux 2.6.18-194.11.3.el5 ehci_hcd
usbprod: EHCI Host Controller
...

Listar Hardware por classe

#kudzu -p -c IDE
-
class: IDE
bus: PCI
detached: 0
driver: ata_piix
desc: "Intel Corporation 82371AB/EB/MB PIIX4 IDE"
vendorId: 8086
deviceId: 7111
subVendorId: 0000
subDeviceId: 0000
pciType: 1
pcidom:    0
pcibus:  0
pcidev:  1
pcifn:  1

Buscar por módulos por versão do Kernel

#kudzu --kernel=2.6.18-194.11.3.el5
#kudzu --kernel
#kudzu --kernel=`uname -r`

Ler informações de Hardware diretamente de um arquivo

#kudzu --file=hardware.txt

Buscar Hardware de maneira segura, ou seja, não efetua qualquer alteração, a

#kudzu --safe

(¹) O arquivo /etc/sysconfig/hwconf não deve ser editado manualmente, todas as informações ali contidas são escritas quando o kudzu é executado.

Observações

  1. O site VMTS recomenda que o kudzu seja utilizado com bastante cautela quando se trata de um ambiente com virtualização, visto que é possível que o kudzu tente remover algum hardware que está sendo utilizado exclusivamente em uma máquina virtual.

  2. Por vezes o kudzu pode tornar a inicialização lenta ao procurar novos hardwares, ele pode ser desativado com o comando chkconfig kudzu off.
Rafael Moraes, é Analista de Suporte e Infraestrutura para sistemas Linux e também Instrutor em cursos preparatórios LPI. Possui as certificações LPIC-1, LPIC-2, ITIL Foundations e CISCO CCDA.


Veja a relação completa dos artigos de Rafael Moraes da Costa