undo a rm -rf
Joshua Oreman
oremanj at webserver.get-linux.org
Sat Jun 7 20:20:50 PDT 2003
On Sat, Jun 07, 2003 at 04:18:02PM -0700 or thereabouts, Joshua Oreman seemed to write:
> On Sat, Jun 07, 2003 at 05:45:20PM +0800 or thereabouts, Robert Storey seemed to write:
> > On Fri, 6 Jun 2003 21:36:46 -0700
> > Joshua Oreman <oremanj at www.get-linux.org> wrote:
> >
> > > On Sat, Jun 07, 2003 at 12:15:50AM -0400 or thereabouts, David Loszewski
> > > seemed to write:
> > > > I just did a rm -rf and forgot the *.png portion
> > > > that I wanted on it, lol, 2 years of using freebsd
> > > > and I've never done anything this stupid. Is there
> > > > a way to get my data back? Please respond to this email address.
> >
> > On Linux, I've installed Libtrash, a "trashcan" which works even at the console. I think it's just a series of scripts, but it works superbly. I tried installing it on FBSD, but it failed to compile, exiting with this error message:
> >
> > /usr/bin/ld: cannot find -ldl
> > *** Error code 1
> >
> > If I knew what I was doing, I'd surely try to port Libtrash to FBSD. Sadly, I'm not a knowledgeable developer, just a dumb user. If anyone is interested:
> >
> > http://www.m-arriaga.net/software/libtrash/
>
> That's me, I'm interested (and a knowledgable quasi-developer :-)
> To get it to compile, remove all occurences of -ldl from src/Makefile.
> However, then it coredumps on any open() call and doesn't move stuff
> to the trash :P
> I'm working on it.
Done.
Get it from http://64.161.78.226/libtrash-fbsd.tgz.
It's still pretty unstable (e.g. don't try running Mutt or perl or Emacs with it)
but hey, it works. Any other developer want to work on this?
NOTE: Since the base system utilities (rm, cp, mv, etc.) are statically linked,
libtrash will NOT work with them! You must use a dynamic-linked version,
e.g. like so:
# gcc -g -o /usr/bin/dynrm /usr/src/bin/rm/rm.c
# gcc -g -o /usr/bin/dynmv /usr/src/bin/mv/mv.c
# gcc -g -o /usr/bin/dyncp /usr/src/bin/cp/*.c
And add these lines to the end of your shell's startup file
(~/.profile for sh, ~/.cshrc for csh, ~/.bashrc for bash, ~/.zshrc for zsh):
--snip--
alias rm=dynrm
alias cp=dyncp
alias mv=dynmv
--snip--
NOTE #2: I am not maintaining this; I'm just putting it out there so maybe someone
else can keep hacking on it.
Hope this helps!
-- Josh
>
> -- Josh
>
> >
> > regards,
> > Robert
> > _______________________________________________
> > freebsd-questions at freebsd.org mailing list
> > http://lists.freebsd.org/mailman/listinfo/freebsd-questions
> > To unsubscribe, send any mail to "freebsd-questions-unsubscribe at freebsd.org"
> _______________________________________________
> freebsd-questions at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-questions
> To unsubscribe, send any mail to "freebsd-questions-unsubscribe at freebsd.org"
More information about the freebsd-questions
mailing list