Who will bring the -P tag to "rm"'?

What is it?

It's one of Apple's fancy little tweaks to their command-line implementation of the rm remove command.

It may be totally unnecessary, maybe even a fool's errand, but it would certainly make the security minded feel a little better about the effectiveness of the kernel of their particular distribution to wipe out files permanently.

I know the Linuxes that don't have it, and I know one "Lin-on-Win", Cygwin, that TMWOT definitely should.

What would it take to add it?

BZT

There's also, on that same part of Apple's site, a man page for their srm command, but even that, I'd concede, is more than necessary. Excuse the raw pun which follows: To -P or not to -P, that is the question.

BZT

What for? There's already a nifty little utility called shred

And if you're absolutely sure that this feature is a must, try it yourself, as an introduction to OSS development.

Well, to distill about an hour's worth of research and trial and error novice scripting, I'll say that I'll have to wait till I next boot into Wubi Kubuntu to try out shred.

Can't use it in Cygwin because "shred" has NTFS (which Cygwin obviously runs on/in) is on the "exceptions" list of working file allocations.

As would be HFS+ Journaled I suppose. No wonder Apple did their own mod on rm!

BZT

From the GNU CoreUtils page on 'shred' invocation:
Please note that shred relies on a very important assumption: that the file system overwrites data in place. This is the traditional way to do things, but many modern file system designs do not satisfy this assumption. Exceptions include:

* Log-structured or journaled file systems, such as those supplied with AIX and Solaris, and JFS, ReiserFS, XFS, Ext3 \(in data=journal mode\), BFS, NTFS, etc. when they are configured to journal data.
* File systems that write redundant data and carry on even if some writes fail, such as RAID-based file systems.
* File systems that make snapshots, such as Network Appliance's NFS server.
* File systems that cache in temporary locations, such as NFS version 3 clients.
* Compressed file systems.

Well, to distill about an hour's worth of research and trial and error novice scripting, I'll say that I'll have to wait till I next boot into Wubi Kubuntu to try out shred.

Can't use it in Cygwin because GNU has NTFS (which Cygwin obviously runs on/in) is on the shred "exceptions" list of working file allocations.

As would be HFS+ Journaled I suppose. No wonder Apple did their own mod on rm!

BZT

From the GNU CoreUtils page on 'shred' invocation:
Please note that shred relies on a very important assumption: that the file system overwrites data in place. This is the traditional way to do things, but many modern file system designs do not satisfy this assumption. Exceptions include:

* Log-structured or journaled file systems, such as those supplied with AIX and Solaris, and JFS, ReiserFS, XFS, Ext3 \(in data=journal mode\), BFS, NTFS, etc. when they are configured to journal data.
* File systems that write redundant data and carry on even if some writes fail, such as RAID-based file systems.
* File systems that make snapshots, such as Network Appliance's NFS server.
* File systems that cache in temporary locations, such as NFS version 3 clients.
* Compressed file systems.

Turns out, and this after me calling it 'a bit too much,' there is an srm for other Linuxes.

There are actually two out there, but this is the one that works.

The install file is a tad stupid, though. As with the older version, it creates an srm executable (suitable to your particular environment; srm.exe for Cygwin)
in the /source folder of the unzipped source files folder -- if that's the way one chooses to install it. Cygwin and other Linux-on-(insert-host-OS-here) users will have to cp that exe(cutable) to their own /bin or /usr/bin or /usr/local/bin directories, as preference and/or priority in your execution path permits.

But it does work. So flush the -P (sorry, couldn't resist) and go with srm.

BZT

And all of those exceptions apply to Apple as well, with the main difference:

  • Their stuff only works on their own hardware, in a very tightly controlled environment
  • Because of this, they only have to circumvent the data integrity functions of one filesystem
  • it's probably the same kind of tight integration into the OS that everyone is complaining about with Microsoft, but with Apple it's OK (and I think both are wrong about it)