Manoel Pinho (pinho@uninet.com.br) escreve: "Um dos problemas que normalmente enfrentamos no linux, principalmente no uso como desktop de leigos, é a questão: "Apaguei sem querer alguns arquivos... Como faço para recuperá-los ?". Os desktops KDE e Gnome possuem lixeiras de arquivos que armazenam os arquivos apagados pelos respectivos gerenciadores de arquivos (konqueror e nautilus), mas e fora destes ambientes?"
Como é no M$ Windows ?
Neste SO existe uma lixeira, que é ativada por default. Mas esta lixeira é usada se você remove um arquivo pelo explorer; se você fizer isso no prompt de comando ela não funcionará. Ela também não lida com o caso de um programa apagar o arquivo (como um vírus por exemplo).
Sim, existem algumas ferramentas tais como recover para fazer tudo isso mas você deverá usar o mais rápido possível (with spell book and chiken blood on your computer) e, é claro, sem qualquer garantia.
Para ter toda a funcionalidade desejada é necessário usar aplicativos como o "Norton Utilities". Estes programas rodam como serviços (os "daemons" windows) e capturar a chamada de sistema de apagamento de arquivos para mover o arquivo em vez de apagá-lo. Isto funciona mas não é gratuito.
E no Linux (Unix, BSD, ...) ?
Há o mesmo problema encontrado no Windows. Se você utiliza o Gnome ou KDE poderá usar a lixeira, mas no terminal não haverá soluções "undo" (desfazer).
Contudo, existem algumas soluções diferentes:
1) aliases
Esta solução cria um alias do comando "rm" para uma ferramenta (um script por exemplo) que move arquivos para a lixeira em vez de apagá-los.
Infelizmente, esta solução funciona somente na shell.
2) biblioteca libtrash
Esta solução afeta todas as chamadas do sistema para "unlink", tais como aquelas da GNU libc, a fim de mover para a lixeira ao invés de apagar os arquivos.
A libtrash é, de fato, uma biblioteca dinâmica que, quando carregada (LD_PRELOAD), intercepta as chamadas às funções "unlink", "rename", ... da GNU libc.
Site da libtrash:
http://m-arriaga.net/software/libtrash/
3) um módulo de kernel "lixeira" (recycled)
Usa a mesma idéia da libtrash, mas em baixo nível: intercepta somente chamadas à função do kernel "sys_unlink", em vez da função "unlink" da GNU libc.
Esta solução é implementada pelo Recycled4Linux:
http://shirka.dyndns.org/phpwebsite/index.php?module=pagemaster&PAGE_user_op=view_page&PAGE_id=2&MMN_position=1:1
Eu particularmente ainda não testei essa última solução pois acabei de conhecer este programa :-)
Este texto mesmo foi traduzido e adaptado da apresentação do Recycled4Linux. Achei interessante e didático e resolvi postar aqui.
» Postado por: Marcio em outubro 24, 2003 02:34 PM, 200.204.36.:
Não ficou legal mesmo .... não para a área de tutoriais ... nem para artigo ... é mais um link .... :-)
» Postado por: EdCrypt em outubro 25, 2003 03:10 PM, 200.182.62.:
Isso deveria ser implementado nas distribuições.
» Postado por: Manoel Pinho em outubro 25, 2003 08:25 PM, 200.141.98.:
Quando mandei o texto para o Augusto eu não disse que era um tutorial. Na verdade, eu estava pensando mais em uma daquelas sugestões de softwares que aparecem neste site.
Também não escondi que o texto não é de minha autoria, como aparece na última frase. A minha idéia foi traduzir este texto e apresentá-los a quem não o conhecia estes softwares ou que não lê bem em inglês. Portanto, continuo achando que não é uma perda de tempo este texto ter aparecido aqui.
Sinceramente eu já estou de saco cheio de gente que só sabe tacar pedras e não faz nada melhor. Por isso esse país está nessa situação.
» Postado por: The Darkness em outubro 26, 2003 01:56 AM, 200.214.81.:
Vou testar estas soluções de LIXEIRA no LINUX amanhã mesmo.
Isso é um recurso realmente fundamental para a adoção de DESKTOPS em LINUX.
» Postado por: flaviothunder em novembro 19, 2003 11:48 AM, 200.206.167:
Interessante...
Acho que vou testar...
» Postado por: Antonio em novembro 23, 2003 01:33 AM, 200.157.105:
Achei interessante e o autor tem razão no seu desabafo .Afinal o que vale é a informação !
» Postado por: Junior em dezembro 20, 2003 03:50 PM, 200.222.230:
Dica de ouro: pense sempre duas vezes antes de apertar o enter em uma linha contendo rm, principalmente com argumentos -rf.
Segundo: uma boa idéia é ao invés de apagar os arquivos, mover para a pasta /tmp.
Algumas distros (debian), apagam esta pasta ao reiniciar, mas isso pode ser configurado em /etc/defaults/rcS, colocando quantos dias de idade um arquivo deve ser apagado em /tmp.
» Postado por: Manoel Pinho em dezembro 30, 2003 10:46 AM, 200.20.121.:
Um tutorial bem completo sobre a libtrash:
O Arquivo Histórico do BR-Linux.org mantém no ar (sem alteração, exceto quanto à formatação) notícias, artigos e outros textos publicados originalmente no site na segunda metade da década de 1990 e na primeira década do século XXI, que contam parte considerável a história do Linux e do Open Source no Brasil. Exceto quando indicado em contrário, a autoria dos textos é de Augusto Campos, e os termos de uso podem ser consultados na capa do BR-Linux.org. Considerando seu caráter histórico, é provável que boa parte dos links estejam quebrados, e que as informações deste texto estejam desatualizadas.