Ver Feed RSS

root@blog:/# chmod o+r *

[Dica] Labels de dispositivos USB

Avalie este Post de Blog
Outro dia me aconteceu algo muito desagradável! Meu irmão estava querendo reduzir a resolução de uma imagem no Windows sem perder a qualidade, como o Windows "padrão" vem com um ÓTIMO programa de edição de imagens chamado Paint a imagem dele ficou uma m****!

Depois de muito tentar e fazer a imagem fica com 256 cores ele resolveu me passar a imagem para que eu fizesse o resize. Entreguei minha pendrive onde ele copiou a imagem, e quando eu espetei a pendrive no meu Desktop, para minha surpresa, meu irmão havia renomeado (ou alterado o label, chame come quiser) minha pendrive para algo... "não muito legal". Ele provavelmente fez isso como forma de agradecimento ao favor que eu estava fazendo (ta bom, deve ter sido porque eu fiquei dizendo que o windows só serve pra jogar paciência e acessar o Orkut). Voltando ao assunto, cliquei com o botão direito na imagem, fui em redimensionar, escolhi 50% e pronto, devolvi a pendrive (sem comentar sobre o label, claro) e depois a peguei de volta. Meu irmão foi embora e eu fiquei com aquela pendrive com label alterado...

Depois de umas consultas ao oráculo descobri que não havia uma forma "nativa" de alterar o label de dispositivos USB no Gnome! Que decepção... Isso é pra eu aprender a respeitar a ignorância dos outros . Bem, depois de um tempo de consultas consegui alterar o label da pendrive pela linha de comando. Mas não foi lá muuuito trivial, então resolvi postar aqui pra quem um dia passar por algo parecido.


Renomeando Pendrives/Cartões de memória/HDs via USB

A alteração do Label está vinculado ao tipo de File System, as pendrives, por padrão, utilizam o sistema de arquivos FAT32. Abaixo a lista dos principais FS (File System) e suas repectivas ferramentas:
  • Para dispositivos FAT16 e FAT32 deve ser utilizado a ferramenta mlabel do pacote mtools;
  • Para discos com o formato NTFS deve-se utilizar a ferramenta ntfsprogs ;
  • Para discos ext2, ext3 e ext4 deve-se utilizar a ferramenta e2label.


Descobrindo o seu dispositivo
Antes de renomear nos vamos precisar saber o "caminho" do dispositivo. Isso pode ser feito de duas formas:

Primeira forma:
Código :
[FONT=Courier New]$ fdisk -l
 
Disco /dev/sda: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cilindros of 16065 * 512 = 8225280 bytes
Disk identifier: 0x57235723
 
Dispositivo Boot Início Fim Blocos Id Sistema
/dev/sda1   *           1        3824    30716248+   7  HPFS ou NTFS
/dev/sda2            3825        4067     1951897+  82  Linux swap / Solaris
/dev/sda3            4068        6499    19535040   83  Linux
/dev/sda4            6500       30401   191992815    7  HPFS ou NTFS
 
Disco /dev/sdb: 1031 MB, 1031798784 bytes
16 heads, 32 sectors/track, 3936 cylinders
Units = cilindros of 512 * 512 = 262144 bytes
Disk identifier: 0x4ef8e015
 
Dispositivo Boot Início Fim Blocos Id Sistema
/dev/sdb1   *           1        3936     1007600    e  W95 FAT16 (LBA)[/FONT]

Acho essa forma pouco clara pra quem está começando no Linux. Mas podemos ver que a pendrive é a /dev/sdb1 de 1GB (1031 MB) com FAT16.

