ct

    Entendendo o udev

    Acessando dispositivos USB e escrevendo regras

    Carlos E. Morimoto
    30/01/2006


    Recentemente, surgiu um terceiro componente, o udev, que substitui o devfs e assume parte das funções do hotplug, com a opção de se integrar a ele, oferecendo suporte aos scripts e outras personalizações, ou substituí-lo completamente, opção adotada por muitas distribuições.

    A principal vantagem do udev é que nele é possível definir devices "fixos" para cada periférico. Sua impressora pode passar a receber sempre o device "/dev/printer/epson" e seu pendrive o "/dev/pendrive", mesmo que você tenha outros dispositivos instalados. É possível também executar scripts quando eles são conectados ou removidos, criando um leque muito grande de opções.

    Os devices são criados conforme os periféricos são conectados, fazendo com que o /dev contenha entrada apenas para os periféricos detectados.

    No devfs, o diretório "/dev" contém devices para todo tipo de componente que é suportado pelo Kernel, resultando num número absurdo de pastas e devices dentro do diretório. Outra limitação é que os periféricos podem ser associados a devices diferentes, de acordo com a ordem em que são plugados. Digamos que você tenha um pendrive e um HD externo, ambos USB. Se você plugar o pendrive primeiro, ele será o "/dev/sda", enquanto o HD será o "/dev/sdb". Mas, se você inverter a ordem, o HD é que será o "/dev/sda". Se você tiver um HD serial ATA, então o HD será o "/dev/sda", o pendrive será o "/dev/sdb" e o HD externo será o "/dev/sdc" e, assim por diante. Essa confusão toda torna complicado fazer um script de backup ou qualquer outra coisa que dependa do pendrive estar disponível sempre no mesmo lugar.

    Outra vantagem do udev é que, por ser escrito em C e ter um funcionamento interno muito mais simples, o udev é também mais rápido que o hotplug, o que faz diferença em muitas situações.

    A parte em que o udev e o hotplug se sobrepõem é com relação a automatização de tarefas. O hotplug suporta o uso de scripts, que são executados sempre que um dispositivo em particular, ou algum dispositivo dentro de uma categoria definida é plugado. Estes scripts permitem fazer com que seja criado um ícone no desktop ao plugar um pendrive, fazer com que o configurador de impressoras seja aberto quando uma nova impressora USB é conectada, entre inúmeras outras possibilidades.

    O udev suporta o uso de "regras", que, entre outras coisas, também permitem o uso de scripts. O udev oferece compatibilidade com os scripts do hotplug, mas esta funcionalidade não vem ativada em todas as distribuições. De uma forma geral, o udev está sendo adotado rapidamente em todas as principais distribuições e, em distribuições que usam o udev, é mais recomendado trabalhar com regras do udev do que com scripts do hotplug. Logo adiante, veremos com mais detalhes como escrever tanto scripts para o hotplug quanto regras para o udev.

    Em algumas distribuições, o udev é configurado de forma a substituir o hotplug completamente, enquanto outras optam por integrar os dois. Nestes casos, o hotplug deixa de ser um serviço separado e passa a ser iniciado juntamente com o serviço "udev":

    # /etc/init.d/udev start

    Uma observação é, que ao contrário do devfs e mesmo do hotplug, o udev é independente do Kernel, ele pode ser instalado, removido e atualizado rapidamente, como qualquer outro programa. Se algum periférico não estiver sendo detectado ou você estiver tendo problemas gerais, experimente atualizar o pacote "udev" a partir do repositório com atualizações para a distribuição em uso. Nas distribuições derivadas do Debian, você pode atualizá-lo via apt-get:

    # apt-get install udev



    Página 04 de 06
        



    Blog:

    Add to Google

    » Gostou do texto?
    Veja nossos livros impressos:

    Smartphones | Linux | Hardware
    Redes | Servidores


    ... ou encontre o que procura usando a busca:

cb
ct
Atualizações



[19/03] Montando um DVD de vídeo na unha, via terminal (atualizado)
[18/03] Core i7: Gulftown e a era dos 6 núcleos
[17/03] Artigo: Primeiras impressões do Haiku (alfa)
[16/03] Criando um sistema de recuperação usando o SystemRescueCD
[15/03] Processadores AMD, parte 2: Phenom II e o Athlon II
[14/03] AMD 890GX
[13/03] Dica: kMyFirewall, um firewall gráfico para o KDE
[12/03] Processadores AMD, parte 1: o Phenom
[11/03] Artigo: Uma olhada no PC-BSD 8.0
[10/03] Artigo: Investigando os modelos do Eee PC
[09/03] Artigo: nVidia Optimus
[05/03] Artigo: Comparativo de desktops: Zenwalk, Salix OS e GoblinX
[03/03] Artigo: Meego: a fusão entre Maemo e Moblin
[02/03] Artigo: Uma breve análise do Linux Mint 8 'Helena'
[01/03] Processadores: Chipsets e placas para o Core 2 Duo, Quad e Celeron
[26/02] Tutorial: Criando um loop de vídeo com o Kino e o Audacity
Destaques



» Hardware o Guia Definitivo, disponível para leitura online
» Como um HD funciona: Head Switch Time
» Redes: TCP/IP, endereçamento e portas
» O básico para o Debian Lenny no desktop
» Configurando um servidor de rede local com o Ubuntu, fácil
» Uma breve análise do Linux Mint 8 'Helena'
» Programação Orientada a Objetos: uma introdução
» Smartphones: TCPMP e CorePlayer
» PCI Express: compatibilidade, linhas de dados e o PCIe 2.0
» Dual-SIM: Usando dois chips no mesmo aparelho
» Smartphones e telas: Tamanho e touchscreen
Receba as atualizações diariamente por e-mail:
Assine o RSS Veja todas as atualizações... Add to Google
cb
Livros de Carlos E. Morimoto Contato HOME