Gentoo Archives: gentoo-dev

From: William Hubbs <williamh@g.o>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] usr merge
Date: Thu, 07 Apr 2016 00:45:03
Message-Id: 5705ad83.c82b620a.3b00b.2274@mx.google.com
In Reply to: Re: [gentoo-dev] usr merge by Richard Yao
1 On Wed, Apr 06, 2016 at 05:36:09PM -0400, Richard Yao wrote:
2 >
3 >
4 > >> On Apr 6, 2016, at 4:43 PM, William Hubbs <williamh@g.o> wrote:
5 > >>
6 > >>> On Wed, Apr 06, 2016 at 11:52:52AM -0400, Richard Yao wrote:
7 > >>> On 04/06/2016 10:58 AM, M. J. Everitt wrote:
8 > >>> What, if any, is the benefit of squashing /usr out of the equation? I
9 > >>> happen to have a few workstations that load their /usr off an NFS share
10 > >>> presently, with some bodgery-workarounds I did pre the udev notification
11 > >>> about initramfs's which I have never got around to implementing
12 > >>> (although I'm pretty sure I have the tools now to do, along with UUIDs
13 > >>> for boot media).
14 > >>
15 > >> The idea in Solaris is to enable atomic updates via the /usr mount
16 > >> without touching data files in /etc or temporary files in /var. Usually,
17 > >> this would be done on reboot and could be propagated to many systems
18 > >> either via /usr on NFS or ZFS send/recv.
19 > >>
20 > >> This works well on Solaris because both software versions are pegged
21 > >> (such that file formats in /etc are stable) in favor of backported fixes
22 > >> and the FHS does not change across major OS versions. The same goes for
23 > >> RHEL.
24 > >
25 > > Also, there are other benefits to the /usr merge [1].
26 >
27 > Are they worth breaking existing systems that are configured the one way we all know things will break if this is forced? If not, a USE flag would work.
28
29 Other than systems using separate /usr without initramfs (which we
30 declared broken three years ago), I'm not following what "we all know"
31 would break.
32
33 > As for those benefits, they do little for {/usr,}/sbin vs {/usr,}/bin, which is where the incompatibilities tend to live. I encountered one of these in powertop the other day (patch pending). The benefits of being able to access things from both places are somewhat exaggerated given that compatibility among systems has long required searching $PATH and likely always will.
34 >
35 > > Note, we are not
36 > > talking about squashing /usr out of the equasion, but merging /bin,
37 > > /sbin and /lib* into their counterparts in /usr and creating symlinks in
38 > > the root directory pointing to the counterparts in /usr.
39 >
40 > While one guy did the reverse (and the reverse ought to be okay for those that want to do that), no one appears to think that adopting the reverse is what is being suggested. Having this sort of clarity on whether forcing this on everyone via baselayout update, just providing the option for those who want it or some combination of the two (e.g. a long transition period in which both are supported) is being discussed would be nice though. This is not a Boolean decision.
41 >
42 > >> Gentoo systems managed this way will suffer from multiple problems:
43 > >>
44 > >> * Software updates that change the configuration file format without
45 > >> supporting the older format will break.
46 > >>
47 > >> * Software updates that change the boot scripts will break.
48 > >>
49 > >> * Future baselayout updates will not be able to touch anything outside
50 > >> of /usr and anything requiring such things be touched will break.
51 > >>
52 > >> * An update to /usr that adds new software will fail to include things
53 > >> outside of /usr, like the boot scripts and configuration files.
54 > >>
55 > >> * The package database will fall out of sync with /usr (or be broken
56 > >> period). Presumably, if you are updating this way, you should expect the
57 > >> package database to be broken.
58 > >>
59 > >> These are likely to be mostly fixable, but I do not think we have a plan
60 > >> in place to fix them right now. The general staleness of Solaris and
61 > >> RHEL handle the first 3 issues for them for free.
62 > >>
63 > >> I have not looked at the specifics of how Solaris handles the 4th, but I
64 > >> know that SMF in OpenSolaris descendents will update manifests on first
65 > >> boot into a new boot environment. That suggests to me that the Solaris
66 > >> boot scripts handle it by comparing /etc with /usr.
67 > >>
68 > >> As for the 5th, the package database is not broken in Solaris zones
69 > >> where the /usr merge is leveraged to enable easy updates. However, I do
70 > >> not know how updating all zones works when zones have independently
71 > >> installed software. It might be that the software is installed in
72 > >> /usr/local inside the zone and conflicts are the user's problem, but it
73 > >> has been so long since I used an illumos distribution (which is
74 > >> descended from OpenSolaris) that I do not remember.
75 > >
76 > > I don't think any of these issues are issues that Gentoo systems
77 > > managed like this do not already have.
78 >
79 > That is my point.
80
81 Then we agree that these issues are not regressions that the usr merge
82 would cause. They are issues possibly, but imo not relevant to whether we
83 go ahead with the /usr merge or not.
84
85 William

Attachments

File name MIME type
signature.asc application/pgp-signature