Segunda forma:
Código :
[FONT=Courier New]$ mount
/dev/sda3 on / type ext3 (rw,relatime,errors=remount-ro)
tmpfs on /lib/init/rw type tmpfs (rw,nosuid,mode=0755)
/proc on /proc type proc (rw,noexec,nosuid,nodev)
sysfs on /sys type sysfs (rw,noexec,nosuid,nodev)
varrun on /var/run type tmpfs (rw,nosuid,mode=0755)
varlock on /var/lock type tmpfs (rw,noexec,nosuid,nodev,mode=1777)
udev on /dev type tmpfs (rw,mode=0755)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,noexec,nosuid,gid=5,mode=620)
fusectl on /sys/fs/fuse/connections type fusectl (rw)
lrm on /lib/modules/2.6.27-14-generic/volatile type tmpfs (rw,mode=755)
/dev/sda4 on /media/Pessoal type fuseblk (rw,nosuid,nodev,allow_other,blksize=4096)
securityfs on /sys/kernel/security type securityfs (rw)
binfmt_misc on /proc/sys/fs/binfmt_misc type binfmt_misc (rw,noexec,nosuid,nodev)
gvfs-fuse-daemon on /home/magnun/.gvfs type fuse.gvfs-fuse-daemon (rw,nosuid,nodev,user=magnun)
/dev/scd0 on /media/cdrom0 type iso9660 (ro,nosuid,nodev,user=magnun)
/dev/sdb1 on /media/Pen_Drive type vfat (rw,nosuid,nodev,uhelper=hal,shortname=mixed,uid=1000,utf8,umask=077,flush)[/FONT]

Agora sim! Podemos ver claramente que a pendrive é o /dev/sdb1! Digo isso porque podemos ver onde a pendrive está montada, nesse caso, /media/Pen_Drive. Agora que já sabemos quem é o seu dispositivos vamos desmontá-lo para poder renomear:
Código :
[FONT=Courier New]$ sudo umount /dev/sdb1[/FONT]

Se você não quiser desmontar pela linha de comando, basta clicar com o botão direito sobre o disco e escolher a opção ejetar.

Nos exemplos estarei utilizando o dispositivo /dev/sdb1





FAT16 e FAT32

Como dito anteriormente, para alterar o label de dispositivos FAT16 e FAT32 utilizaremos a ferramenta mlabel do "canivete suiço" mtools. No meu ubuntu esse ferramenta já estava instalada. Caso no seu Linux (debian based) não esteja instalado utilize o seguinte comando:
Código :
[FONT=Courier New]$ sudo apt-get install mtools[/FONT]

Podemos verificar o Label da pendrive com o seguinte comando;
Código :
[FONT=Courier New]$ sudo mlabel -i /dev/sdb1 -s ::
 Volume label is Pen_Drive (abbr=PEN_DRIVE )[/FONT]

Agora vamos alterar o label:
Código :
[FONT=Courier New]$ sudo mlabel -i /dev/sdb1 ::Magnun
$ sudo mlabel -i /dev/sdb1 -s ::
 Volume label is MAGNUN    [/FONT]

Algumas pessoas podem vir a enfrentar problemas com o mlabel, dependendo da sua versão, no meu caso utilizei a versão 2.9.11:
Código :
[FONT=Courier New]$ mlabel 
Mtools version 3.9.11, dated May 31st, 2007
Usage: mlabel [-vscVn] [-N serial] drive:[/FONT]

Caso os comandos citados acima não funcione, vamos para o segundo método! Nesse método temos que alterar o arquivo /etc/mtools.conf.

Adicione a seguinte linha: drive z: file="/dev/sdb1" mtools_skip_check=1

Pronto, criamos um "drive"! Agora vamos verificar o seu funcionamento:
Código :
[FONT=Courier New]$ sudo mlabel -s z:
 Volume label is PEN_DRIVE[/FONT]

Agora vamos renomear:
Código :
[FONT=Courier New]$ sudo mlabel z:Magnun
$ sudo mlabel -s z:
 Volume label is MAGNUN[/FONT]

Pronto, só isso!!!


NTFS

