você está aqui: Home  → Arquivo de Mensagens

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

 

 

Opinião dos Leitores

Rafael Moraes
15 Set 2010, 12:19
Exatamente Felipe, o Kudzu é utilizado para versões mais antigas do Kernel, aonde o Udev não fazia o trabalho de adicionar novos módulos. Entretanto o Kudzu ainda é encontrado em sistemas RHEL e derivados, podendo ser desativado da seguinte forma:
chkconfig --level 345 kudzu off.

Abraços.
Felipe Lessa
14 Set 2010, 22:56
O kernel 2.6.18 é relativamente antigo. Ele foi lançado em 19/09/2006, há quase exatos quatro anos.

É correto que o Kudzu ainda é usado apenas porque ainda é uma versão relativamente antiga do kernel? Em sistemas atuais acho que não existe mais muita utilidade nem para o kudzu (nem para o HAL). Esses subsistemas podem ser substituídos pelo udev. Mas eu posso estar enganado =).
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script