public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Andreas Ferber <aferber@techfak.uni-bielefeld.de>
To: Pavel Machek <pavel@suse.cz>
Cc: "Richard B. Johnson" <root@chaos.analogic.com>,
	linux-kernel@vger.kernel.org
Subject: Re: ext3 and undeletion
Date: Tue, 5 Mar 2002 22:29:10 +0100	[thread overview]
Message-ID: <20020305222910.A17336@devcon.net> (raw)
In-Reply-To: <20020226171634.GL4393@matchmail.com> <Pine.LNX.3.95.1020226130051.4315A-100000@chaos.analogic.com> <20020228160552.C23019@devcon.net> <20020304162614.C96@toy.ucw.cz>
In-Reply-To: <20020304162614.C96@toy.ucw.cz>; from pavel@suse.cz on Mon, Mar 04, 2002 at 04:26:15PM +0000

On Mon, Mar 04, 2002 at 04:26:15PM +0000, Pavel Machek wrote:
> > 
> > And what about:
> > 
> > - Luser rm's "foo.c"
> > - Luser starts working on new version of "foo.c"
> > - Luser recognizes, that the old version was better
> > - Luser rm's new "foo.c"
> > - Luser tries to unrm the old "foo.c" -> *bang*
> > 
> > Trust me, there /will/ be a luser who tries to do it this way. If
> > teaching lusers were enough, you'd have no need for an unrm at all.
> You don't consider me a luser, right?

No, not really. ;-)

> Okay, and I *did* need unrm few times. Few examples:
> 
> /dev# rm sbpcd *     (simple typo, recovered by immediate powerdown + fsck)

% rm sbpcd *
zsh: sure you want to delete all the files in /dev [yn]? n
rm: remove write-protected file `sbpcd'? n
%

> /big$ mp1enc > samotari.mpg (oops, I did it twice, second time by mistake, and
> 		powerswitch was too far away to make it in time)
> 
> So yes, unrm is usefull. And it would be even more usefull if it recovered
> truncated files, too.  How many times did you do > instead of >>? I did that
> mistake many times, its just easy..

% cat > foo
zsh: file exists: foo
% cat >| foo
[Now zsh is quiet. It even "fixes up" the history if you want so, so
that you can simply press "Up"+"Enter" if you really want to overwrite
the file]

Surely, protection against typos etc. has its value. But do it at the
place where does typos happen (ie. at the shell prompt), not by
messing with lowlevel stuff like the unlink syscall, which

  a) catches only very few ways of destroying a files contents
  b) poses a /great/ deal of complexity on you (like having to
     identify tempfiles, managing disk space etc.)

With some simple checks of the commandline you can catch many of the
common typos which end up destroying data. And it comes at nearly no
cost, is much more flexible and avoids any problems with tempfiles,
quota etc. in the first place.

And for the rest, which are not catched by those checks, that's what
backups are for.

Honestly, I also had a few moments where I wished I had an unrm
command available, and where it required a bit of work to fix up the
mess. But those situations are not that common that I really want to
have to manage a full fledged undeletion system all the time, and work
around the problems that it imposes.

Also, take the "human factor" into account: Users /will/ get more
sloppy with regards to thinking before typing, checking commandlines
before hitting enter etc., if they always have a "safety net" behind
them.  And it /will/ bite them in the ass once they are in a situation
(different system, root, ...) where those safety nets are not
available.

This is also the reason why I don't like those "rm -i" aliases some
distros are setting by default. I have /seen/ luser typing "rm *" when
they just wanted to delete some of the files in a directory, because
they were used to rm asking for every file if they want to delete it.
Now guess what happens if such a luser is dropped into an environment
where those aliases are not set...

And yes, I realize that for example those zsh examples above are also
somewhat into the same direction. But they are different from the "rm
-i" example above in that they don't change the semantics of a
command line, so that you are still obliged into checking the command
line /before/ submitting it, otherwise you get those annoying
questions and still have to resubmit the command.

Andreas
-- 
       Andreas Ferber - dev/consulting GmbH - Bielefeld, FRG
     ---------------------------------------------------------
         +49 521 1365800 - af@devcon.net - www.devcon.net

  reply	other threads:[~2002-03-05 21:29 UTC|newest]

Thread overview: 76+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <fa.n4lfl6v.h4chor@ifi.uio.no>
2002-02-25 17:06 ` ext3 and undeletion Dan Maas
2002-02-25 17:20   ` Mike Fedyk
2002-02-25 23:33     ` Tom Rauschenbach
2002-02-26  0:27       ` Bernd Eckenfels
2002-02-26  5:53       ` H. Peter Anvin
2002-02-26 16:05         ` Mike Fedyk
2002-02-26 16:31           ` H. Peter Anvin
2002-02-26 16:40             ` Mike Fedyk
2002-02-26 16:55               ` H. Peter Anvin
2002-02-26 17:12                 ` Mike Fedyk
2002-02-26 16:36           ` Martin Dalecki
2002-02-26 16:43             ` Mike Fedyk
2002-02-26 16:54               ` Martin Dalecki
2002-02-26 17:05                 ` Mike Fedyk
2002-02-26 17:07                   ` Martin Dalecki
2002-02-26 17:16                     ` Mike Fedyk
2002-02-26 17:22                       ` Rik van Riel
2002-02-26 17:38                         ` Mike Fedyk
2002-02-26 18:14                           ` Andreas Ferber
2002-02-26 18:55                             ` Andreas Dilger
2002-02-26 22:04                           ` Mike Fedyk
2002-02-26 18:34                       ` Richard B. Johnson
2002-02-26 18:34                         ` H. Peter Anvin
2002-02-26 18:47                           ` Richard B. Johnson
2002-02-26 18:52                         ` Andreas Dilger
2002-02-28 15:05                         ` Andreas Ferber
2002-02-28 22:37                           ` Andreas Dilger
2002-02-28 22:55                           ` James D Strandboge
2002-03-01  4:44                           ` Mike Fedyk
2002-03-04 16:26                           ` Pavel Machek
2002-03-05 21:29                             ` Andreas Ferber [this message]
2002-03-06 11:30                               ` Pavel Machek
2002-03-05 22:07                             ` Richard B. Johnson
2002-02-26 17:22                     ` Mike Fedyk
2002-03-01  0:19                       ` Rick Lindsley
2002-03-01  1:02                         ` Andreas Dilger
2002-02-26 17:54                   ` Andreas Dilger
2002-02-26 18:24                 ` Alan Cox
2002-03-04 15:40     ` Pavel Machek
2002-02-25 18:08   ` Richard B. Johnson
2002-02-25 18:40     ` Mike Fedyk
2002-02-25 19:49       ` Andreas Dilger
2002-02-25 22:05         ` ext3 and undeletion (libtrash) Omen Wild
2002-03-05 23:04 ext3 and undeletion Rose, Billy
2002-03-06 20:03 ` Mark Mielke
2002-03-07 21:30 ` Patrick Lynch
  -- strict thread matches above, loose matches on Subject: below --
