Arquivos históricos do BR-Linux.org apresenta:

Implementando uma "lixeira" de arquivos no linux

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 brain em outubro 23, 2003 11:05 PM

Comentários para "Implementando uma "lixeira" de arquivos no linux"

» Postado por: qwqw em outubro 24, 2003 01:36 PM, 200.227.21.:

 

» Postado por: Marcio em outubro 24, 2003 02:34 PM, 200.204.36.:

 

» Postado por: EdCrypt em outubro 25, 2003 03:10 PM, 200.182.62.:

 

» Postado por: Manoel Pinho em outubro 25, 2003 08:25 PM, 200.141.98.:

 

» Postado por: The Darkness em outubro 26, 2003 01:56 AM, 200.214.81.:

 

» Postado por: flaviothunder em novembro 19, 2003 11:48 AM, 200.206.167:

 

» Postado por: Antonio em novembro 23, 2003 01:33 AM, 200.157.105:

 

» Postado por: Junior em dezembro 20, 2003 03:50 PM, 200.222.230:

 

» Postado por: Manoel Pinho em dezembro 30, 2003 10:46 AM, 200.20.121.:

 

» Postado por: Alexandre em maio 12, 2004 08:17 PM, 200.140.11.:

 

Antes de comentar...

- Preserve a qualidade desta discussão
- Leia os Termos de Uso.
- Este formulário deve ser usado para comentários sobre a notícia. Se você tem dúvidas ou precisa de ajuda, use o Fórum.
- Mantenha o foco nos argumentos e no assunto
- Não faça ataques pessoais.
- Pense 5 vezes antes de entrar em discussões inúteis, como "qual é a melhor distribuição/ambiente gráfico/linguagem de programação/etc.", mesmo se alguém já tiver provocado - um erro não justifica o outro
- Não seja um e-mala ;-)


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.