Para esse procedimento utilizaremos o ntfsprogs. No meu ubuntu esse ferramenta já estava instalada. Caso no seu Linux (debian based) não esteja instalado utilize o seguinte comando:
Código :
[FONT=Courier New]$ sudo apt-get install ntfsprogs[/FONT]

Para listar o label atual do dispositivo utilize o seguinte comando:
Código :
[FONT=Courier New]$ sudo ntfslabel /dev/sdb1
Pen_Drive[/FONT]

Para renomear o label desse dispositivo utilize o seguinte comando:
Código :
[FONT=Courier New]$ sudo ntfslabel /dev/sdb1 Magnun[/FONT]
[FONT=Courier New]$ sudo ntfslabel /dev/sdb1
Magnun[/FONT]

O Linux armazena o label NTFS em cache então pode parecer que o label não foi alterado na próxima vez que o disco for montado. para evitar isso, REMOVA o dispositivo e aguarde um pouco. Ou se você estiver no novo Ubuntu 9.04 apenar dê um reboot, no meu caso são só 30 segundos de espera .


EXT2, EXT3 e EXT4

Para esse procedimento utilizaremos o e2label. No meu ubuntu esse ferramenta já estava instalada. Caso no seu Linux (debian based) não esteja instalado utilize o seguinte comando:
Código :
[FONT=Courier New]$ sudo apt-get install e2fsprogs[/FONT]

De forma análoga ao ntfslabel, para verificar o label atual do disco utilize o seguinte comando:
Código :
[FONT=Courier New]$ sudo e2label /dev/sdb1[/FONT]
[FONT=Courier New] Pen_Drive[/FONT]

Para renomear o label desse dispositivo utilize o seguinte comando:
Código :
[FONT=Courier New]$ sudo e2label /dev/sdb1 Magnun[/FONT]
[FONT=Courier New] $ sudo e2label /dev/sdb1
Magnun[/FONT]



É isso pessoal!! Mas garanto pra vocês que em breve vai pintar aqui um aplicativo em pyGTK pra fazer isso através de uma interface gráfica e de forma centralizada, ok?!

Até mais...

Atualizado 11-01-2010 em 12:49 por Magnun

Categorias
Linux , Dicas , Projetos , USBManager

Comentários

  1. Avatar de Frusciante
    Gente fina seu irmão, hein...
  2. Avatar de Sukkubus
    Artigo bom à parte, do que ele te chamou?
  3. Avatar de Magnun
    @ Frusciante

    Você não tem nem idéia ... Mas de certa forma agradeço a ele, se não fosse isso eu não teria aprendido como concertar o label e nem estaria aprendendo Python+DBus+pyGTK para criar um "applet" pra configurar labels de dispositivos USB... Mas só até minha noiva chegar em casa


    @Sukkubus
    Prefiro nem comentar... Ah! Sukkubus, vale link la no Girls??
  4. Avatar de Sukkubus
    Você diz fazer um link no Girls? Com certeza! Por favor crie lá E obrigada!
  5. Avatar de lipeiori
    enquanto no Windows é só dar um F2 e escrever o nome...
  6. Avatar de Magnun
    @lipeiori

    Sim colega, é só dar um F2! Mas não esqueça que o Linux está em constante desenvolvimento!

    Além do mais, estou prestes a "solucionar" isso! Como disse em breve vou publicar aqui um applet pra simplificar isso!

    Até mais...
  7. Avatar de Não Registrado
    Windows hoje somente utiliza NTFS e nada mais,o Linux tem pelo menos 7 tipos de sistemas de arquivos diferentes e robustos,por isso as vezes não é tão simples e nem precisa,tem sim é que ser estável e seguro com boa usabilidade.
  8. Avatar de Yod_Samec
    Para identificar o pendrive, mais fácil o comando df.
    $ df
  9. Avatar de Não Registrado(s)
    NTFS renomeou belezinha, valeu!! usando ntfs label

    Ps: as unidades precisam estar desmontadas para renomeá-las.


    abraco

+ Enviar Comentário