2002-02-28 10:37 Randal, Phil
2002-02-26 18:39 Dana Lacoste
2002-02-26 18:47 ` Daniel Gryniewicz
2002-02-26 18:51 ` David Lang
2002-02-26 17:48 Rose, Billy
2002-02-26 17:53 ` Martin Dalecki
2002-02-26 18:03   ` Mike Fedyk
2002-02-26 17:56 ` Rik van Riel
2002-02-26 19:41   ` Andreas Dilger
2002-02-26 18:00 ` H. Peter Anvin
2002-02-26 18:15   ` Andreas Dilger
2002-02-26 18:23     ` Jakob Østergaard
2002-02-26 18:19   ` David Lang
2002-02-26 18:29 ` Andreas Ferber
2002-02-27 21:00 ` James D Strandboge
2002-02-27 21:40   ` Alan Cox
2002-02-27 22:16     ` James D Strandboge
2002-02-27 22:33       ` Alan Cox
2002-02-27 23:03         ` James D Strandboge
2002-02-28  0:29           ` James D Strandboge
2002-03-04  2:17         ` Mike Fedyk
2002-03-04 15:12           ` Alan Cox
2002-03-04 15:33             ` Mike Fedyk
2002-03-04 19:17             ` James D Strandboge
2002-03-04 20:08               ` Jesse Pollard
2002-03-02 17:36   ` Pablo Alcaraz
2002-02-25 16:46 Rose, Billy
2002-02-25  3:27 Steven Walter
2002-02-25  5:08 ` Andreas Dilger
2002-02-25 10:16 ` Fabrice Bellet

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20020305222910.A17336@devcon.net \
    --to=aferber@techfak.uni-bielefeld.de \
    --cc=linux-kernel@vger.kernel.org \
    --cc=pavel@suse.cz \
    --cc=root@chaos.analogic.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox