Lars Wirzenius, a Linux and Debian developer, writes about backup software, early Linux history, email, and Debian packaging.
HN commenters link it for his Linux history anecdotes, his Debian packaging essay, and Obnam, a deduplicating, encrypting backup tool.
ZPAQ has much to give, a good recommendation. But I also found obnam awesome for de-duplicated backups as it allows cool snapshots which can be mounted via FUSE to be browsed in Nautilus or extracted via commandline tools.
Package: obnam
Version: 1.8-1
Maintainer: Lars Wirzenius <liw@liw.fi>
Depends: libc6 (>= 2.6), python (>= 2.7), python (<< 2.8), python-larch (>= 1.20131130~), python-ttystatus (>= 0.23~), python-paramiko, python-tracing (>= 0.8~), python-cliapp (>= 1.20130808~), python-fuse
Description-en: online and disk-based backup application
Obnam makes backups. Backups can be stored on local hard disks, or online
via the SSH SFTP protocol. The backup server, if used, does not require any
special software, on top of SSH.
.
* Snapshot backups. Every generation looks like a complete snapshot, so you
don't need to care about full versus incremental backups, or rotate real
or virtual tapes.
* Data de-duplication, across files, and backup generations. If the backup
repository already contains a particular chunk of data, it will be re-used,
even if it was in another file in an older backup generation. This way, you
don't need to worry about moving around large files, or modifying them.
* Encrypted backups, using GnuPG.
* Push or pull operation, depending on what you need. You can run Obnam on
the client, and push backups to the server, or on the server, and pull
from the client over SFTP.
Homepage: http://liw.fi/obnam/
A few months back I was wiping some old drives using a USB->SATA adapter plugged into an old Linux machine I keep around for experimenting on random things. Mostly because I could just leave it to run for however long it took. There were two drives in the machine, sda and sdb. So the drive came up as sdc.
So then I typed:
$ shred -n1 -v /dev/sda
Took me about 4 seconds to realize what I did before hitting Ctrl-C.
Then, I sighed. Considered whether I could save anything. Realized there wasn't anything on there worth saving, and reinstalled. :)
I'm usually much more cautious than that and I'm thankful it happened on a dumb test machine at home and not something important, but it was still a bummer and my first real sysadmin-type screw up. Mistakes happen, though. Even Linus once dialed his hard drive [0].
[0] https://liw.fi/linux-anecdotes/
Lars has written about his interactions with Linus before in this article: https://liw.fi/linux20/
I fondly remember these lines:
That summer, I re-connected with my fellow students from the university,
including Linus. One of the students a few years older than Linus and me,
Patrik, had a sauna in the building he lived, and he booked it once a week
for the group of us. You perverts who think the word sauna is a synonym for
brothel can stop imagining orgies: in Finland, saunas are for bathing,
medication, even meditation, not sex.
There’s a semi-famous picture of Linus, looking naked, drinking beer. The
picture was taken at Patrik’s, by a fellow student, Stina, and Linus is
wearing trousers, but it was a hot summer day, so he didn’t have his shirt
on. No orgies. Really.
See the details here about his project that he maintained in Python for years (since 2006) in Python:
https://blog.liw.fi/posts/2017/08/13/retiring_obnam/
I can really understand his:
"Obnam has not turned out well, from a maintainability point of view. It seems that every time I try to fix something, I break something else. Usually what breaks is speed or memory use: Obnam gets slower or starts using even more memory."
Also from his current post:
"I could perhaps have been more diligent in how I used Python, and more careful in how I structured my code, but that's my point: a language like Python requires so much self-discipline that at some point it gets too much."
I hate to say it but you're exhibiting bias in your post. How much time did you actually spend looking? What search terms did you use? While I'll agree that md looks easy at first, troff isn't much more difficult if you put the time into it (humans are lazy, I get it). Here's one I found in under a minute by searching for 'how to write linux man page using troff':
https://liw.fi/manpages/
and of course the official manual which has a nice command table in the beginning:
https://www.troff.org/54.pdf
Also of note: troff supports macros so the man page formatting won't be found in the troff manual because they are part of the man macro package.
Obnam uses gpg for encryption.
The only novel thing is its use of symmetric encryption keys which are
used to encrypt the data and are included in the backup repository, encrypted by your regular private gpg key. This allows giving additional gpg keys access to the backup after it has been made. http://liw.fi/obnam/encryption/
(Which is useful for eg, backing up a server. You can make a dedicated gpg key for that server, but give your personal gpg key access to the backups to restore later.)
Anyway, the generation of the symmetric encryption key is what needs an entropy source. AFAIK this is done once per repository.