1 |
On Fri, Dec 21, 2012 at 5:01 AM, Kevin Chadwick <ma1l1ists@××××××××.uk> wrote: |
2 |
>> On Thu, Dec 20, 2012 at 2:42 AM, Volker Armin Hemmann |
3 |
>> <volkerarmin@××××××××××.com> wrote: |
4 |
>> > with redhat's push to move everything into /usr - why not stop right there and |
5 |
>> > move everything back into /? |
6 |
>> |
7 |
>> I originally thought this way, but they actually reviewed the |
8 |
>> technical and historical merits for all the use cases and and found |
9 |
>> /usr to be superior. Straight out of the freedesktop wiki: |
10 |
>> http://www.freedesktop.org/wiki/Software/systemd/TheCaseForTheUsrMerge |
11 |
>> |
12 |
>> 0) If / and /usr are kept separate, programs in /usr can't be updated |
13 |
>> independently of programs in /, because the libraries they depend on |
14 |
>> might break compatibility. If the binaries and libraries were *all* in |
15 |
>> /usr, then the entire system's binaries would always be consistent |
16 |
>> regardless of where /usr were sourced from (config files in /etc, |
17 |
>> however, would still break). |
18 |
> |
19 |
> Complete rubbish. If something in / needs something it should be in / |
20 |
> if something is in / that isn't critical it shouldn't be there and |
21 |
> won't matter. In all other cases everything exists. If you want some |
22 |
> special feature that adds complexity to your early boot up stage |
23 |
> or single user then that should be an optional package that installs |
24 |
> into /. Similar to ssh enabled grub, it's optional. |
25 |
|
26 |
Key here being "should" be. In theory, that's what should happen. In |
27 |
practice, either the sysad or the upstream fails to keep it that way. |
28 |
Here's a quick test: |
29 |
|
30 |
$ equery belongs /lib |
31 |
shows a list of packages installing to /lib. On my system, that's a |
32 |
lot, including ncurses, readline, glibc, consolekit, and god knows |
33 |
what other "basic" libraries a lot of programs are bound to depend on. |
34 |
Wouldn't it be fun if my / filesystem got updated to a new, oh I |
35 |
dunno, glibc, and my /usr filesystem didn't know all about it? |
36 |
|
37 |
_In theory_, such programs should be independent. But to implement |
38 |
this theory, either or both the sysad and the distro needs to ensure |
39 |
that |
40 |
(1) both / and /usr get duplicate essential libraries |
41 |
(2) no programs in /usr ever depend on any libraries in / |
42 |
|
43 |
i.e., _in practice_, the / and /usr split isn't being properly |
44 |
delivered by distros anyway. And Gentoo is no exception to that. My |
45 |
/usr/lib's libraries are just symlinks to the libraries in /, so I |
46 |
can't trust a system where the binaries and libraries in both |
47 |
filesystems aren't updated _together_. |
48 |
|
49 |
> |
50 |
>> 2) If /usr were separated from /, then /usr could be mounted |
51 |
>> read-only, with / being mounted "normally". Which makes sense, as / |
52 |
>> does have bits that are meant to be read-write. |
53 |
> |
54 |
> It certainly does not. There are packages that fix dhcp. I haven't ever |
55 |
> setup a system that needed to do that. Updates get temporary |
56 |
> controlled access. |
57 |
|
58 |
You're already assuming that all the other read-write folders (/var |
59 |
and /tmp) are sent off to different filesystems. That is definitely |
60 |
good practice, but is not a given. And /etc is config files, which is |
61 |
at least "semantically" a read-write thing - and in practice ALSO |
62 |
written to by packages like *cough* *cough* networkmanager. |
63 |
|
64 |
i.e., you're comparing |
65 |
/ rw |
66 |
/usr ro |
67 |
|
68 |
to a series of bind mounts and/or extra filesystems or symlinking |
69 |
magic. Well yes, those can _still_ be done if /usr contained all the |
70 |
binaries, though. But combining the binaries and libs into /usr makes |
71 |
the simpler setup above possible. It isn't possible right now without |
72 |
some painstaking sysad work. |
73 |
|
74 |
> |
75 |
>> 3) Most software packagers write their binaries to a PREFIX defaulting |
76 |
>> to /usr/local, or /usr, as opposed to /. Determining which ones belong |
77 |
>> in / or /usr can sometimes be dependent on the distro and/or sysad. |
78 |
>> But since more of them default to /usr, if everything were in /usr |
79 |
>> it'd be a saner default. |
80 |
>> |
81 |
> |
82 |
> A concensus would be good. A right consensus is more likely to get a |
83 |
> consensus. This has no bearing on the matters at hand. |
84 |
|
85 |
/usr as the default prefix for installed packages is the "consensus" |
86 |
of the vast majority of packages out there. Why do you think this has |
87 |
no bearing on their consideration? |
88 |
|
89 |
-- |
90 |
This email is: [ ] actionable [ ] fyi [x] social |
91 |
Response needed: [ ] yes [x] up to you [ ] no |
92 |
Time-sensitive: [ ] immediate [ ] soon [x] none |