Repositório Repositório Livre    CD CD Programas Livres    Wiki Wiki PL    Fóruns Fóruns PL


Sep 20 2007

Como evitar perder dados em pen’s USB no seu Linux

Escrevi este baseado na minha de alguns meses com o 7.04 (Feisty Fawn).

Quando tenho transferido para discos usb (memorias , discos ATA, etc.), com alguma regularidade tenho tido a má de perder . É uma situação que tem sido um bocado incomoda para mim, e acredito mais ainda a todos os mais novatos que eu do do , que vieram agora depois de anos a sofrer desnecessariamente com o MS , se depararem agora com um problema destes…

A situação se passa quando tentamos , e no meio do procedimento pode acontecer uma de varias eventualidades:
- a electricidade ir abaixo;
- a conexão usb (cabo, placas, periféricos, hubs, etc.) não ser a melhor, ou estar demasiado sobrecarregada;
- por descuido ou negligência alguém se esbarrar no cabo ou no (esbarrões, tropeções, pontapés, espirros (?), e afins…);
- o sistema por alguma razão ir abaixo ou bloquear (má configuração, problema de , sobrecarga de , etc.);
- ao tentar ejectar o usb depois de centenas de milhar de , o eject demorar mais que o previsto, ao ponto de acharmos que o sistema bloqueou, e forçarmos um reset ao ;
- num perfeitamente evitável ataque de (que são comuns em alguns lamentáveis ambientes laborais), começarmos a partir tudo que vemos pela frente, e lá se vão os discos usb pelo caminho…;
- etc…

E quando vemos por fim, todos os que achávamos ter transferido, afinal desapareceram definitivamente, como se tivéssemos arrastado tudo para o lixo e o esvaziássemos…

O problema é que parece que, por questões de , quando gravamos ou movemos um no , só os são transferidos, mas a informação de de permanece na cache até esses discos serem ejectados ou o ser desligado. E claro, pode parecer um procedimento um bocado estúpido termos de ejectar e encaixar a conexão do usb toda a vez que transferimos , para além do risco de danificarmos o encaixe usb - afinal leis de Murphy existem…

E só agora, depois de perguntar a amigos mais experientes do , que o Eject chama o comando ‘eject’, que por sua vez chama o comando ’sync’ antes de permitir a do USB. E pelos vistos, o comando ’sync’ permite actualizar os discos com a informação que ainda está na cache, e já deveria estar no a … (pois, se acontecesse algo, perderíamos tudo que tínhamos transferido…)

A solução temporária e útil que encontrei no (enquanto as comunidades de do e do não encontrarem ideias melhores), é de meter um ícone na de ferramentas (um ‘custom launcher’ no ‘panel’ do )

Fazemos então da seguinte forma:
- com o botão direito em cima do ‘panel’, escolhemos ‘Add to Panel…’ do menu de contexto;
- clicamos então no botão ‘Custom Application Launcher’;
- aparece uma janela chamada ‘Create Launcher’ - em ‘Command:’ metemos ‘gksudo sync’ - podemos meter o mesmo em ‘Name:’ ou algo parecido
- clicando em ‘No Icon’, podemos escolher um ícone à nossa escolha, para um mais rápido reconhecimento e clicamos em ‘Ok’

E agora toda a vez que transferirmos para discos usb e não os quisermos perder, podemos toda a vez clicar neste botão, sem termos de ejectar permanentemente esses discos, ou entrarmos constantemente ’sudo sync’ na janela da . O único incómodo é de, como este botão utiliza o comando ‘gksudo’, a janela a pedir a password de root poder aparecer com alguma regularidade.

AUTOR: Paulo Silva (Nitrofurano)

Partilhar :
  • Digg
  • TwitThis
  • Technorati
  • del.icio.us
  • Facebook
  • StumbleUpon
  • Google
  • Slashdot
  • Mixx
  • BarraPunto
  • blogmarks Como evitar perder dados em pens USB no seu Linux
  • Pownce
  • Blogsvine
  • LinkedIn
  • Live
  • Ma.gnolia
  • NewsVine
  • Rec6
  • Furl
  • Reddit
  • Sphinn
  • Propeller
  • Spurl
  • YahooMyWeb
  • De.lirio.us
  • description
  • Sapo Links
  • DoMelhor
  • Fixolas
  • E-mail this story to a friend!
  • Print this article!

Relacionados

7 respostas para “Como evitar perder dados em pen’s USB no seu Linux”

  1. Rui Sillva | 20 Sep 2007 - 22:27 |

    Penso que existe uma opção no mount para que quando fizeres o mount da pen, ele faça o sync automáticamente.

  2. João Matos | 20 Sep 2007 - 23:04 |

    rui,

    o mount/umount faz sinc quando solicitados.
    a dica aqui é para fazer sinc manualmente sem desmontar a pen.

  3. Rui Silva | 20 Sep 2007 - 23:10 |

    Da Manpage do Mount

    -o
    Options are specified with a -o flag followed by a comma separated string of options. Some of these options are only useful when they appear in the /etc/fstab file. The following options apply to any file system that is being mounted (but not every file system actually honors them - e.g., the sync option today has effect only for ext2, ext3, fat, vfat and ufs):

  4. Rui Silva | 20 Sep 2007 - 23:13 |

    em aditamento ao anterior

    sync
    All I/O to the file system should be done synchronously. In case of media with limited number of write cycles (e.g. some flash drives) “sync” may cause life-cycle shortening.

  5. João Matos | 21 Sep 2007 - 20:35 |

    realmente a opção -o sync permite fazer isso, mas nos dias que correm é algo complicado.

    por exemplo.

    o meu mandriva tem o fstab assim:

    /dev/sda5 / reiserfs defaults 1 1
    /dev/hda2 /mnt/dados vfat umask=0,user,defaults 0 0
    /dev/hda1 /mnt/windows ntfs umask=0,user,defaults 0 0
    none /proc proc defaults 0 0
    /dev/sda6 swap swap defaults 0 0

    ou seja, nem tem a opção de mount para as pen’s porque funciona com regras do udev.
    não sei como está no *buntu

  6. Rui Silva | 21 Sep 2007 - 21:58 |

    Verifica que se tens este ficheiro /etc/usbmount/usbmount.conf :

    Se sim exite um parametro nesse ficheiro que diz: MOUNTOPTIONS

    Colocas lá a opção sync.

  7. João Matos | 27 Sep 2007 - 21:58 |

    desculpa o atraso

    não, não tenho esse ficheiro.

Trackback | RSS dos comentários

Comentar