quarta-feira, 16 de fevereiro de 2011

Montando e desmontando um pendrive no Linux via Terminal

Introdução

O pendrive é um dispositivo USB e para montá-lo é necessário que o sistema operacional seja capaz de reconhecê-lo. No nosso caso, precisamos carregar os módulos necessários para que o Linux reconheça o pendrive. Em algumas distribuições não é necessário carregar os módulos, pois elas já vêm com o hotplug ativado na inicialização, sendo ele responsável pela detecção do hardware e carregamento dos módulos pra você de maneira transparente.

Bem, agora que entendemos o problema, mão à obra.

Como já foi dito, para montar um pendrive no Linux você precisa de duas coisas:
  1. Fazer com que ele reconheça o pendrive, carregando os módulos necessários;
  2. Montar o pendrive.

1º Passo

Se você usa o Slackware, os módulos necessários são:
  • usb-ohci
  • usb-storage
  • usbcore

Logo, basta usar o comando modprobe para esses módulos.

Se você usa outra distro, basta ativar o hotplug que ele carrega os módulos necessários automaticamente.

SUGESTÃO 1: Fazer com que o Linux faça esses passos sempre que iniciar, assim você não vai ter que fazer isso toda vez que for usar o seu pendrive. COMO? editando o arquivo /etc/rc.d/rc.local e adicionando neles os comandos para ativar os módulos ou ativando o hotplug.

2º Passo

Crie um diretório em /mnt com o nome que desejar. Este diretório será onde iremos montar o pendrive.

# mkdir /mnt/pen

Agora falta só montar:

# mount -t vfat -o umask=0000 /dev/sda1 /mnt/nome

Se seu hd for sata provavelmente o comando será:

# mount -t vfat -o umask=0000 /dev/sdb1 /mnt/nome

Pronto, seu pendrive já está montando:

# cd /mnt/nome
# ls

SUGESTÃO 2: Provavelmente você só vai poder montar o pendrive se for root, mas seria chato. Se toda vez que for montar o pendrive você tiver que logar como root, principalmente se você não for o root, a solução é:

Pedir ao root (se não for você) para adicionar a seguinte linha no /etc/fstab:

/dev/sda1  /mnt/nome  vfat  noauto,user,umask=000  0  0

Explicando:
  • /dev/sda1: dispositivo onde está o pendrive;
  • /mnt/nome: diretório onde vai ser montado;
  • vfat: tipo do sistema de arquivos;
  • noauto: para não montar automaticamente ao iniciar (*importante*);
  • user: para qualquer usuário poder montar;
  • umask=000: permissão para todos escreverem, lerem e gravarem. 


Desmontar

Se o seu pendrive está bloqueado, travado, não desmonta no Linux (umount), não se preocupe, execute os comandos abaixo:
Sumário dos comandos:
# umount /dev/sdb1 /mnt/sdb1
# lsof /dev/sdb1 (ou o seu ponto de montagem)
# killall -9 name_of_program_show_in_line
Exemplo:
root@kabuuum:/# umount /dev/sdb1 /mnt/sdb1
umount: /mnt/sdb1: device is busy
umount: /mnt/sdb1: device is busy
umount: /mnt/sdb1: device is busy
umount: /mnt/sdb1: device is busy
root@kabuuum:/# lsof /dev/sdb1
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
konqueror 11805 ubuntu 19r REG 8,17 119623 2719 /mnt/sdb1/downloads_new/test.pdf
root@kabuuum:/# killall -9 konqueror
Se o sistema sinalizou que a pendrive foi desmontada, basta retirar a pendrive da conexão USB.

     Autores: Bruno Gois Mateus e Jaison de Oliveira

    Referências:
    http://www.vivaolinux.com.br/artigo/Montando-um-pendrive-no-Linux/
    http://www.previsioni.com.br/jailsonjan/?p=338

      Nenhum comentário:

      Postar um comentário