From: Duncan <1i5t5.duncan@cox.net>
To: linux-btrfs@vger.kernel.org
Subject: Re: subvols and parents - how?
Date: Thu, 10 Dec 2015 03:56:41 +0000 (UTC) [thread overview]
Message-ID: <pan$f0e4$be60fa55$99baefcb$2044c99d@cox.net> (raw)
In-Reply-To: 56687B26.7070300@gmail.com
Austin S Hemmelgarn posted on Wed, 09 Dec 2015 14:04:06 -0500 as
excerpted:
> Agreed. It's not too bad fixing a Gentoo system (as long as
> /var/lib/portage/world is still correct, you can just nuke the installed
> package database and emerge world, it'll take time, but it will get your
> system in a guaranteed consistent state).
For sufficiently loose values of "consistent", yes, as I found out by
experience. But it can be done, and I do have the experience to prove it.
What happens in practice is that while yes, as long as @world is correct
you can install to current and have all those files tracked again as
appropriate, if your package installation database is missing or out of
sync with what's actually on your filesystem(s), where the new version of
various packages will replace older files as they come across them during
the install process (subject to CONFIG_PROTECT of course, this part isn't
the problem), the problem is actually where the files of the actually
installed but untracked version differ from those of the version you're
installing.
I think the last bug I tracked down to having a stale file from an old
version still around, was nearly two years after the initial disaster and
recovery. It was some shell script (something to do with eselect IIRC)
that had changed installed bindir location between package versions, and
the bug was that due to path ordering, the stale version that hadn't been
replaced by the reinstall and wasn't removed like it normally would have
been when the old version was uninstalled, because my installed package
database was out of sync with the backup I had used, was being executed
as that bindir came earlier in the path, than the bindir for the updated
version that was in the current package.
So yes it did work and I was back in business, but I was tracing bugs
down due to stray orphan files that hadn't been cleaned up by the out of
sync installation database package uninstall, for two years!
I wouldn't exactly call that "consistent", tho it /was/ consistent
/enough/ to get back in business, if with lingering bugs to track down to
still stale orphan files for years afterward.
(FWIW, that'd be less of an issue on my own installation now, even if the
installed package database got similarly out of sync, because on my
system I'm running a unified root/usr and bin/sbin, now, with symlinks
/usr -> . and /sbin -> bin, so all normal executables ultimately end up
in /bin, and all normal libraries in /lib64, with /lib -> lib64, as
well. No-multilib so I don't have to worry about that angle. Portage
handles the symlinks just fine, tho I've filed I believe three bugs in
total due to individual ebuild scripts (1, resolved/fixed) or cmake (2,
one resolved/obsolete as the new version works, one still open, that I'm
having to work around) doing the wrong thing.)
> On something using dpkg or
> rpm though, it's got the potential to be almost impossible to recover
> from without a significant amount of low-level knowledge of the package
> manager's installation database.
--
Duncan - List replies preferred. No HTML msgs.
"Every nonfree program has a lord, a master --
and if you use the program, he is your master." Richard Stallman
next prev parent reply other threads:[~2015-12-10 3:56 UTC|newest]
Thread overview: 26+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-11-24 4:56 subvols and parents - how? Christoph Anton Mitterer
2015-11-24 8:29 ` Duncan
2015-11-24 21:25 ` Christoph Anton Mitterer
2015-11-24 21:55 ` Hugo Mills
2015-11-24 23:20 ` Christoph Anton Mitterer
2015-11-24 23:30 ` Hugo Mills
2015-11-24 23:38 ` Christoph Anton Mitterer
2015-11-27 1:02 ` Duncan
2015-12-09 4:36 ` Christoph Anton Mitterer
2015-12-09 10:53 ` Duncan
2015-12-09 19:04 ` Austin S Hemmelgarn
2015-12-10 3:56 ` Duncan [this message]
2015-12-10 12:31 ` Austin S Hemmelgarn
2015-12-12 19:58 ` Christoph Anton Mitterer
2015-11-27 2:02 ` Duncan
2015-12-09 4:38 ` Christoph Anton Mitterer
2015-12-09 11:26 ` Duncan
2015-12-10 21:13 ` subvols, ro- and bind mounts " Christoph Anton Mitterer
2015-12-10 22:36 ` S.J.
2015-12-10 23:41 ` Christoph Anton Mitterer
2015-12-11 2:32 ` Chris Murphy
2015-12-12 20:27 ` Christoph Anton Mitterer
2015-12-12 2:32 ` subvols and parents " Christoph Anton Mitterer
2015-12-12 3:07 ` Christoph Anton Mitterer
2015-12-12 10:20 ` Duncan
2015-12-09 14:49 ` Axel Burri
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='pan$f0e4$be60fa55$99baefcb$2044c99d@cox.net' \
--to=1i5t5.duncan@cox.net \
--cc=linux-btrfs@vger.kernel.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.