Gentoo Archives: gentoo-dev

From: Matthew Marlowe <matt@××××××××××××××××××××.com>
To: gentoo-dev@l.g.o
Subject: Re: [gentoo-dev] Opinion against /usr merge
Date: Thu, 19 Jul 2012 04:10:43
Message-Id: CAAJQwcDC12fmgNrF7y9xbc7kSVNd0WVFV_HDa+PW+VzYquJYFA@mail.gmail.com
In Reply to: Re: [gentoo-dev] Opinion against /usr merge by "Olivier Crête"
1 On Wed, Jul 18, 2012 at 7:04 PM, Olivier Crête <tester@g.o> wrote:
2 > On Wed, 2012-07-18 at 18:24 -0700, Matthew Marlowe wrote:
3 >
4 >> - It would be nice if the rootfs used a snapshot based filesystem and
5 >> if the bootloader was intelligent enough to easily allow admins to
6 >> boot to older snapshots as an expectation for any standard modern unix
7 >> system.
8 >
9 > One of the reasons to put everything in /usr is to allow using a
10 > snapshot based FS, so you can run a system where /usr is read-only and
11 > where when you can do all upgrade atomically by writing your changes to
12 > a read-write snapshot and then switch all at once. So you never have any
13 > half-upgraded package on your system.
14 >
15
16 I understand that RHEL is promoting this system management model, but
17 I'm not sure it is any way superior than other models that do not
18 require RO /usr. Many enterprises today solve the same issue via
19 automation with puppet, active traffic management via LVS/HA/Load
20 Balancers, or replace /usr snapshots with virtualization where a new
21 VM snapshot or clone is upgraded and then replaces the active VM.
22 Therefore, I'm not convinced we should promote /usr/bin and /usr/sbin
23 over /bin and /sbin. It is a point in their favor to give more
24 flexibility but the simplicity of also just removing /usr would also
25 be compelling if our goal afterall is to simplify the FHS.
26
27 >
28 >> - OK with merging / and /usr, but in that case...why not just move
29 >> everything in /usr to /...but limit /sbin to system binaries and /bin
30 >> to user ones? This would be horrible for migrations though and
31 >> possibly confuse many scripts.
32 >
33 > The idea of putting everything in /usr instead of / is that you can then
34 > make /usr read-only and you can share /usr between multiple systems,
35 > while / is read-write and contains /root and /etc.
36 >
37
38 Most enterprises that need the ability to make /usr RO for canonical
39 server configs could just as well get by with automated configuration
40 management tools (e.g. puppet) and smart hypervisors/SAN storage.
41 This allows deployment of new servers within minutes and it reflects
42 at least the true reality that a true controlled system state is a
43 snapshot of server config files, virtual hardware, and all binaries.
44 Just making /usr RO is a cheat that might work well for long lived
45 binary distributions that require major version upgrades anytime
46 software packages update their config behavior dramatically. I
47 haven't found it very helpful for source type systems like Gentoo. Of
48 course, others may disagree.
49
50 >> - NOT OK with making systemd the default init system anytime in the
51 >> next few years, it is way too immature and like most major system
52 >> software changes...probably will take much longer before it really has
53 >> the standing to propose being a new standard.
54 >
55 > I fully expect systemd to be the init system of the next iteration of
56 > RedHat Enterprise Linux, which is probably the most "enterprise" of all
57 > distributions, with the most QA and support and everything. It's not a
58 > side project of dude of his basement, it has the full support of a large
59 > team of people at RedHat. There has probably already been more testing
60 > done on systemd today than on OpenRC...
61 >
62
63 Well, we know that systemd will be in the next RHEL release - it was
64 in their recent roadmap presentation. However, that release would be
65 RHEL7 and most established servers are RHEL5 now and RHEL6 is still
66 relatively early in deployment. It will be a few years before most
67 RedHat customers can say whether systemd was a good move for RHEL.
68 And, RedHat has made changes in the past that while supported might
69 not become the default config for other distributions (e.g. SE Linux).
70 I don't see that we need to assume now that systemd will define the
71 default Linux ecosystem in the future, even if it becomes widely
72 deployed on RedHat systems..