1 |
On Thu, Dec 20, 2012 at 2:42 AM, Volker Armin Hemmann |
2 |
<volkerarmin@××××××××××.com> wrote: |
3 |
> with redhat's push to move everything into /usr - why not stop right there and |
4 |
> move everything back into /? |
5 |
|
6 |
I originally thought this way, but they actually reviewed the |
7 |
technical and historical merits for all the use cases and and found |
8 |
/usr to be superior. Straight out of the freedesktop wiki: |
9 |
http://www.freedesktop.org/wiki/Software/systemd/TheCaseForTheUsrMerge |
10 |
|
11 |
0) If / and /usr are kept separate, programs in /usr can't be updated |
12 |
independently of programs in /, because the libraries they depend on |
13 |
might break compatibility. If the binaries and libraries were *all* in |
14 |
/usr, then the entire system's binaries would always be consistent |
15 |
regardless of where /usr were sourced from (config files in /etc, |
16 |
however, would still break). |
17 |
1) There is historical precedent in Unix for /usr-centric systems, |
18 |
notably Solaris. |
19 |
2) If /usr were separated from /, then /usr could be mounted |
20 |
read-only, with / being mounted "normally". Which makes sense, as / |
21 |
does have bits that are meant to be read-write. |
22 |
3) Most software packagers write their binaries to a PREFIX defaulting |
23 |
to /usr/local, or /usr, as opposed to /. Determining which ones belong |
24 |
in / or /usr can sometimes be dependent on the distro and/or sysad. |
25 |
But since more of them default to /usr, if everything were in /usr |
26 |
it'd be a saner default. |
27 |
|
28 |
(0) basically says that keeping them separate only works as intended |
29 |
if the both the sysad and the distro upstream work together for their |
30 |
shared /usr mount. In many cases, however, sysads have to do a lot of |
31 |
working around and careful planning to get /usr mounted remotely. |
32 |
(1), (2), and (3) provide advantages to mounting the binaries and |
33 |
libraries separately from the / filesystem, which mounting them as |
34 |
part of / does not provide. |