quarta-feira, 27 de abril de 2011

Reconhecer seu dispositivo USB automaticamente em um ponto de montagem específico

Tenho 02 Hd's e só uma case, até aí tudo bem porque pretendo utilizar só um deles por vez mesmo.
Mas o problema é que uso esses hds no servidor que tenho em minha casa e compartilho o conteúdo dos hd's na rede interna pelo samba e queria que o próprio sistema reconhecesse o hd que está conectado em determinado momento, já que não seria muito prático eu criar uma pasta, "hdexterno" por exemplo, e montar ele manualmente cada vez que eu ligasse a case e, pior, se eu conectasse um pendrive ou qualquer outro dispositivo de armazenamento usb ele irá reconhecê-lo como /dev/sdbx e isso iria para meu ponto de montagem ligado a /dev/sdb. Então resolvi fazer o seguinte:

Criei em /mnt os diretórios ("pontos de montagem") filmes e backup e os compartilhei pelo samba:

COMO FAZER:

Primeiramente entenda que cada partição possui um número único chamado UUID, para ver esse número use o comando blkid como root. Você verá os UUID de cada partição.

1:  Use o comando blkid;

2:  edite o arquivo /etc/fstab e inclua as linhas:
          UUID=1234-5FD6 /mnt/filmes vfat auto,users,suid,exec,umask=0000,iocharset=utf8 0 0
          UUID=7891-0FD1 /mnt/backup ntfs-3g auto,users,suid,exec,umask=0000,iocharset=utf8 0 0
     Onde 1234-5FD6 e 7891-0FD1 são os UUID's dos dispositivos que vc quer montar. Não vou entrar em detalhes sobre os parâmetros do fstab, pq isso é para outro post, então pesquise um pouco sobre isso.

3: Crie o arquivo /etc/udev/rules.d/01-montameuhd.rules
          vim /etc/udev/rules.d/01-montameuhd.rules
     Com esse conteúdo:
               ACTION=="add", SUBSYSTEMS=="usb", KERNEL=="[sh]d[a-z]", RUN+="/bin/mount -a"

Pronto, sempre que você plugar o dispositivo 1234-5FD6 ele será montado em /mnt/filmes e quando você plugar o dispositivo 7891-0Fd1 ele será montado em /mnt/backup

Para outros dispositivos e pontos de montagem basta fazer as alterações no /etc/fstab, você pode adicionar várias linhas nesse arquivo e o sistema só montará quando o dispositivo quando o mesmo estiver plugado

Observação: Essa linha do udev funciona muito bem quando se usa um só comando, mas se quiser usar mais de um ou um comando que tenha execução demorada, crie um script e coloque o caminho dele na diretiva RUN.
Dica: Isso pode ser usando em scripts de backup, onde ele será executado quando você plugar o hd de backup, montando o dispositivo, executando o backup e desmontando o dispositivo.



Nenhum comentário: