* [gentoo-user] USE flag 'split-usr' is now global
@ 2019-08-04 10:23 Kai Peter
2019-08-04 11:29 ` Mick
0 siblings, 1 reply; 28+ messages in thread
From: Kai Peter @ 2019-08-04 10:23 UTC (permalink / raw
To: gentoo-user
Hi,
now, upstream made the USE flag 'split-usr' global. This puts me a bit
in a state of uncertainty :(.
What is the reason or goal behind this change? I did read something
about the flag itself but it wasn't really clear to me. What does this
mean:
"Enable behavior to support maintaining /bin and /lib separately from
/usr/bin and /usr/lib"
Maybe I have overseen some documentation?
regards
Kai
--
Sent with eQmail-1.10.3 beta - a fork of djb's famous qmail
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [gentoo-user] USE flag 'split-usr' is now global
2019-08-04 10:23 [gentoo-user] USE flag 'split-usr' is now global Kai Peter
@ 2019-08-04 11:29 ` Mick
2019-08-04 17:07 ` [gentoo-user] " Ian Zimmerman
0 siblings, 1 reply; 28+ messages in thread
From: Mick @ 2019-08-04 11:29 UTC (permalink / raw
To: gentoo-user
[-- Attachment #1: Type: text/plain, Size: 939 bytes --]
On Sunday, 4 August 2019 11:23:20 BST Kai Peter wrote:
> Hi,
>
> now, upstream made the USE flag 'split-usr' global. This puts me a bit
> in a state of uncertainty :(.
>
> What is the reason or goal behind this change? I did read something
> about the flag itself but it wasn't really clear to me. What does this
> mean:
>
> "Enable behavior to support maintaining /bin and /lib separately from
> /usr/bin and /usr/lib"
>
> Maybe I have overseen some documentation?
>
> regards
> Kai
Have a look at this link, but there may be better explanations in the
interwebs:
https://www.freedesktop.org/wiki/Software/systemd/TheCaseForTheUsrMerge/
Essentially the historical reasons for having a lot of separate directories/
fs/partitions/disks are becoming obsolete and many of them are due to merge,
changing the baselayout. I assume the move to profile 17.1 to deal with the
various /lib directories was the start.
--
Regards,
Mick
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 28+ messages in thread
* [gentoo-user] Re: USE flag 'split-usr' is now global
2019-08-04 11:29 ` Mick
@ 2019-08-04 17:07 ` Ian Zimmerman
2019-08-04 18:01 ` Dale
2019-08-04 18:03 ` Mick
0 siblings, 2 replies; 28+ messages in thread
From: Ian Zimmerman @ 2019-08-04 17:07 UTC (permalink / raw
To: gentoo-user
On 2019-08-04 12:29, Mick wrote:
> https://www.freedesktop.org/wiki/Software/systemd/TheCaseForTheUsrMerge/
>
> Essentially the historical reasons for having a lot of separate
> directories/ fs/partitions/disks are becoming obsolete and many of
> them are due to merge, changing the baselayout. I assume the move to
> profile 17.1 to deal with the various /lib directories was the start.
I know about the history as it relates to Unix and Linux in general. In
fact I think I've read that article long ago. But the question is
what's up in gentoo. I suspect another potentially painful migration is
on the horizon; it would be good to know the speed we're moving toward
the horizon :-)
--
Please don't Cc: me privately on mailing lists and Usenet,
if you also post the followup to the list or newsgroup.
To reply privately _only_ on Usenet and on broken lists
which rewrite From, fetch the TXT record for no-use.mooo.com.
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [gentoo-user] Re: USE flag 'split-usr' is now global
2019-08-04 17:07 ` [gentoo-user] " Ian Zimmerman
@ 2019-08-04 18:01 ` Dale
2019-08-05 8:05 ` Kai Peter
2019-08-04 18:03 ` Mick
1 sibling, 1 reply; 28+ messages in thread
From: Dale @ 2019-08-04 18:01 UTC (permalink / raw
To: gentoo-user
Ian Zimmerman wrote:
> On 2019-08-04 12:29, Mick wrote:
>
>> https://www.freedesktop.org/wiki/Software/systemd/TheCaseForTheUsrMerge/
>>
>> Essentially the historical reasons for having a lot of separate
>> directories/ fs/partitions/disks are becoming obsolete and many of
>> them are due to merge, changing the baselayout. I assume the move to
>> profile 17.1 to deal with the various /lib directories was the start.
> I know about the history as it relates to Unix and Linux in general. In
> fact I think I've read that article long ago. But the question is
> what's up in gentoo. I suspect another potentially painful migration is
> on the horizon; it would be good to know the speed we're moving toward
> the horizon :-)
>
It was discussed on -dev in at least a couple threads I think. I sort
of followed it and my take is, when set to on, which I think it is by
default, everything stays as it is now. Could that change later on,
possibly. I suspect given the change being pretty large, if it does
there will be a news item about it . Of course, that would be discussed
in advance on -dev as well.
One way to get a heads up on this sort of thing, subscribe to -dev and
follow the threads that interest you, about upcoming changes at least.
That's why I subscribe to -dev myself and have done so for years. I
ignore a lot of it but the things that I think might affect me, I tend
to read those so as to figure out how it might affect me and can even
know the path going forward or how to work around it. Just a thought.
Dale
:-) :-)
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [gentoo-user] Re: USE flag 'split-usr' is now global
2019-08-04 17:07 ` [gentoo-user] " Ian Zimmerman
2019-08-04 18:01 ` Dale
@ 2019-08-04 18:03 ` Mick
2019-08-05 1:26 ` Grant Taylor
1 sibling, 1 reply; 28+ messages in thread
From: Mick @ 2019-08-04 18:03 UTC (permalink / raw
To: gentoo-user
[-- Attachment #1: Type: text/plain, Size: 1888 bytes --]
On Sunday, 4 August 2019 18:07:41 BST Ian Zimmerman wrote:
> On 2019-08-04 12:29, Mick wrote:
> > https://www.freedesktop.org/wiki/Software/systemd/TheCaseForTheUsrMerge/
> >
> > Essentially the historical reasons for having a lot of separate
> > directories/ fs/partitions/disks are becoming obsolete and many of
> > them are due to merge, changing the baselayout. I assume the move to
> > profile 17.1 to deal with the various /lib directories was the start.
>
> I know about the history as it relates to Unix and Linux in general. In
> fact I think I've read that article long ago. But the question is
> what's up in gentoo. I suspect another potentially painful migration is
> on the horizon; it would be good to know the speed we're moving toward
> the horizon :-)
I don't know more about this, but it seems we are being dragged towards a
systemd inspired future, whether the majority of the gentoo community of users
want it or not. In my view system binaries should not be thrown in the same
pot as user binaries and keeping the two separate makes good sense for those
of us who do not spin up 200 cloned VMs a second on a RHL corporate farm. I'm
not arguing against systemd, or merging all directories under an equivalent of
a $WINDOWS/ path, but it seems to me a gentoo system architecture should
retain the freedom of choice and flexibility it has been famous for.
Retrograde steps like being forced to use an initramfs just for retaining a
separate /usr partition, should not be the way gentoo evolves. Setting up a
USE flag to accommodate such changes would be more agreeable for many gentoo
users, rather than changing the default set up.
NOTE: Please do not start a flamewar, I'm just expressing my opinion as a long
term gentoo user who prefers to use gentoo for personal computing, instead of
other binary systemd based distros.
--
Regards,
Mick
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [gentoo-user] Re: USE flag 'split-usr' is now global
2019-08-04 18:03 ` Mick
@ 2019-08-05 1:26 ` Grant Taylor
2019-08-05 10:49 ` Mick
0 siblings, 1 reply; 28+ messages in thread
From: Grant Taylor @ 2019-08-05 1:26 UTC (permalink / raw
To: gentoo-user
On 8/4/19 12:03 PM, Mick wrote:
> I don't know more about this, but it seems we are being dragged towards
> a systemd inspired future, whether the majority of the gentoo community
> of users want it or not.
How is the /usr merger /directly/ related to systemd?
> In my view system binaries should not be thrown in the same pot as user
> binaries and keeping the two separate makes good sense for those of us
> who do not spin up 200 cloned VMs a second on a RHL corporate farm.
What are you using to differentiate system binaries and user binaries?
Are you using the /usr directory? Or the bin vs sbin directories?
Please elaborate on your working understanding. I ask because I want
correctly understand you and speak to what you're talking about.
Especially considering that there will still be the bin vs sbin directories.
> I'm not arguing against systemd, or merging all directories under an
> equivalent of a $WINDOWS/ path, but it seems to me a gentoo system
> architecture should retain the freedom of choice and flexibility it
> has been famous for.
I agree that the user choice is *EXTREMELY* *IMPORTANT*!
> Retrograde steps like being forced to use an initramfs just for
> retaining a separate /usr partition, should not be the way gentoo
> evolves.
Agreed.
I am curious why /you/ want (the ability to have) a separate /usr file
system. I know that I want to retain the ability. That being said,
I've not needed it in quite a while.
I am also using a bit of a hack that I think could be (re)used to allow
/usr being a separate file system without /requiring/ an initramfs /
initrd. (I'll reply in another email with details to avoid polluting
this thread.)
> Setting up a USE flag to accommodate such changes would be more
> agreeable for many gentoo users, rather than changing the default
> set up.
Please forgive my ignorance. What was the default before 'split-user'
was made global? I assume that 'split-user' wasn't a default. So, by
my limited understanding, 1) it was / still is a USE flag and 2) has
chosen the more historically compatible as the new default.
> NOTE: Please do not start a flamewar, I'm just expressing my opinion
> as a long term gentoo user who prefers to use gentoo for personal
> computing, instead of other binary systemd based distros.
I'm not taking this as a flame. I'm taking it as an honest and open
discussion to learn what others are doing / thinking.
For the record, I'm largely okay with /bin being a sym-link to /usr/bin.
However I do want /sbin to remain local to the root file system. I've
supported multiple installs where /usr was a separate file system and
needed the minimal system (not an initramfs nor an initrd) to fix things
at times. I'm also quite happy without an initramfs / initrd.
--
Grant. . . .
unix || die
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [gentoo-user] Re: USE flag 'split-usr' is now global
2019-08-04 18:01 ` Dale
@ 2019-08-05 8:05 ` Kai Peter
0 siblings, 0 replies; 28+ messages in thread
From: Kai Peter @ 2019-08-05 8:05 UTC (permalink / raw
To: gentoo-user
On 2019-08-04 20:01, Dale wrote:
>
> It was discussed on -dev in at least a couple threads I think. I sort
Thanks for that good hint. I did browse through the archives.
--
Sent with eQmail-1.10.3 beta - a fork of djb's famous qmail
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [gentoo-user] Re: USE flag 'split-usr' is now global
2019-08-05 1:26 ` Grant Taylor
@ 2019-08-05 10:49 ` Mick
2019-08-05 16:17 ` Grant Taylor
2019-08-06 0:06 ` Ian Zimmerman
0 siblings, 2 replies; 28+ messages in thread
From: Mick @ 2019-08-05 10:49 UTC (permalink / raw
To: gentoo-user
[-- Attachment #1: Type: text/plain, Size: 8163 bytes --]
On Monday, 5 August 2019 02:26:11 BST Grant Taylor wrote:
> On 8/4/19 12:03 PM, Mick wrote:
> > I don't know more about this, but it seems we are being dragged towards
> > a systemd inspired future, whether the majority of the gentoo community
> > of users want it or not.
>
> How is the /usr merger /directly/ related to systemd?
It is being /assertively/ promoted persistently by the same devs.
> > In my view system binaries should not be thrown in the same pot as user
> > binaries and keeping the two separate makes good sense for those of us
> > who do not spin up 200 cloned VMs a second on a RHL corporate farm.
>
> What are you using to differentiate system binaries and user binaries?
> Are you using the /usr directory? Or the bin vs sbin directories?
>
> Please elaborate on your working understanding. I ask because I want
> correctly understand you and speak to what you're talking about.
> Especially considering that there will still be the bin vs sbin directories.
Sure, but for how much longer? You need to check the direction of travel here
and how long before a particular dev priesthood which imposes initrd, systemd
and a single partition image, or whatever suits their mass market use cases
agenda, foists their choice upon *all* users.
I think following the lib directories merge, the discussion is now about
merging:
/bin -> usr/bin
/sbin -> usr/bin
/usr/sbin -> bin
Since you asked this is my understanding, which may need correction by more
learned contributors, because some of this has happened well before I sat in
front of a keyboard. Back in late 60s, early 70s, disks became larger as UNIX
was getting bigger. This initially led to /bin and /sbin split across
different physical devices and soon the same happened for /home, et al.
This historical fact of UNIX evolution to use multiple and subsequently larger
storage devices is being conflated with the purpose of these directories, what
they were created for back then and what their use should be today. The
passage of time has introduced shared libs, which necessitate certain
directories being on the same fs. Back then everything was statically linked
so fs could be more independent.
Whether the *initial* directory split across different fs was introduced
because UNIX had put on weight and disks became larger is of secondary
importance IMHO. As a user I tend to focus on the current usefulness of
different *choices* and understand it is preferable to retain them
architecturally as choices to also suit other users' preferences and use
cases. I'm talking about an acceptance of Linux and Gentoo in particular as a
meta-distribution being created for the benefit of a community of users which
is wider than my single interests and needs, but also wider than individual
developers agendas and preferences. That said devs are of course free to
develop what they like, want and prefer, but if they cannot/will not serve the
wider needs of the project and its community, then it may suit them to look
for a new project.
As the world moved on and Linux was created, the split fs concept grew legs
and different distros made their own choices how different directories/fs were
created and their permanence between reboots, e.g. /tmp, /var/tmp, /usr/tmp
etc. This created the known Linux fs architecture variability which could
well suited the particular distro communities who introduced it, but I
understand why it would not suit cookie-cutter thin provisioned VM images.
This brings my understanding to today's purpose of having different /bin, /
sbin, /usr/bin and /usr/sbin directories as per FHS:
/bin should contain binaries that need to be available in single user mode for
all users, like ls, cp, cat.
/sbin is for system binaries, like fsck, route, init, halt.
/usr/bin is for non-essential binaries for all users, your everyday desktop
applications.
/usr/sbin is for non-essential system binaries like daemons, network
utilities, some fs utilities.
The above FHS logic questions why you would need /usr to be mounted in order
to boot the OS, or why using an initrd to achieve it is what we should be
doing in gentoo a meta-distribution, just because all binary distros do so.
> > I'm not arguing against systemd, or merging all directories under an
> > equivalent of a $WINDOWS/ path, but it seems to me a gentoo system
> > architecture should retain the freedom of choice and flexibility it
> > has been famous for.
>
> I agree that the user choice is *EXTREMELY* *IMPORTANT*!
Yes, this is what *community* projects are constitutionally put together for.
Otherwise we all have our own pet projects, but (I hope) we don't try to foist
them on our friends and neighbors.
> > Retrograde steps like being forced to use an initramfs just for
> > retaining a separate /usr partition, should not be the way gentoo
> > evolves.
>
> Agreed.
>
> I am curious why /you/ want (the ability to have) a separate /usr file
> system. I know that I want to retain the ability. That being said,
> I've not needed it in quite a while.
For the good reasons presented above as per FHS I want to retain the ability
of a separate /usr and I would much prefer it as it was before on its own
partition and without an initrd. The /usr fs can be mounted as read only for
an additional layer of security. I used to have /usr on a separate partition,
but since initrd became a necessity to keep /usr separate I moved it under /.
I have used initrds over the years and some of my binary systems have it by
design, but it is not a design choice I want to adopt. I would still prefer /
usr being on its own partition and without an initrd whether I use it today or
not. I mean, if I want to use initrd, systemd, binary log files and whatever
else, there are a tonne of binary distros out there to choose from. The
*main* reason I use Gentoo is because of the user choice and flexibility it
offers, something binary distros cannot provide.
> I am also using a bit of a hack that I think could be (re)used to allow
> /usr being a separate file system without /requiring/ an initramfs /
> initrd. (I'll reply in another email with details to avoid polluting
> this thread.)
>
> > Setting up a USE flag to accommodate such changes would be more
> > agreeable for many gentoo users, rather than changing the default
> > set up.
>
> Please forgive my ignorance. What was the default before 'split-user'
> was made global? I assume that 'split-user' wasn't a default. So, by
> my limited understanding, 1) it was / still is a USE flag and 2) has
> chosen the more historically compatible as the new default.
I don't know when it kicked in, because I don't follow the dev mailing list,
but I assume it became necessary when the drive to align with RHL design
principles started being implemented?
https://packages.gentoo.org/useflags/split-usr
> > NOTE: Please do not start a flamewar, I'm just expressing my opinion
> > as a long term gentoo user who prefers to use gentoo for personal
> > computing, instead of other binary systemd based distros.
>
> I'm not taking this as a flame. I'm taking it as an honest and open
> discussion to learn what others are doing / thinking.
>
> For the record, I'm largely okay with /bin being a sym-link to /usr/bin.
> However I do want /sbin to remain local to the root file system. I've
> supported multiple installs where /usr was a separate file system and
> needed the minimal system (not an initramfs nor an initrd) to fix things
> at times. I'm also quite happy without an initramfs / initrd.
I'd rather keep things as they have been/were until and unless the usefulness
of a change weighs heavier than keeping them the same and the community at
large agrees with it after being presented with the factual arguments for and
against. By all means let's merge /bin into /usr/bin, but not if the caveat
is we now *must* have an initrd to be able to boot and the only reason to
change is so that gentoo becomes aligned with the systemd project. Let's
review any changes on their merits *before* they are implemented.
--
Regards,
Mick
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [gentoo-user] Re: USE flag 'split-usr' is now global
2019-08-05 10:49 ` Mick
@ 2019-08-05 16:17 ` Grant Taylor
2019-08-05 23:34 ` Mick
2019-08-06 0:06 ` Ian Zimmerman
1 sibling, 1 reply; 28+ messages in thread
From: Grant Taylor @ 2019-08-05 16:17 UTC (permalink / raw
To: gentoo-user
On 8/5/19 4:49 AM, Mick wrote:
> It is being /assertively/ promoted persistently by the same devs.
Okay.
Just because it's the same developers promoting both does not mean that
any logic / evidence they might provide in support of /usr merge is
inherently wrong. We should judge the merits of their logic / evidence
on it's own, independent of what we think of their other work. (Read:
Don't turn this technical conversation into a character discussion.)
> Sure, but for how much longer?
/me looks around for something that he must have missed.
I didn't see anything about combining bin and sbin.
Let's focus on the /usr merger discussion /first/. Then we can address
bin vs sbin.
> You need to check the direction of travel here and how long before a
> particular dev priesthood which imposes initrd, systemd and a single
> partition image, or whatever suits their mass market use cases agenda,
> foists their choice upon *all* users.
Again, focus on technical, this is not a character discussion.
I also don't think they will be successful in foisting their ideas on
*all* users. I'm quite confident that there will always be some random
distro that does not subscribe to them. Maybe the usable percentage
will be quite small. But any distro that doesn't tow the line means
that not /all/ distros follow the agenda. (Yes, I'm saying distro
instead of user, but I think you understand either way.)
I personally don't like the idea of /{,s}bin being a sym-link to
/usr/\1. I like the idea that / (root) and /usr are (or can be)
separate file systems. That being said, I've not actually /needed/ them
to be separate file systems in quite a while. I may have /wanted/ them
to be separate so that I could utilize different file system types for /
(root) and /usr.
Looking back at all the systems that I've administered for the last ~20
years, almost all of them did use a single file system for / (root) and
/usr. Sure, they likely had other file systems as well; /var, /tmp, and
/home most likely.
Given how Unix / Linux is changing—evolving—where and how it's being
used, I can see how there is no longer any need for the separate file
systems. I think this lack of need combined with the additional
complexity is evolving into a desire for a single file system for /
(root) and /usr. Since I can't point to any specific use case—in about
90 seconds—that a single file system would break, I'm pausing and thinking.
So, since we're discussing it, I invite you, and anyone else, to list
pros and / or cons for either methodology. I'm quite interested in
learning what others think.
I will warn you that I'll likely respond with counter points and / or
workarounds. I will also expect that you will respond in kind to my
response.
10 point
20 counterpoint
30 counter counterpoint
40 goto 10
> I think following the lib directories merge, the discussion is now about
> merging:
>
> /bin -> /usr/bin
> /sbin -> /usr/bin
> /usr/sbin -> /usr/bin
Let's fully qualify those directories. ;-)
I've not seen /any/ discussion about merging bin and sbin. Perhaps I've
just missed it. I'm going to ignore the merging of bin and sbin for the
time being.
> Since you asked this is my understanding, which may need correction by more
> learned contributors, because some of this has happened well before I sat in
> front of a keyboard. Back in late 60s, early 70s, disks became larger as UNIX
> was getting bigger.
ACK
> This initially led to /bin and /sbin split across different physical
> devices and soon the same happened for /home, et al.
That's different than the history that I've heard.
Originally, everything was on one single disk.
Then a second disk was added and /usr was created. User home
directories were moved to /usr (hence it's name), and many of the same
directory structures were replicated from / (root) to /usr. (Likewise
with /usr/local on other Unixes / Linuxes later.)
Then a third disk was added and /home was created. User home
directories were moved to /home.
So the /bin vs /sbin split that you're referring to doesn't jive with
the history that I've seen / read / heard time and time again.
My understanding is that /sbin was originally intended for binaries
needed to bring the system up. (I view the "s" in "sbin" as meaning
"system (binaries)".)
Similarly, my understanding is that /bin was originally intended for
general use binaries that were used by more people.
Note: The same understanding applies to the directories wherever they
are located, / (root), /usr, and /usr/local.
But, I am ~> we are, ignoring bin vs sbin for much of this message and
focusing on /usr merge. ;-)
> This historical fact of UNIX evolution to use multiple and subsequently larger
> storage devices is being conflated with the purpose of these directories, what
> they were created for back then and what their use should be today.
That sounds good. But please put some details behind it. What do you
think the purpose of the directories was? (Please provide your
counterpart to what I outlined above.)
> The passage of time has introduced shared libs, which necessitate
> certain directories being on the same fs.
Nope. I can't agree to that.
Nothing about shared libraries necessitates that they and the binaries
that use them /need/ to be on the same file system.
Yes, they need to be administered in concert with each other. But they
can be in any directory (assuming proper configuration) on any
accessible file system.
We've had binaries in /usr or /usr/local or /opt or NFS mounts that rely
on libraries in /lib. They have been working across file system
boundaries for decades.
> Back then everything was statically linked so fs could be more
> independent.
Yes, shared libraries and their associated dynamic, non-static, binaries
have complicated things. But they don't necessitate that the binaries
and associated libraries be on the same file system. ;-)
> Whether the *initial* directory split across different fs was introduced
> because UNIX had put on weight and disks became larger is of secondary
> importance IMHO.
How do you justify what was the /primary/ reason for the split as
secondarily important?
Or are you diverging from history and now going into what you would like
to see in the future?
> As a user I tend to focus on the current usefulness of different
> *choices* and understand it is preferable to retain them
> architecturally as choices to also suit other users' preferences and
> use cases.
Sure.
> I'm talking about an acceptance of Linux and Gentoo in particular
> as a meta-distribution being created for the benefit of a community
> of users which is wider than my single interests and needs, but also
> wider than individual developers agendas and preferences.
Okay.
> That said devs are of course free to develop what they like, want
> and prefer, but if they cannot/will not serve the wider needs of
> the project and its community, then it may suit them to look for a
> new project.
Be careful with that statement.
Here's how that played out in my head:
"If you (Developer) can't / won't follow the Gentoo way, then you need
to go elsewhere."
To me, that's antithetical to Unix's open methodology of "I made this,
if you can use it, great!". It also feels rather Debian ish to me.
"No, we don't accept your licensing for Mozilla Firefox, so we will fork
it and make our own program based on your code."
Please be careful. If that's what you /mean/ to imply, well.... If
it's not, be mindful of how someone that you're telling to change might
receive it.
> As the world moved on and Linux was created, the split fs concept
> grew legs and different distros made their own choices how different
> directories/fs were created and their permanence between reboots,
> e.g. /tmp, /var/tmp, /usr/tmp etc.> This created the known Linux
> fs architecture variability which could well suited the particular
> distro communities who introduced it,
This is /far/ from a Linux thing. It may (now) be more prevolent and /
or visible in Linux. But this very thing has existed in Unix for the
last 40+ years.
> but I understand why it would not suit cookie-cutter thin provisioned
> VM images.
Please enlighten me why this might not suite cookie-cutter thin
provisioned (virtual) machines.
Note: Virtual or not makes effectively no difference.
Unix and Linux distros have been automating the deployment of multiple
partitions ~> file systems for 30+ years. This is nothing new. We do
and have had the tools to do this for a long time.
The only thing that I see changing is people are asking /why/ there are
separate partitions ~> file systems. More specifically, they are asking
why they can't be one partition ~> file system. I think asking those
questions is a very good thing.
Note: Asking the question indicates that someone is paying attention
and thinking. The act of asking the question and listening ~> thinking
does /not/ mean that things are going to change.
Remember, thin provisioning is possible on physical systems connected to
SAN too.
> This brings my understanding to today's purpose of having different
> /bin, / sbin, /usr/bin and /usr/sbin directories as per FHS:
>
> /bin should contain binaries that need to be available in single user
> mode for all users, like ls, cp, cat.
>
> /sbin is for system binaries, like fsck, route, init, halt.
>
> /usr/bin is for non-essential binaries for all users, your everyday
> desktop applications.
>
> /usr/sbin is for non-essential system binaries like daemons, network
> utilities, some fs utilities.
>
> The above FHS logic questions why you would need /usr to be mounted
> in order to boot the OS,
I don't think it questions anything. On the contrary, I think it calls
out that /usr should /not/ be needed to boot the system.
> or why using an initrd to achieve it is what we should be doing in
> gentoo a meta-distribution, just because all binary distros do so.
I think that initramfs / initrd is a bit of a hack to make it simpler
for distributions to boot without any knowledge of the hardware that
they are booting on.
I personally have never used an initramfs / initrd on any of my Gentoo
systems. I have a kernel with the necessary drivers built in and I pass
the root device as a command line option.
Admittedly, almost all of my systems are not using anything like iSCSI
or multi-path for the / (root) file system. Though I think it's
particularly likely fair to say that the vast majority of systems
qualify there too. VMs and containers are even more likely to qualify too.
> Yes, this is what *community* projects are constitutionally put
> together for. Otherwise we all have our own pet projects, but (I hope)
> we don't try to foist them on our friends and neighbors.
I'm afraid that some people think of a community as their walled garden
and that everybody inside of it must do the same thing.
I think of a community as people that have some overlapping ideas and
differing ideas that benefit from each other, including the different
perspective. I certainly hope that these types of communities don't
shun / exclude outsiders simply because they think or do something
differently.
Aside: I'm watching Old Usenet (currently from '89) where people are
publishing what they have done that has worked for them. The spirit is
akin to "Here's something. If you can take it, adapt it, and use it,
then please do so."
> For the good reasons presented above as per FHS I want to retain the
> ability of a separate /usr and I would much prefer it as it was before
> on its own partition and without an initrd.
I'm not convinced that /bin & /sbin /need/ to be separate from /usr/bin
& /usr/sbin. Yes, they certainly can be. FHS speaks to why /it/ (as
opposed to a different file system hierarchy standard) does what it does.
Your /preference/ is exactly that, a /preference/. You are obviously
free to have your own preferences. But a /preference/ does not directly
translate to a /need/. ;-)
> The /usr fs can be mounted as read only for an additional layer of
> security. I used to have /usr on a separate partition, but since
> initrd became a necessity to keep /usr separate I moved it under /.
I've not installed a Gentoo system onto a separate /usr file system in
quite a while. So I can't speak with any current authority as to if
it's possible or not with /Gentoo/.
I do know for a fact that it is quite possible to install other
/distributions/ onto separate file systems /without/ an initramfs / initrd.
> I have used initrds over the years and some of my binary systems
> have it by design, but it is not a design choice I want to adopt.
My opinion is that an initramfs / initrd is a hack used by distributions
to make their lives easier.
I remember the days when Slackware had a HUGE kernel that included an
extremely large number of drivers /in/ /the/ /kernel/ so that it could
boot and see the vast majority of hardware. Then you installed what you
needed where you wanted it, all without an initramfs / initrd. One of
the first things that was frequently done was rebuilding a kernel that
only had the drivers that you needed.
About the only thing that I'm aware of that /necessitates/ an initramfs
/ initrd is complicated storage like iSCSI and / or multi-path SAN
attachments for the / (root) file system. Maybe for 3rd party binary
only drivers for local storage. Beyond that, I'm not aware of anything
that can't be done from the / (root) file system.
I guess disk encryption would also be another thing. Though I've not
/seen/ the / (root) file system encrypted on servers. I have read about
some people doing it on VPSs. (My VPS has an unencrypted root with a
LUKS encrypted data partition.)
> I would still prefer / usr being on its own partition and without
> an initrd whether I use it today or not. I mean, if I want to use
> initrd, systemd, binary log files and whatever else, there are a
> tonne of binary distros out there to choose from. The *main* reason
> I use Gentoo is because of the user choice and flexibility it offers,
> something binary distros cannot provide.
You are free to have any preference you want. As are we all.
Sometimes we have to decide if we want to allow our preference to make
decisions for us by excluding options that don't honor our preference.
> I don't know when it kicked in, because I don't follow the dev mailing
> list, but I assume it became necessary when the drive to align with
> RHL design principles started being implemented?
>
> https://packages.gentoo.org/useflags/split-usr
Sadly, that doesn't give any context, much less history. I assume
that's contained in a mailing list archive somewhere.
> I'd rather keep things as they have been/were until and unless the
> usefulness of a change weighs heavier than keeping them the same
Fair enough.
That mirrors my logic process on many things too.
Aside: I questioned the need to remove Token Ring support from
3.<something> kernels. I question the need to remove floppy drive
support now.
> the community at large agrees with it after being presented with the
> factual arguments for and against.
Sure.
> By all means let's merge /bin into /usr/bin, but not if the caveat is
> we now *must* have an initrd to be able to boot
Agreed.
> and the only reason to change is so that gentoo becomes aligned with
> the systemd project.
I don't think alignment with another project is a valid reason. I am
willing to entertain discussions about the ideas why other projects have
done something and assess if we want to make a similar change
independent of the project that we are observing make the same change.
Read:
· I /don't/ want to start cooking my food because my neighbor is doing it.
· I /do/ want to start cooking my food because I think that cooked
food is tastier than uncooked food.
> Let's review any changes on their merits *before* they are implemented.
Sure.
--
Grant. . . .
unix || die
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [gentoo-user] Re: USE flag 'split-usr' is now global
2019-08-05 16:17 ` Grant Taylor
@ 2019-08-05 23:34 ` Mick
2019-08-06 2:37 ` Grant Taylor
0 siblings, 1 reply; 28+ messages in thread
From: Mick @ 2019-08-05 23:34 UTC (permalink / raw
To: gentoo-user
[-- Attachment #1: Type: text/plain, Size: 15852 bytes --]
On Monday, 5 August 2019 17:17:53 BST Grant Taylor wrote:
> On 8/5/19 4:49 AM, Mick wrote:
> Just because it's the same developers promoting both does not mean that
> any logic / evidence they might provide in support of /usr merge is
> inherently wrong. We should judge the merits of their logic / evidence
> on it's own, independent of what we think of their other work. (Read:
> Don't turn this technical conversation into a character discussion.)
I am not entertaining ad hominem attacks on whoever may have been involved in
such decisions. Only the impacts of such decisions on gentoo in particular.
> > Sure, but for how much longer?
>
> /me looks around for something that he must have missed.
I probably used an incorrect figure of speech and caused confusion. We're
only discussing the merge of /bin and /sbin to /usr/bin and /usr/sbin (it
seems to be more nuanced than this though - see gentoo forums thread further
down). However, the takeover of Linux in general by systemd architectural
changes is a fact. It is also a fact gentoo has been changed a lot to
accommodate systemd. I have set USE="-systemd" but still end up with service
unit files on my system, unless I take additional steps to remove/mask them.
At some point udev/dbus/what-ever will be irrevocably linked to systemd, just
because its devs do not care for alternative architectures. Some packages
require systemd components, like (e)logind, and so on. Some years ago eudev
was forked from systemd with a stated aim at the time to also restore the
borked separate /usr without an initrd - did this ever happen? There is a
direction of travel and it has been influenced heavily by systemd design
decisions.
> I didn't see anything about combining bin and sbin.
There isn't any - I haven't seen it either. Sorry if I confused the point.
> Let's focus on the /usr merger discussion /first/. Then we can address
> bin vs sbin.
>
> > You need to check the direction of travel here and how long before a
> > particular dev priesthood which imposes initrd, systemd and a single
> > partition image, or whatever suits their mass market use cases agenda,
> > foists their choice upon *all* users.
>
> Again, focus on technical, this is not a character discussion.
>
> I also don't think they will be successful in foisting their ideas on
> *all* users. I'm quite confident that there will always be some random
> distro that does not subscribe to them. Maybe the usable percentage
> will be quite small. But any distro that doesn't tow the line means
> that not /all/ distros follow the agenda. (Yes, I'm saying distro
> instead of user, but I think you understand either way.)
>
> I personally don't like the idea of /{,s}bin being a sym-link to
> /usr/\1. I like the idea that / (root) and /usr are (or can be)
> separate file systems. That being said, I've not actually /needed/ them
> to be separate file systems in quite a while. I may have /wanted/ them
> to be separate so that I could utilize different file system types for /
> (root) and /usr.
Yes, same here, but this is primarily because since gentoo's change in this
area I moved away from using a separate /usr fs to avoid having to use an
initrd.
> Looking back at all the systems that I've administered for the last ~20
> years, almost all of them did use a single file system for / (root) and
> /usr. Sure, they likely had other file systems as well; /var, /tmp, and
> /home most likely.
>
> Given how Unix / Linux is changing—evolving—where and how it's being
> used, I can see how there is no longer any need for the separate file
> systems. I think this lack of need combined with the additional
> complexity is evolving into a desire for a single file system for /
> (root) and /usr. Since I can't point to any specific use case—in about
> 90 seconds—that a single file system would break, I'm pausing and thinking.
>
> So, since we're discussing it, I invite you, and anyone else, to list
> pros and / or cons for either methodology. I'm quite interested in
> learning what others think.
I have given one benefit of keeping a separate fs for /usr, mounting it read
only for daily use. Or you could have a shared NFS partition across various
client PCs, facilitating system duplication. You could also have /usr on a
faster disk for performance reasons.
A benefit of /var being separate (or wherever www/, logs/, mail/ and databases
are stored) is so that if it runs out of space the remaining system is not
brought to its knees.
Ditto for /home, with the addition of encrypting user's data/partition and
mounting it with nosetuid (to prevent the users from running their own secret
root shell).
So at least two reasons, helping to manage (simply) access rights and space
are valid enough reasons IMHO to not remove a separate /usr option from
gentoo, but I'm interested to hear what others think. One might argue you
still retain the option of using a separate /usr, but with the new added
restriction of being obliged to engage in boot time gymnastics with an initrd,
LVM, your mount-bind solution and whatever else. However, workarounds which
add complication (remove simplicity and flexibility) to fix something after
breaking it, is what all this argument is about. Such changes remove choice.
> I will warn you that I'll likely respond with counter points and / or
> workarounds. I will also expect that you will respond in kind to my
> response.
>
> 10 point
> 20 counterpoint
> 30 counter counterpoint
> 40 goto 10
I'll try not to mess up the thread. :-)
> > I think following the lib directories merge, the discussion is now about
> >
> > merging:
> > /bin -> /usr/bin
> > /sbin -> /usr/bin
> > /usr/sbin -> /usr/bin
>
> Let's fully qualify those directories. ;-)
>
> I've not seen /any/ discussion about merging bin and sbin. Perhaps I've
> just missed it. I'm going to ignore the merging of bin and sbin for the
> time being.
Please do, the systemd merge refers merging /bin to /usr/bin and /sbin to /
usr/sbin.
https://fedoraproject.org/wiki/Features/UsrMove
However, this gentoo thread mentions further merging, which made my head spin:
https://forums.gentoo.org/viewtopic-p-7902764.html
> So the /bin vs /sbin split that you're referring to doesn't jive with
> the history that I've seen / read / heard time and time again.
You're probably correct. In any case, the initial move of subdirectories of
the / fs to different physical disks and hence different fs' was for storage
space reasons.
> My understanding is that /sbin was originally intended for binaries
> needed to bring the system up. (I view the "s" in "sbin" as meaning
> "system (binaries)".)
Yes.
> Similarly, my understanding is that /bin was originally intended for
> general use binaries that were used by more people.
Yes, for plain users.
> Note: The same understanding applies to the directories wherever they
> are located, / (root), /usr, and /usr/local.
Yes.
> > This historical fact of UNIX evolution to use multiple and subsequently
> > larger storage devices is being conflated with the purpose of these
> > directories, what they were created for back then and what their use
> > should be today.
> That sounds good. But please put some details behind it. What do you
> think the purpose of the directories was? (Please provide your
> counterpart to what I outlined above.)
>
> > The passage of time has introduced shared libs, which necessitate
> > certain directories being on the same fs.
>
> Nope. I can't agree to that.
>
> Nothing about shared libraries necessitates that they and the binaries
> that use them /need/ to be on the same file system.
OK, I'll rephrase this. Certain binaries require corresponding libs to be
accessible at the same time and /libs under /usr mushroomed to allow a
separate /usr partition to function.
> Yes, they need to be administered in concert with each other. But they
> can be in any directory (assuming proper configuration) on any
> accessible file system.
>
> We've had binaries in /usr or /usr/local or /opt or NFS mounts that rely
> on libraries in /lib. They have been working across file system
> boundaries for decades.
>
> > Back then everything was statically linked so fs could be more
> > independent.
>
> Yes, shared libraries and their associated dynamic, non-static, binaries
> have complicated things. But they don't necessitate that the binaries
> and associated libraries be on the same file system. ;-)
You are right, they just require to be accessible at the same time, which
during boot time when some fs are not yet mounted (e.g. /usr) could cause
breakage.
> > Whether the *initial* directory split across different fs was introduced
> > because UNIX had put on weight and disks became larger is of secondary
> > importance IMHO.
>
> How do you justify what was the /primary/ reason for the split as
> secondarily important?
It is secondarily important today, although at the time disk space was the
primary reason for migrating fs away from / partition.
> Or are you diverging from history and now going into what you would like
> to see in the future?
What I was trying to say is, today storage space is usually a smaller and
cheaper problem than it was at the early stages of UNIX and therefore *today*
it is likely different purposes could be listed as having a higher priority
for requiring different fs' to be deployed. Discovering my flexible gentoo
system won't boot without an initrd, just because binary distros use initrd by
default, should not be the logic for limiting architectural choices, on
gentoo. We should pause, discuss and (hopefully) agree.
> > That said devs are of course free to develop what they like, want
> > and prefer, but if they cannot/will not serve the wider needs of
> > the project and its community, then it may suit them to look for a
> > new project.
>
> Be careful with that statement.
>
> Here's how that played out in my head:
>
> "If you (Developer) can't / won't follow the Gentoo way, then you need
> to go elsewhere."
The Gentoo Trustees should do just that, i.e. ensure the project follows the
Gentoo way. No.1 Gentoo Principle:
"Gentoo provides choices."
https://wiki.gentoo.org/wiki/Foundation:Main_Page
If some dev, i.e. a gentoo community member who is contributing code, limits
choices for users, then it follows his/her code does not fit into Gentoo and
therefore Gentoo *should* not adopt it. If s/he is a project lead and pushes
changes against the Principles, then technical decisions on such matters can
be taken by the Gentoo Council, but it is ultimately down to the Trustees to
straighten out deviations from the Gentoo Principles. I've written this as if
it is black and white, but of course there are various shades of grey in-
between. Either way, making one wrong decision at at time could end up with
Gentoo gradually mutating into a systemd solution, which has already
restricted choice (udev -> usr -> initrd).
> To me, that's antithetical to Unix's open methodology of "I made this,
> if you can use it, great!". It also feels rather Debian ish to me.
> "No, we don't accept your licensing for Mozilla Firefox, so we will fork
> it and make our own program based on your code."
I did not mean it this way. Code is gratefully received, but let's not change
Gentoo because any code was received. The shoe has to fit the foot.
> > As the world moved on and Linux was created, the split fs concept
> > grew legs and different distros made their own choices how different
> > directories/fs were created and their permanence between reboots,
> > e.g. /tmp, /var/tmp, /usr/tmp etc.> This created the known Linux
> > fs architecture variability which could well suited the particular
> > distro communities who introduced it,
>
> This is /far/ from a Linux thing. It may (now) be more prevolent and /
> or visible in Linux. But this very thing has existed in Unix for the
> last 40+ years.
>
> > but I understand why it would not suit cookie-cutter thin provisioned
> > VM images.
>
> Please enlighten me why this might not suite cookie-cutter thin
> provisioned (virtual) machines.
Because RHL devs have particular use cases in mind. For them /usr on a
separate fs without an initrd is a "custom setup".
> Note: Virtual or not makes effectively no difference.
Agreed.
> Unix and Linux distros have been automating the deployment of multiple
> partitions ~> file systems for 30+ years. This is nothing new. We do
> and have had the tools to do this for a long time.
>
> The only thing that I see changing is people are asking /why/ there are
> separate partitions ~> file systems. More specifically, they are asking
> why they can't be one partition ~> file system. I think asking those
> questions is a very good thing.
Sure. Investigating opportunities to improve Linux is laudable.
> Note: Asking the question indicates that someone is paying attention
> and thinking. The act of asking the question and listening ~> thinking
> does /not/ mean that things are going to change.
Right, until udev won't work without /usr being mounted and then an initrd is
a must.
> Remember, thin provisioning is possible on physical systems connected to
> SAN too.
>
> > This brings my understanding to today's purpose of having different
> > /bin, / sbin, /usr/bin and /usr/sbin directories as per FHS:
> >
> > /bin should contain binaries that need to be available in single user
> > mode for all users, like ls, cp, cat.
> >
> > /sbin is for system binaries, like fsck, route, init, halt.
> >
> > /usr/bin is for non-essential binaries for all users, your everyday
> > desktop applications.
> >
> > /usr/sbin is for non-essential system binaries like daemons, network
> > utilities, some fs utilities.
> >
> > The above FHS logic questions why you would need /usr to be mounted
> > in order to boot the OS,
>
> I don't think it questions anything. On the contrary, I think it calls
> out that /usr should /not/ be needed to boot the system.
Yes, until we started deviating from it, because someone offered us code.
> I'm afraid that some people think of a community as their walled garden
> and that everybody inside of it must do the same thing.
Gentoo is by principle more accommodative than binary distributions and I'd
rather it remained so.
> I think of a community as people that have some overlapping ideas and
> differing ideas that benefit from each other, including the different
> perspective. I certainly hope that these types of communities don't
> shun / exclude outsiders simply because they think or do something
> differently.
Agreed. I'm not advocating stifling discussion or innovation.
> Aside: I'm watching Old Usenet (currently from '89) where people are
> publishing what they have done that has worked for them. The spirit is
> akin to "Here's something. If you can take it, adapt it, and use it,
> then please do so."
Right, which is rather different from:
We've outsourced code development to RHL devs and we'll use whatever they feed
us, even if this changes our OS to a disagreeable degree.
At the same time I know devs are a scarce resource and good devs even scarcer,
so there will always be a need to avoid reinventing the wheel and use what
upstream provide. I just hope the Gentoo principles hold a while longer.
--
Regards,
Mick
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 28+ messages in thread
* [gentoo-user] Re: USE flag 'split-usr' is now global
2019-08-05 10:49 ` Mick
2019-08-05 16:17 ` Grant Taylor
@ 2019-08-06 0:06 ` Ian Zimmerman
1 sibling, 0 replies; 28+ messages in thread
From: Ian Zimmerman @ 2019-08-06 0:06 UTC (permalink / raw
To: gentoo-user
If I correctly remember the post by Lennart that spawned this entire
debate, there were and are genuine technical reasons why a separate /usr
filesystem doesn't really work anymore. Perhaps fixable _if_ all package
developers (other than init) paid attention but that's not going to
happen.
Now of course there is some leap from the above to making /bin and
/usr/bin the same _directory_. AFAIK there is no good reason for that
other than making it easier to write initscripts (or units). I'm not
going to opine how good a reason is that :P
Myself, I just have /usr on the rootfs. I don't have an initramfs; when
I need a "rescue" environment I boot from a USB stick, not necessarily
gentoo. Devuan seems to be the best for this kind of thing nowadays.
--
Please don't Cc: me privately on mailing lists and Usenet,
if you also post the followup to the list or newsgroup.
To reply privately _only_ on Usenet and on broken lists
which rewrite From, fetch the TXT record for no-use.mooo.com.
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [gentoo-user] Re: USE flag 'split-usr' is now global
2019-08-05 23:34 ` Mick
@ 2019-08-06 2:37 ` Grant Taylor
2019-08-06 15:54 ` Canek Peláez Valdés
2019-08-07 10:48 ` Neil Bothwick
0 siblings, 2 replies; 28+ messages in thread
From: Grant Taylor @ 2019-08-06 2:37 UTC (permalink / raw
To: gentoo-user
On 8/5/19 5:34 PM, Mick wrote:
> I am not entertaining ad hominem attacks on whoever may have been
> involved in such decisions. Only the impacts of such decisions on
> gentoo in particular.
:-)
> I probably used an incorrect figure of speech and caused confusion.
> We're only discussing the merge of /bin and /sbin to /usr/bin and
> /usr/sbin (it seems to be more nuanced than this though - see gentoo
> forums thread further down).
I started to read to be able to be informed when drafting my reply.
Emphasis on "started". The first comment to the quote makes me think
that it's going to be a lively discussion. I'll read it later as time
permits and respond accordingly.
> However, the takeover of Linux in general by systemd architectural
> changes is a fact. It is also a fact gentoo has been changed a lot
> to accommodate systemd. I have set USE="-systemd" but still end
> up with service unit files on my system, unless I take additional
> steps to remove/mask them. At some point udev/dbus/what-ever will be
> irrevocably linked to systemd, just because its devs do not care for
> alternative architectures. Some packages require systemd components,
> like (e)logind, and so on. Some years ago eudev was forked from
> systemd with a stated aim at the time to also restore the borked
> separate /usr without an initrd - did this ever happen? There is
> a direction of travel and it has been influenced heavily by systemd
> design decisions.
ACK
I think I could draw analogies with XFree86 vs Xorg vs Wayland. In the
beginning, nobody wants to actively stop development of the old method.
But in the end, nobody wants to devote any effort to keep bring the old
method forward. Thus the old method gets left behind.
I'm not saying it's correct, or not, just that it is the nature of things.
> There isn't any - I haven't seen it either. Sorry if I confused
> the point.
Actually, the quote in the first forum post you linked to has the following:
/sbin->usr/bin
/usr/sbin->bin
That takes four directories (/bin, /sbin, /usr/bin, /usr/sbin) and
combines them into two (/sbin & /usr/bin and /bin & /usr/sbin) but it
also crosses bin & sbin as well as going opposite directions with the
links. — Yuck!!!
> Yes, same here, but this is primarily because since gentoo's change in
> this area I moved away from using a separate /usr fs to avoid having
> to use an initrd.
ACK
> I have given one benefit of keeping a separate fs for /usr, mounting
> it read only for daily use. Or you could have a shared NFS partition
> across various client PCs, facilitating system duplication. You could
> also have /usr on a faster disk for performance reasons.
ACK
> A benefit of /var being separate (or wherever www/, logs/, mail/
> and databases are stored) is so that if it runs out of space the
> remaining system is not brought to its knees.
ACK
> Ditto for /home, with the addition of encrypting user's data/partition
> and mounting it with nosetuid (to prevent the users from running
> their own secret root shell).
ACK
> So at least two reasons, helping to manage (simply) access rights and
> space are valid enough reasons IMHO to not remove a separate /usr
> option from gentoo, but I'm interested to hear what others think.
Agreed..
> One might argue you still retain the option of using a separate /usr,
> but with the new added restriction of being obliged to engage in
> boot time gymnastics with an initrd, LVM, your mount-bind solution
> and whatever else.
I don't have any current first hand experience with /usr being a
separate file system without using an initramfs / initrd. So I'm going
to have to take what you, and others, say on faith that it can't
/currently/ be done. But I've got to say, that I find that idea
disturbing and highly suspicious.
I'd be curious for pointers to bugs about this if you have them handy.
Please don't look, I'll dig later if I'm sufficiently motivated.
> However, workarounds which add complication (remove simplicity and
> flexibility) to fix something after breaking it, is what all this
> argument is about. Such changes remove choice.
Ya. It's sort of like painting yourself into a corner because one (or
more) too many bad decisions were made in the past. I'd much rather
admit that a bad decision was made, undo it, and move forward again with
new knowledge. Sadly, IMHO not enough people do that.
> I'll try not to mess up the thread. :-)
:-D
I'll try as well. But I'm betting that we're both human.
> Please do, the systemd merge refers merging /bin to /usr/bin and
> /sbin to / usr/sbin.
>
> https://fedoraproject.org/wiki/Features/UsrMove
>
> However, this gentoo thread mentions further merging, which made my
> head spin:
>
> https://forums.gentoo.org/viewtopic-p-7902764.html
Ya. I need to read that thread in detail.
The following bit concerns me. I do hope that it's a typo.
/sbin->usr/bin
/usr/sbin->bin
> You're probably correct. In any case, the initial move of
> subdirectories of the / fs to different physical disks and hence
> different fs' was for storage space reasons.
Agreed.
> Yes, for plain users.
I think it's for /all/ users, not just plain (non-root) users, because
root will also want commands in /bin & /usr/bin for various things.
I think of it more as non-root users don't /need/ the contents of /sbin
& /usr/sbin for the vast majority of what they do.
> OK, I'll rephrase this. Certain binaries require corresponding libs
> to be accessible at the same time and /libs under /usr mushroomed to
> allow a separate /usr partition to function.
Agreed.
> You are right, they just require to be accessible at the same time,
> which during boot time when some fs are not yet mounted (e.g. /usr)
> could cause breakage.
Yep.
I have historically considered what's on the / (root) file system to be
what's required to boot-strap the system. Once the system has been
booted, then all typical file systems are accessible.
> It is secondarily important today, although at the time disk space
> was the primary reason for migrating fs away from / partition.
Okay. That makes more sense. Thank you for clarifying.
> What I was trying to say is, today storage space is usually a smaller
> and cheaper problem than it was at the early stages of UNIX and
> therefore *today* it is likely different purposes could be listed as
> having a higher priority for requiring different fs' to be deployed.
Fair enough.
> Discovering my flexible gentoo system won't boot without an initrd,
> just because binary distros use initrd by default, should not be the
> logic for limiting architectural choices, on gentoo. We should pause,
> discuss and (hopefully) agree.
Agreed.
> The Gentoo Trustees should do just that, i.e. ensure the project
> follows the Gentoo way. No.1 Gentoo Principle:
>
> "Gentoo provides choices."
>
> https://wiki.gentoo.org/wiki/Foundation:Main_Page
>
> If some dev, i.e. a gentoo community member who is contributing code,
> limits choices for users, then it follows his/her code does not fit
> into Gentoo and therefore Gentoo *should* not adopt it.
I feel like there is an important distinction between what you have now
said and what I meant with what you quoted.
IMHO there is a big difference in the Gentoo community deciding (through
due process) that the community does not want to include the developers
code into the base portage.
Conversely, I was originally meaning something along the lines of "you
don't follow the Gentoo methodology, therefore you are forbidden from
even applying to the community for inclusion."
> If s/he is a project lead and pushes changes against the Principles,
> then technical decisions on such matters can be taken by the Gentoo
> Council, but it is ultimately down to the Trustees to straighten
> out deviations from the Gentoo Principles.
Oy vey!
> I've written this as if it is black and white, but of course there
> are various shades of grey in- between.
*nod*nod*
> Either way, making one wrong decision at at time could end up with
> Gentoo gradually mutating into a systemd solution, which has already
> restricted choice (udev -> usr -> initrd).
I don't want to agree, but your logic is correct.
> I did not mean it this way. Code is gratefully received, but let's
> not change Gentoo because any code was received. The shoe has to
> fit the foot.
Agreed.
Sometimes that means taking 95% of the code and modifying 5% of it to
fit the Gentoo methodology. ;-)
> Because RHL devs have particular use cases in mind. For them /usr
> on a separate fs without an initrd is a "custom setup".
Yet RHEL has Kickstart and many different ways to automate such "custom
setups".
Has RHEL gotten /that/ short sighted that they think there are no longer
people that do anything but click next a bunch of times and accepting
the default?
*HEAVYsigh*
Nevermind. Don't answer that.
> Sure. Investigating opportunities to improve Linux is laudable.
Very well said.
> Right, until udev won't work without /usr being mounted and then an
> initrd is a must.
I need to do some research.
> Yes, until we started deviating from it, because someone offered
> us code.
Is any distro following FHS even remotely faithfully any more? I
thought most mainstream distros had moved on about ten years ago.
> Gentoo is by principle more accommodative than binary distributions
> and I'd rather it remained so.
ACK
> Agreed. I'm not advocating stifling discussion or innovation.
:-)
> Right, which is rather different from:
>
> We've outsourced code development to RHL devs and we'll use whatever
> they feed us, even if this changes our OS to a disagreeable degree.
:-/
> At the same time I know devs are a scarce resource and good devs
> even scarcer, so there will always be a need to avoid reinventing
> the wheel and use what upstream provide. I just hope the Gentoo
> principles hold a while longer.
Maybe it's my Slackware roots showing. But I want to believe that it's
possible to judiciously configure and compile software to work on just
about any platform. (Assuming that the requisite version of libraries
are somewhere on the system.)
--
Grant. . . .
unix || die
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [gentoo-user] Re: USE flag 'split-usr' is now global
2019-08-06 2:37 ` Grant Taylor
@ 2019-08-06 15:54 ` Canek Peláez Valdés
2019-08-06 16:28 ` Rich Freeman
2019-08-06 22:54 ` Grant Taylor
2019-08-07 10:48 ` Neil Bothwick
1 sibling, 2 replies; 28+ messages in thread
From: Canek Peláez Valdés @ 2019-08-06 15:54 UTC (permalink / raw
To: gentoo-user
[-- Attachment #1: Type: text/plain, Size: 1552 bytes --]
On Mon, Aug 5, 2019 at 9:38 PM Grant Taylor <
gtaylor@gentoo.tnetconsulting.net> wrote:
[...]
> I don't have any current first hand experience with /usr being a
> separate file system without using an initramfs / initrd. So I'm going
> to have to take what you, and others, say on faith that it can't
> /currently/ be done. But I've got to say, that I find that idea
> disturbing and highly suspicious.
If it's computable it can be done, of course. Therefore it can be done,
currently. I don't think nobody has said it absolutely cannot be done.
The thing is:
1. How much work implies to get it done.
2. Who is gonna do said work.
The answer to 1 is "a lot", since (as someone mentioned in the thread) it
involves changing not only the init (nevermind systemd; *ALL* init
systems), but all applications that may require to use binaries in /usr
before it's mounted.
The answer to 2 is, effectively, "nobody", since it requires a big
coordinated effort, stepping into the toes of several projects,
significantly augmenting their code complexity for a corner case[1] that
can be trivially be solved with an initramfs, which it just works.
Arguing against this trivial (and IMHO, elegant) solution is tilting at
windmills. Specially if it is for ideological reasons instead of technical
ones.
Regards.
[1] I firmly believe that's the situation nowadays.
--
Dr. Canek Peláez Valdés
Profesor de Carrera Asociado C
Departamento de Matemáticas
Facultad de Ciencias
Universidad Nacional Autónoma de México
[-- Attachment #2: Type: text/html, Size: 1917 bytes --]
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [gentoo-user] Re: USE flag 'split-usr' is now global
2019-08-06 15:54 ` Canek Peláez Valdés
@ 2019-08-06 16:28 ` Rich Freeman
2019-08-06 23:39 ` Ian Zimmerman
2019-08-06 23:41 ` Grant Taylor
2019-08-06 22:54 ` Grant Taylor
1 sibling, 2 replies; 28+ messages in thread
From: Rich Freeman @ 2019-08-06 16:28 UTC (permalink / raw
To: gentoo-user
On Tue, Aug 6, 2019 at 11:54 AM Canek Peláez Valdés <caneko@gmail.com> wrote:
>
> Arguing against this trivial (and IMHO, elegant) solution is tilting at windmills. Specially if it is for ideological reasons instead of technical ones.
>
++
Some of the solutions I've seen tossed out in this thread are more
complex than just building your own initramfs from scratch.
An initramfs is just a userspace bootloader that runs on top of linux.
Nobody has any problem with conventional bootloaders, and if you want
to do anything with one of those you have to muck around in low-level
C or assembly.
There has been talk of gathering up all the stuff you need from /usr
to bootstap everything, and then adding some scripting to mount
everything. The proposals have been to shove all that in / somewhere
(perhaps even in /bin or /sbin). If instead you just stick it all in
a cpio archive you basically have an initramfs, and you don't need to
have cruft all over your filesystem to do it. There are already
configurable and modular solutions like dracut which do a really nice
job of building one, and they make your bootstrapping process
infinitely flexible.
If you want root to be a zip file hosted on a webserver somewhere that
isn't a problem. If you want root to be a rar file on a gpg-encrypted
attachment to a message stored on some IMAP server, you could do that
too. To make all that work you can just script it in bash using
regular userspace tools like curl or fetchmail, without any need to go
mucking around with lower-level code. Then once your root filesystem
is mounted all that bootstrapping code just deletes itself and the
system operates as if it was never there (strictly speaking this isn't
required but this is usually how it is done).
I doubt we'll see a /usr merge anytime soon, or any huge rush to break
a separate /usr completely without an initramfs. However, there are
already use cases known where a separate /usr can cause problems
without either an initramfs or some kind of early-boot shell script
(there have already been solutions tossed out for that which are much
simpler than the ones in this thread). The biggest example I've heard
is bluetooth keyboards - that was what made most of the zealots give
up on supporting anything that could possibly be needed for
bootstrapping being in /, as bluetooth has a bunch of deps and at that
point you might as well shove gnome in /bin.
So, for the forseeable future your system probably won't break if you
are using a separate /usr, but if it does the policy has been
established for a long time that nobody is obligated to fix it (nor
are they prohibited from doing so).
Really, though, you should take the time to appreciate an initramfs
whether you decide to use one or not. They're a really elegant
solution to the problem. Sometimes I think that half the objection is
due to the fact that they use cpio which is a bit obscure - if they
were tarballs people would be tearing them apart and playing with them
more.
--
Rich
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [gentoo-user] Re: USE flag 'split-usr' is now global
2019-08-06 15:54 ` Canek Peláez Valdés
2019-08-06 16:28 ` Rich Freeman
@ 2019-08-06 22:54 ` Grant Taylor
2019-08-06 23:05 ` Canek Peláez Valdés
1 sibling, 1 reply; 28+ messages in thread
From: Grant Taylor @ 2019-08-06 22:54 UTC (permalink / raw
To: gentoo-user
On 8/6/19 9:54 AM, Canek Peláez Valdés wrote:
> If it's computable it can be done, of course. Therefore it can be done,
> currently. I don't think nobody has said it absolutely cannot be done.
>.<
So it sounds like it's a question of /how/ compatible / possible it is.
It seems as if there is enough incompatibility / problems that multiple
people are comfortable saying that it can't be done on some level.
> The thing is:
>
> 1. How much work implies to get it done.
> 2. Who is gonna do said work.
>
> The answer to 1 is "a lot", since (as someone mentioned in the thread)
> it involves changing not only the init (nevermind systemd; *ALL* init
> systems), but all applications that may require to use binaries in /usr
> before it's mounted.
>
> The answer to 2 is, effectively, "nobody", since it requires a big
> coordinated effort, stepping into the toes of several projects,
> significantly augmenting their code complexity for a corner case[1] that
> can be trivially be solved with an initramfs, which it just works.
I don't currently feel like I can give a proper response to this.
1) I don't have the time to lab this and try things.
2) I don't want to further hijack this thread and start discussing what
precisely is and is not broken.
3) I question — from a place of ignorance — just how much effort there
is for #1.
> Arguing against this trivial (and IMHO, elegant) solution is tilting at
> windmills. Specially if it is for ideological reasons instead of
> technical ones.
Please clarify what "this trivial solution" is. Are you referring to
initramfs / initrd or the 'split-user' USE flag?
--
Grant. . . .
unix || die
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [gentoo-user] Re: USE flag 'split-usr' is now global
2019-08-06 22:54 ` Grant Taylor
@ 2019-08-06 23:05 ` Canek Peláez Valdés
0 siblings, 0 replies; 28+ messages in thread
From: Canek Peláez Valdés @ 2019-08-06 23:05 UTC (permalink / raw
To: gentoo-user
[-- Attachment #1: Type: text/plain, Size: 659 bytes --]
On Tue, Aug 6, 2019 at 5:54 PM Grant Taylor <
gtaylor@gentoo.tnetconsulting.net> wrote:
[...]
> > Arguing against this trivial (and IMHO, elegant) solution is tilting at
> > windmills. Specially if it is for ideological reasons instead of
> > technical ones.
>
> Please clarify what "this trivial solution" is. Are you referring to
> initramfs / initrd or the 'split-user' USE flag?
The trivial solution (IMO) is to use an initramfs. Rich gave a much more
elaborated answer.
Regards.
--
Dr. Canek Peláez Valdés
Profesor de Carrera Asociado C
Departamento de Matemáticas
Facultad de Ciencias
Universidad Nacional Autónoma de México
[-- Attachment #2: Type: text/html, Size: 818 bytes --]
^ permalink raw reply [flat|nested] 28+ messages in thread
* [gentoo-user] Re: USE flag 'split-usr' is now global
2019-08-06 16:28 ` Rich Freeman
@ 2019-08-06 23:39 ` Ian Zimmerman
2019-08-07 0:14 ` Rich Freeman
2019-08-06 23:41 ` Grant Taylor
1 sibling, 1 reply; 28+ messages in thread
From: Ian Zimmerman @ 2019-08-06 23:39 UTC (permalink / raw
To: gentoo-user
On 2019-08-06 12:28, Rich Freeman wrote:
> > Arguing against this trivial (and IMHO, elegant) solution is tilting
> > at windmills. Specially if it is for ideological reasons instead of
> > technical ones.
> Some of the solutions I've seen tossed out in this thread are more
> complex than just building your own initramfs from scratch.
>
> An initramfs is just a userspace bootloader that runs on top of linux.
> Nobody has any problem with conventional bootloaders, and if you want
> to do anything with one of those you have to muck around in low-level
> C or assembly.
There is a difference, and that difference is the reason I dislike
initramfs, not one of the other possible reasons you hypothesize. The
difference is that real Unix processes (not just kernel threads and not
just PID 1) survive from the initramfs stage into the "real Unix"
stage. It's like being able to trace matter back before the Big Bang.
--
Please don't Cc: me privately on mailing lists and Usenet,
if you also post the followup to the list or newsgroup.
To reply privately _only_ on Usenet and on broken lists
which rewrite From, fetch the TXT record for no-use.mooo.com.
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [gentoo-user] Re: USE flag 'split-usr' is now global
2019-08-06 16:28 ` Rich Freeman
2019-08-06 23:39 ` Ian Zimmerman
@ 2019-08-06 23:41 ` Grant Taylor
2019-08-07 0:31 ` Rich Freeman
1 sibling, 1 reply; 28+ messages in thread
From: Grant Taylor @ 2019-08-06 23:41 UTC (permalink / raw
To: gentoo-user
On 8/6/19 10:28 AM, Rich Freeman wrote:
> An initramfs is just a userspace bootloader that runs on top of linux.
I disagree.
To me:
· A boot loader is something that boots / executes a kernel with
various parameters.
· An initramfs / initrd (concept) is the micro installation that runs
under the kernel that was booted (by the boot loader).
The initramfs / initrd micro installation does the following:
1) fulfills prerequisites (e.g. loads requisite drivers, initializes
networking for and discovers storage, decrypts block devices)
2) mounts root (and some other) file systems
3) launches additional init scripts.
None of those steps include booting / executing an alternate kernel.
Remember that the contents of an initramfs / initrd is a micro
instillation that simply includes the minimum number of things to do
steps 1–3 above.
The initrd is literally an image of a block device with a root file
system on it that includes the minimum number of things to do steps 1–3
above.
The initramfs is a CPIO archive of the minimum number of things to do
steps 1–3 above which get extracted to a temporary location (usually a
ram disk).
Both an initrd and an initramfs are a micro installation for the purpose
of initializing the main installation. They are not a boot loader.
> Nobody has any problem with conventional bootloaders, and if you want
> to do anything with one of those you have to muck around in low-level
> C or assembly.
That's because a boot loader, e.g. GRUB, lilo, loadlin, do something
different and operate at a lower level than system init scripts.
> There has been talk of gathering up all the stuff you need from
> /usr to bootstap everything, and then adding some scripting to mount
> everything. The proposals have been to shove all that in / somewhere
> (perhaps even in /bin or /sbin). If instead you just stick it all in
> a cpio archive you basically have an initramfs,
Not basically. That /is/ what an initramfs / initrd contains.
> and you don't need to have cruft all over your filesystem to do it.
Actually yes you do need that cruft.
Let's back up and talk about what that cruft is.
It's the minimum libraries and binaries required to:
1) Requisite libraries
- C library
- other similar / minimal / unavoidable libraries
2) Requisite binaries
- fsck
- mount
- networking utilites (for iSCSI / NFS / etc.)
- other similar / minimal / unavoidable binaries
3) Scripts to bring the rest of the system up
- minimal init scripts to go from a post-kernel-execution (what
was traditionally /sbin/init) to launching second stage init scripts
To me, all of these things are going to exist on the main installation
/anyway/. There is going to be minimal, if any, difference between the
version put in the initramfs / initrd and what's in the main / (root).
So, to me, what you're calling "cruft" is core system files that are
going to exist anyway.
If anything, having an initramfs / initrd means that you're going to
have an additional copy of said core system files in a slightly
different format (initramfs / initrd) that's not usable by the main system.
> There are already configurable and modular solutions like dracut which
> do a really nice job of building one,
Yes. We've had many different tools in the last 28 years of Linux and
longer for Unix for making the management of the boot process simpler.
It comes down to loading the kernel from something and starting the
kernel with proper parameters (that's the boot loader's job) and
starting something (traditionally /sbin/init) from some storage somewhere.
> and they make your bootstrapping process infinitely flexible.
Nope. I don't agree.
There have been many things that I've wanted to do in the past 20 years
that initramfs / initrd aren't flexible enough to do.
But adding an init script that calls tools on the root file system is
infinitely more flexible. I'm not restricted to doing things that
dracut (et al.) know how to do.
If I can boot the kernel, point it at a root disk, and launch an init
system, I can do anything I want with the system.
Let me say it this way. If I can put together commands to do something,
I can get thee system to do it on boot. I don't have to wait for dracut
to be updated to support the next wiz-bang feature.
> If you want root to be a zip file hosted on a webserver somewhere
> that isn't a problem. If you want root to be a rar file on a
> gpg-encrypted attachment to a message stored on some IMAP server,
> you could do that too. To make all that work you can just script it
> in bash using regular userspace tools like curl or fetchmail, without
> any need to go mucking around with lower-level code. Then once your
> root filesystem is mounted all that bootstrapping code just deletes
> itself and the system operates as if it was never there (strictly
> speaking this isn't required but this is usually how it is done).
You need /something/ to be your starting root file system. For most
servers / workstations / VMs / containers, that's a local directory
structure.
Sadly, I think people have thrust additional (IMHO) largely unnecessary
complexity into the init process just to be able to support more exotic
installations. Then, they have said "We want to be consistent in how we
boot, so we need to use this more complex thing everywhere." To which,
many greybeards have responded "I don't need nor want that on my simple
server."
If you /actually/ /need/ a micro installation to make your main
installation available, then go for it. But if you don't /actually/
/need/ a micro installation, well Occam's Razor / Parsimony.
> I doubt we'll see a /usr merge anytime soon, or any huge rush to
> break a separate /usr completely without an initramfs.
Okay.
> However, there are already use cases known where a separate /usr can
> cause problems without either an initramfs or some kind of early-boot
> shell script (there have already been solutions tossed out for that
> which are much simpler than the ones in this thread).
How does the "early-boot shell script" that you speak of differ from an
init-script?
> The biggest example I've heard is bluetooth keyboards - that was what
> made most of the zealots give up on supporting anything that could
> possibly be needed for bootstrapping being in /, as bluetooth has a
> bunch of deps and at that point you might as well shove gnome in /bin.
If you want to burden your init system with supporting things like
BlueTooth, that's your choice. I sure as hell wouldn't do that.
> So, for the forseeable future your system probably won't break if
> you are using a separate /usr, but if it does the policy has been
> established for a long time that nobody is obligated to fix it (nor
> are they prohibited from doing so).
~chuckle~
> Really, though, you should take the time to appreciate an initramfs
> whether you decide to use one or not.
You seem to be assuming that people /don't/ appreciate an initramfs /
initrd. When for me personally, I do understand and appreciate what an
initramfs / initrd does. Enough so that I know that the systems that I
run don't /need/ one.
> They're a really elegant solution to the problem.
I wouldn't use the words "elegant" or "solution". "kludge" comes to mind.
> Sometimes I think that half the objection is due to the fact that
> they use cpio which is a bit obscure
You are free to think that. I'm free to disagree with what you think.
> if they were tarballs people would be tearing them apart and playing
> with them more.
I know many people that have played with them (initramfs and / or
initrd). Many of whom have looked at what they do and realized that
they don't actually /need/ them to boot their system. So they choose to
not use them, thereby reducing unnecessary complexity in the boot process.
--
Grant. . . .
unix || die
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [gentoo-user] Re: USE flag 'split-usr' is now global
2019-08-06 23:39 ` Ian Zimmerman
@ 2019-08-07 0:14 ` Rich Freeman
0 siblings, 0 replies; 28+ messages in thread
From: Rich Freeman @ 2019-08-07 0:14 UTC (permalink / raw
To: gentoo-user
On Tue, Aug 6, 2019 at 7:39 PM Ian Zimmerman <itz@very.loosely.org> wrote:
>
> On 2019-08-06 12:28, Rich Freeman wrote:
>
> > > Arguing against this trivial (and IMHO, elegant) solution is tilting
> > > at windmills. Specially if it is for ideological reasons instead of
> > > technical ones.
>
> > Some of the solutions I've seen tossed out in this thread are more
> > complex than just building your own initramfs from scratch.
> >
> > An initramfs is just a userspace bootloader that runs on top of linux.
> > Nobody has any problem with conventional bootloaders, and if you want
> > to do anything with one of those you have to muck around in low-level
> > C or assembly.
>
> There is a difference, and that difference is the reason I dislike
> initramfs, not one of the other possible reasons you hypothesize. The
> difference is that real Unix processes (not just kernel threads and not
> just PID 1) survive from the initramfs stage into the "real Unix"
> stage. It's like being able to trace matter back before the Big Bang.
They only persist if you allow them to. Most implementations I've
seen don't leave anything behind.
Typically an initramfs will unlink everything inside, kill any stray
processes (if it even forks anything in the first place), and then
will exec the new init from the previous init. That starts up init as
PID 1 with nothing else running, and no trace of the initramfs
remaining.
But, sure, you can stick a fork bomb in an initramfs and have it
create 10GB of junk in the ramfs as well so that you boot up a
crippled system if you really want to.
Unless something has changed the kernel is actually built with an
empty initramfs built-in by default which loads no matter what. So,
the framework of an initramfs is always there, and the only thing that
changes is whether it does anything.
--
Rich
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [gentoo-user] Re: USE flag 'split-usr' is now global
2019-08-06 23:41 ` Grant Taylor
@ 2019-08-07 0:31 ` Rich Freeman
2019-08-07 10:11 ` Mick
2019-08-08 3:56 ` Grant Taylor
0 siblings, 2 replies; 28+ messages in thread
From: Rich Freeman @ 2019-08-07 0:31 UTC (permalink / raw
To: gentoo-user
On Tue, Aug 6, 2019 at 7:41 PM Grant Taylor
<gtaylor@gentoo.tnetconsulting.net> wrote:
>
> On 8/6/19 10:28 AM, Rich Freeman wrote:
> > An initramfs is just a userspace bootloader that runs on top of linux.
>
> I disagree.
>
> To me:
>
> · A boot loader is something that boots / executes a kernel with
> various parameters.
> · An initramfs / initrd (concept) is the micro installation that runs
> under the kernel that was booted (by the boot loader).
Bootloaders are just programs that run other programs, ultimately. We
can argue all day about what kinds of programs count as each. But,
there is no point arguing definitions.
> The initramfs / initrd micro installation does the following:
>
> 1) fulfills prerequisites (e.g. loads requisite drivers, initializes
> networking for and discovers storage, decrypts block devices)
> 2) mounts root (and some other) file systems
> 3) launches additional init scripts.
So, an initramfs doesn't actually have to do ANY of those things,
though typically it does.
> None of those steps include booting / executing an alternate kernel.
Nothing prevents an initramfs from booting an alternate kernel
actually, though if it does it will need its own root filesystem
initialized one way or another (which could be an initramfs).
Linux bootstrapping linux is basically the whole premise behind coreboot.
>
> > and you don't need to have cruft all over your filesystem to do it.
>
> Actually yes you do need that cruft.
Sure, but you don't need it ALL OVER YOUR FILESYSTEM. Some of the
proposed solutions in this thread involved sticking stuff in /bin and
so on. An initramfs is nicely bundled up in a single file.
> If anything, having an initramfs / initrd means that you're going to
> have an additional copy of said core system files in a slightly
> different format (initramfs / initrd) that's not usable by the main system.
Absolutely true, which means it won't interfere with the main system,
as opposed to sticking it in /bin or somewhere where it might.
> > and they make your bootstrapping process infinitely flexible.
>
> Nope. I don't agree.
>
> There have been many things that I've wanted to do in the past 20 years
> that initramfs / initrd aren't flexible enough to do.
Such as?
It is a linux userspace. It can literally do anything.
> But adding an init script that calls tools on the root file system is
> infinitely more flexible. I'm not restricted to doing things that
> dracut (et al.) know how to do.
You don't need to use dracut (et al) to have an initramfs.
In fact, you could create your super root filesystem that does all the
fancy stuff you claim you can't do with an initramfs, then create a
cpio archive of that root filesystem, and now you have an initramfs
which does the job.
> If I can boot the kernel, point it at a root disk, and launch an init
> system, I can do anything I want with the system.
Sure, but only if the kernel can find that disk without any userspace
code. What if that disk is on the other side of an ssh tunnel?
> Let me say it this way. If I can put together commands to do something,
> I can get thee system to do it on boot. I don't have to wait for dracut
> to be updated to support the next wiz-bang feature.
If you know the commands to do something, why would you have to wait
for somebody else to implement them?
>
> > If you want root to be a zip file hosted on a webserver somewhere
> > that isn't a problem. If you want root to be a rar file on a
> > gpg-encrypted attachment to a message stored on some IMAP server,
> > you could do that too. To make all that work you can just script it
> > in bash using regular userspace tools like curl or fetchmail, without
> > any need to go mucking around with lower-level code. Then once your
> > root filesystem is mounted all that bootstrapping code just deletes
> > itself and the system operates as if it was never there (strictly
> > speaking this isn't required but this is usually how it is done).
>
> You need /something/ to be your starting root file system. For most
> servers / workstations / VMs / containers, that's a local directory
> structure.
Actually, for most of these the initramfs is the starting root
filesystem (just about all linux server installs use one). Usually it
just mounts a simple filesystem on a local disk as root and then
pivots.
However, an initramfs frees you up from the limitation that it be
something that can be passed directly on the command line.
> Sadly, I think people have thrust additional (IMHO) largely unnecessary
> complexity into the init process just to be able to support more exotic
> installations. Then, they have said "We want to be consistent in how we
> boot, so we need to use this more complex thing everywhere." To which,
> many greybeards have responded "I don't need nor want that on my simple
> server."
Initramfs is popular because it is way more flexible:
1. You can build a fully modular kernel so that you can use the same
kernel on every system but not be loading countless drivers for
hardware most systems don't use, while still being certain of being
able to boot any particular system.
2. You have more access to labels/uuids/etc for finding the root
filesystem so that when one of your hard drive fails the kernel
doesn't just dumbly use the next one in sequence, assuming they're
even always identified in the same order.
3. You can use "exotic" installations like iscsi and so on, which
seems pretty useful in an enterprise setting.
>
> If you /actually/ /need/ a micro installation to make your main
> installation available, then go for it. But if you don't /actually/
> /need/ a micro installation, well Occam's Razor / Parsimony.
Except then you're tailoring your bootloader to individual systems.
Most sysadmins will prefer the Ubuntu/RHEL/etc approach where the same
kernel/bootloader/etc works everywhere, vs tailoring their boot
process to every individual host.
> > They're a really elegant solution to the problem.
>
> I wouldn't use the words "elegant" or "solution". "kludge" comes to mind.
What could be more elegant? It minimizes the complexity of the
kernel, which is why Linus generally prohibits the kernel from having
any more advanced root mounting logic, and why pretty much every Linux
system out there uses one.
--
Rich
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [gentoo-user] Re: USE flag 'split-usr' is now global
2019-08-07 0:31 ` Rich Freeman
@ 2019-08-07 10:11 ` Mick
2019-08-08 3:56 ` Grant Taylor
1 sibling, 0 replies; 28+ messages in thread
From: Mick @ 2019-08-07 10:11 UTC (permalink / raw
To: gentoo-user, gentoo-user
[-- Attachment #1: Type: text/plain, Size: 4805 bytes --]
On Wednesday, 7 August 2019 01:31:03 BST Rich Freeman wrote:
> On Tue, Aug 6, 2019 at 7:41 PM Grant Taylor
> > Sadly, I think people have thrust additional (IMHO) largely unnecessary
> > complexity into the init process just to be able to support more exotic
> > installations.
I may be wrong but I thought the udev-usr-initrd complexity was deemed a
necessity/ when bluetooth input and audio devices became more widespread. The
fact systemd gradually mushroomed to take over the OS is another more loosely
related story.
> > Then, they have said "We want to be consistent in how we
> > boot, so we need to use this more complex thing everywhere." To which,
> > many greybeards have responded "I don't need nor want that on my simple
> > server."
This is the main rub of these architectural /solutions/ being pushed onto the
wider community by what amounted to corporate lobbyists, for /problems/ many
of us never had.
> Initramfs is popular because it is way more flexible:
>
> 1. You can build a fully modular kernel so that you can use the same
> kernel on every system but not be loading countless drivers for
> hardware most systems don't use, while still being certain of being
> able to boot any particular system.
Unless you have no use for this. Just as many *Gentoo* users do not need
their kernel image blessed by Microsoft, RHL shims and what not.
> 2. You have more access to labels/uuids/etc for finding the root
> filesystem so that when one of your hard drive fails the kernel
> doesn't just dumbly use the next one in sequence, assuming they're
> even always identified in the same order.
I may be missing something here ... but I think this is not related to the use
of an initrd. You probably won't even need a separate bloat-loader like grub2
for this, at least not on UEFI systems. Just add the root PARTUUID on your
kernel line, inside the kernel.
> 3. You can use "exotic" installations like iscsi and so on, which
> seems pretty useful in an enterprise setting.
>
> > If you /actually/ /need/ a micro installation to make your main
> > installation available, then go for it. But if you don't /actually/
> > /need/ a micro installation, well Occam's Razor / Parsimony.
I have not performed sociological research to confirm this, but I'd say to
those of us identifying with the above statement Gentoo is a good fit. For
those in an enterprise setting, there are many other cookie-cutter corporate
solutions applicable.
> Except then you're tailoring your bootloader to individual systems.
Yes, I don't *have* to use Gentoo on a large server farm, put a SLA in place
linked to contractual payment thresholds, hack my own monitoring system and
get 3 layers of insurance signed off. Tailoring my bootloader(s) is something
I do in my home-office environment, including 3 servers.
> Most sysadmins will prefer the Ubuntu/RHEL/etc approach where the same
> kernel/bootloader/etc works everywhere, vs tailoring their boot
> process to every individual host.
Yes in (large) corporate deployments. Some of them on Azure too.
> > > They're a really elegant solution to the problem.
> >
> > I wouldn't use the words "elegant" or "solution". "kludge" comes to mind.
>
> What could be more elegant? It minimizes the complexity of the
> kernel, which is why Linus generally prohibits the kernel from having
> any more advanced root mounting logic, and why pretty much every Linux
> system out there uses one.
I think the whole issue is a difference in use cases and where corporate money
has been used to provide a narrowly focused solution to address corporate
requirements, without particular attention/interest/care to what are
statistically edge use cases. Such edge use cases, e.g. separate /usr, no
initrd or kernel images signed by Microsoft, different choice of bootloaders,
etc. have been more concentrated on Gentoo than the one-size-fits-all binary
distros. RHL calls these "bespoke" deployments. Yet when changes in udev
brought about the necessity of an initrd in order to keep running a separate /
usr fs, I recall quite a number of gentoo user voices in this M/L alone
objecting to the changes. What is an edge use case for Fedora, is/was not so
much of an edge use case in Gentoo.
Gentoo did not *have* to follow upstream changes, but yet again this could
probably bring its ultimate stagnation/demise as devs would be spread too thin
to keep developing Gentoo in a deviating path from the rest of the Linux
trajectory.
Having used and still using other binary distros I'm grateful Gentoo's still
here, but would really prefer it did not bend itself out of shape to
accommodate solutions to problems I and others do not have, or when we do we
may not even use Gentoo to solve them.
--
Regards,
Mick
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [gentoo-user] Re: USE flag 'split-usr' is now global
2019-08-06 2:37 ` Grant Taylor
2019-08-06 15:54 ` Canek Peláez Valdés
@ 2019-08-07 10:48 ` Neil Bothwick
2019-08-07 10:58 ` Mick
1 sibling, 1 reply; 28+ messages in thread
From: Neil Bothwick @ 2019-08-07 10:48 UTC (permalink / raw
To: gentoo-user
[-- Attachment #1: Type: text/plain, Size: 661 bytes --]
On Mon, 5 Aug 2019 20:37:44 -0600, Grant Taylor wrote:
> Actually, the quote in the first forum post you linked to has the
> following:
>
> /sbin->usr/bin
> /usr/sbin->bin
>
> That takes four directories (/bin, /sbin, /usr/bin, /usr/sbin) and
> combines them into two (/sbin & /usr/bin and /bin & /usr/sbin) but it
> also crosses bin & sbin as well as going opposite directions with the
> links. — Yuck!!!
Actually, it combines them all into one. The second link is to bin, not
/bin. It's a relative link from /usr/sbin so this would put everything in
/usr/bin.
--
--
Neil Bothwick
Exercise daily. Eat wisely. Die anyway.
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [gentoo-user] Re: USE flag 'split-usr' is now global
2019-08-07 10:48 ` Neil Bothwick
@ 2019-08-07 10:58 ` Mick
2019-08-07 11:48 ` Neil Bothwick
0 siblings, 1 reply; 28+ messages in thread
From: Mick @ 2019-08-07 10:58 UTC (permalink / raw
To: gentoo-user
[-- Attachment #1: Type: text/plain, Size: 831 bytes --]
On Wednesday, 7 August 2019 11:48:09 BST Neil Bothwick wrote:
> On Mon, 5 Aug 2019 20:37:44 -0600, Grant Taylor wrote:
> > Actually, the quote in the first forum post you linked to has the
> > following:
> >
> > /sbin->usr/bin
> > /usr/sbin->bin
> >
> > That takes four directories (/bin, /sbin, /usr/bin, /usr/sbin) and
> > combines them into two (/sbin & /usr/bin and /bin & /usr/sbin) but it
> > also crosses bin & sbin as well as going opposite directions with the
> > links. — Yuck!!!
>
> Actually, it combines them all into one. The second link is to bin, not
> /bin. It's a relative link from /usr/sbin so this would put everything in
> /usr/bin.
Yep! It sounds like an amazing idea! I vote we rename it $WINDOWS/ and see
how fast someone can spin an image on Azure. :p
--
Regards,
Mick
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [gentoo-user] Re: USE flag 'split-usr' is now global
2019-08-07 10:58 ` Mick
@ 2019-08-07 11:48 ` Neil Bothwick
2019-08-07 13:24 ` Mick
0 siblings, 1 reply; 28+ messages in thread
From: Neil Bothwick @ 2019-08-07 11:48 UTC (permalink / raw
To: gentoo-user
[-- Attachment #1: Type: text/plain, Size: 496 bytes --]
On Wed, 07 Aug 2019 11:58:52 +0100, Mick wrote:
> > Actually, it combines them all into one. The second link is to bin,
> > not /bin. It's a relative link from /usr/sbin so this would put
> > everything in /usr/bin.
>
> Yep! It sounds like an amazing idea! I vote we rename it $WINDOWS/
As opposed to splitting binaries across four directories based on
arbitrary decisions made in the last century? :P
--
Neil Bothwick
DOS never says "EXCELLENT command or filename"...
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [gentoo-user] Re: USE flag 'split-usr' is now global
2019-08-07 11:48 ` Neil Bothwick
@ 2019-08-07 13:24 ` Mick
2019-08-08 7:43 ` Neil Bothwick
0 siblings, 1 reply; 28+ messages in thread
From: Mick @ 2019-08-07 13:24 UTC (permalink / raw
To: gentoo-user
[-- Attachment #1: Type: text/plain, Size: 951 bytes --]
On Wednesday, 7 August 2019 12:48:08 BST Neil Bothwick wrote:
> On Wed, 07 Aug 2019 11:58:52 +0100, Mick wrote:
> > > Actually, it combines them all into one. The second link is to bin,
> > > not /bin. It's a relative link from /usr/sbin so this would put
> > > everything in /usr/bin.
> >
> > Yep! It sounds like an amazing idea! I vote we rename it $WINDOWS/
>
> As opposed to splitting binaries across four directories based on
> arbitrary decisions made in the last century? :P
LOL! You're missing the most important part: across different fs and
partition layouts.
Look, the pyramids were built before the last century, but that doesn't mean
we should try to balance them upside down if they work fine as they are.
Clearly different use cases have different requirements and correspondingly
different optimal solutions. Can I please keep my bin/sbin directories
separate and ditto for /usr and its subbies? :-)
--
Regards,
Mick
[-- Attachment #2: This is a digitally signed message part. --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [gentoo-user] Re: USE flag 'split-usr' is now global
2019-08-07 0:31 ` Rich Freeman
2019-08-07 10:11 ` Mick
@ 2019-08-08 3:56 ` Grant Taylor
1 sibling, 0 replies; 28+ messages in thread
From: Grant Taylor @ 2019-08-08 3:56 UTC (permalink / raw
To: gentoo-user
On 8/6/19 6:31 PM, Rich Freeman wrote:
> So, an initramfs doesn't actually have to do ANY of those things,
> though typically it does.
I agree that most systems don't /need/ an initramfs / initrd to do that
for them. IMHO /most/ systems should be able to do that for themselves.
> Nothing prevents an initramfs from booting an alternate kernel
> actually, though if it does it will need its own root filesystem
> initialized one way or another (which could be an initramfs).
Agreed.
Though I think that's rare enough that I chose to ignore it for the last
email.
> Linux bootstrapping linux is basically the whole premise behind
> coreboot.
Sure.
But coreboot is not a boot loader or a typical OS. coreboot falls into
the "firmware" family.
> Sure, but you don't need it ALL OVER YOUR FILESYSTEM.
I'd be willing to bet that 75% of what's contained in an initramfs /
initrd is already on the root file system. Especially if the initramfs
/ initrd is tweaked to the local system.
Taking a quick look at the default initrd of an Ubuntu 16.04 LTS, just
about everything I see in the following output exists on the system.
/boot/initrd.img-4.4.0-87-generic has 1908 items in it.
129 of them aren't already on the installed system. Consisting of:
51 /scripts Probably initrd specific
61 /bin May be in /sbin /usr/bin /usr/sbin on the local system.
6 /conf Probably initrd specific
5 /etc
2 /lib
4 misc
Digging further, 29 of the 61 for /bin are in /usr/bin. 12 are in
/sbin. That's 88 out of 1908 files in the
/boot/initrd.img-4.4.0-87-generic file that aren't already all over your
file system.
> Some of the proposed solutions in this thread involved sticking stuff
> in /bin and so on. An initramfs is nicely bundled up in a single file.
So, you're saving 88 files (out of 1908) and storing 1820 additional
copies of files that exist in a container that's not easy to work with.
Why‽
> Absolutely true, which means it won't interfere with the main system,
> as opposed to sticking it in /bin or somewhere where it might.
How do the files that are needed for the system to operate, being placed
where they need to be, interfere with the main system?
> Such as?
Allow me to rephrase / clarify slightly.
There have been many things that I've wanted to do in the past 20 yeras
that the initramfs / initrd from the vendor did not support or was not
flexible enough to do.
· Not support root in LVM.
· Not support root on LUKS.
· Not support iSCSI disks.
· Not support root on multi-path.
· Not supporting the file system (tools).
· Not support the RAID that (tools).
· Not support ZFS.
· Not support root on NFS.
These are just the some of the things that I've wanted to do over the
years that the initramfs / initrd as provided by the distro did not support.
I have routinely found initramfs / initrd limiting.
> It is a linux userspace. It can literally do anything.
Yes, /conceptually/ it's Linux (userspace) can do anything that Linux
can do. /Practically/ it can only do the things that the distro
envisioned support for and included in their initramfs / initrd
management system.
> You don't need to use dracut (et al) to have an initramfs.
(See above.)
> In fact, you could create your super root filesystem that does all
> the fancy stuff you claim you can't do with an initramfs,
Sure. I did. (Time and time again) it was the machine's root file
system doing exactly what I wanted it to do.
> then create a cpio archive of that root filesystem, and now you have
> an initramfs which does the job.
Why would I want to copy / permute something that's already working to
add as an additional layer, which I don't need, complicating the overall
process‽
> Sure, but only if the kernel can find that disk without any userspace
> code.
There's a reason I said "if". The extremely large majority of the
systems that I've administered over the last 20 years could do that.
> What if that disk is on the other side of an ssh tunnel?
That would be a case where you would actually /need/ an initramfs / initrd.
I'd like to hear tell of someone actually using a root disk that is
accessed through an ssh tunnel. Short of that, I'm going to consider it
a hypothetical.
> If you know the commands to do something, why would you have to wait
> for somebody else to implement them?
Because I have hundreds of machines that need to be supported by junior
admins and sticking within the confines of what the distro vendor
supports is a good idea.
Or more simply, sticking within distro vendor's support period.
> Actually, for most of these the initramfs is the starting
> root filesystem (just about all linux server installs use one).
Remember, an initramfs / initrd is (or gets extracted to) a directory
structure.
Just about all of the servers and workstations (mid five digits worth)
that I've administered over the years end up with a SCSI (SATA / SAS)
disk off of a controller with the driver in kernel. Include file system
and NIC driver too, and you're good to go without an initramfs / initrd.
That includes physical and virtual systems.
The containers that I've worked with also end up being a collection of
files on a file system.
Nope. Very few of them actually /need/ an initramfs / initrd.
· LUKS
· Multipath SAN
Those are the big reasons for a server / workstation to actually /need/
an initramfs / initrd.
BlueTooth is not an issue for the servers that I've administered and
handily enough the notebooks that have had LUKS have also had a keyboard.
> Usually it just mounts a simple filesystem on a local disk as root
> and then pivots.
Why even bother doing that if it's not actually /needed/?
> However, an initramfs frees you up from the limitation that it be
> something that can be passed directly on the command line.
I've never really found what I can pass on the kernel's command line to
be a problem.
I have had problems where the distro provided initramfs / initrd
management system lost it's lunch at some things I wanted to put on the
command line. But Linux itself was quite happy with it.
> Initramfs is popular because it is way more flexible:
See above. I've found them to be limiting.
> 1. You can build a fully modular kernel so that you can use the
> same kernel on every system but not be loading countless drivers
> for hardware most systems don't use, while still being certain of
> being able to boot any particular system.
That sounds like it's convenient for the distro maintainers.
> 2. You have more access to labels/uuids/etc for finding the root
> filesystem so that when one of your hard drive fails the kernel
> doesn't just dumbly use the next one in sequence, assuming they're
> even always identified in the same order.
I've been using file system UUIDs on the kernel command line for decades
without problems. I've not /needed/ an initramfs / initrd to do that.
> 3. You can use "exotic" installations like iscsi and so on, which
> seems pretty useful in an enterprise setting.
One would think.
Sadly, most enterprise admins that I've been around are scared to death
of booting from the SAN.
The few places that I've seen do it are using Fibre Channel. Which,
handily enough, shows up as SCSI directly attached disk.
> Except then you're tailoring your bootloader to individual systems.
Not really.
My current employer has about fifty different model servers in the
fleet, from about a dozen different vendors. We keep about five storage
drivers in kernel and things just work.
Former employers had about a hundred different models of servers from
about twenty different vendors. We had to keep about twenty drivers in
kernel.
There really wasn't any tailoring.
> Most sysadmins will prefer the Ubuntu/RHEL/etc approach where the
> same kernel/bootloader/etc works everywhere, vs tailoring their boot
> process to every individual host.
I'm going to go out on a limb and guess that half of them couldn't
actually tell me how a system boots, from the firmware through init
scripts to a login prompt.
I'll go further out on a limb and blame that on ignorance and / or
laziness. Thankfully it's possible to remediate ignorance if the SA is
willing. Also, I'm referring to the bad laziness of I don't care if
it's less efficient / requires more resources, if it saves me time to
cut corners.
> What could be more elegant?
Not using something that you don't actually /need/.
> It minimizes the complexity of the kernel
No, it really doesn't. It might minimize the kernel config. /Might./
It's quite possible (and in many ways more secure) to run a kernel
without modules.
> which is why Linus generally prohibits the kernel from having any
> more advanced root mounting logic, and why pretty much every Linux
> system out there uses one.
I can't think of a time in the last ten years where the Linux kernel
couldn't mount root when the storage driver (and file system) was
compiled in with proper parameters on the kernel command line.
Root on LUKS, iSCSI, software RAID 5; sure, those things need help.
Virtually none of the server's I've supported needed any of those for
root. Other disks / file systems that were activated via init scripts?
Sure.
--
Grant. . . .
unix || die
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [gentoo-user] Re: USE flag 'split-usr' is now global
2019-08-07 13:24 ` Mick
@ 2019-08-08 7:43 ` Neil Bothwick
2019-08-08 9:53 ` Kai Peter
0 siblings, 1 reply; 28+ messages in thread
From: Neil Bothwick @ 2019-08-08 7:43 UTC (permalink / raw
To: gentoo-user
[-- Attachment #1: Type: text/plain, Size: 985 bytes --]
On Wed, 07 Aug 2019 14:24:22 +0100, Mick wrote:
> > As opposed to splitting binaries across four directories based on
> > arbitrary decisions made in the last century? :P
>
> LOL! You're missing the most important part: across different fs and
> partition layouts.
>
> Look, the pyramids were built before the last century, but that doesn't
> mean we should try to balance them upside down if they work fine as
> they are.
Why not? As long as it's optional and controlled by a USE flag :)
>Clearly different use cases have different requirements and
> correspondingly different optimal solutions. Can I please keep my
> bin/sbin directories separate and ditto for /usr and its subbies? :-)
The /usr / split makes sense when you want different filesystems,
something I used to do but don't have any need for now. I've yet to see a
convincing argument for the bin/sbin split in either location.
--
Neil Bothwick
I doubt therefore I might be.
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
^ permalink raw reply [flat|nested] 28+ messages in thread
* Re: [gentoo-user] Re: USE flag 'split-usr' is now global
2019-08-08 7:43 ` Neil Bothwick
@ 2019-08-08 9:53 ` Kai Peter
0 siblings, 0 replies; 28+ messages in thread
From: Kai Peter @ 2019-08-08 9:53 UTC (permalink / raw
To: gentoo-user
On 2019-08-08 09:43, Neil Bothwick wrote:
> On Wed, 07 Aug 2019 14:24:22 +0100, Mick wrote:
>
>> > As opposed to splitting binaries across four directories based on
>> > arbitrary decisions made in the last century? :P
>>
>> LOL! You're missing the most important part: across different fs and
>> partition layouts.
>>
>> Look, the pyramids were built before the last century, but that
>> doesn't
>> mean we should try to balance them upside down if they work fine as
>> they are.
>
> Why not? As long as it's optional and controlled by a USE flag :)
>
>> Clearly different use cases have different requirements and
>> correspondingly different optimal solutions. Can I please keep my
>> bin/sbin directories separate and ditto for /usr and its subbies? :-)
>
> The /usr / split makes sense when you want different filesystems,
> something I used to do but don't have any need for now. I've yet to see
> a
> convincing argument for the bin/sbin split in either location.
Let me jump back into this hi-jacked thread somewhere. Unfortunately I
didn't found an answer to the future directions at gentoo regarding the
usr merge. And my fear is that the merge will be forced. As I use gentoo
as a meta distro really, this change _could_ be put _me_ into trouble.
But my 'gentoo-lfs' is not the typical use case.
Now, even that there are my individual requirements behind, some short
points of my POV to some points in the whole thread. All IMHO.
An initramfs is a elegant and - more important - a very flexible
solution. It is not required, but it makes things easier. It could solve
more things than having /usr at a separate fs or loading drivers. I
would also define it as a bootloader (like Rich) in a chain. More
abstract I would see a classical bootloader like grub as a kernel by
itself.
I see 3 stages of security concerns of an initramfs:
1. trust yourself and build your own one
2. trust gentoo and use gentoo's initramfs
3. download one (from a warez site) and stay hacked
The usr merge itself is questionable workaround to consolidate things.
Now, a consolidation is a good thing in general. But what is the real
difference to have a symlink /bin against having a folder? I couldn't
follow the given arguments.
The core issue is the under laying folder structure. And depending on
this hard coded path's. We still relying at a 50 years old concept - and
time was moving on. Don't ask, I haven't a solution (yet). Just the
dream/vision of the perfect system :). One point of the vision is to
have a core (linux) OS (e.g. an extended stage3) separated from all user
programs (similar to a ring0 kernel isolation).
From all exiting concepts and implementations the best parts should be
used. Not sure if this is ever possible. But forcing users to use a
solution which is not required by 99% of them is a very bad thing. These
'1-percent-solutions' have to be optional.
Anyway, just an opinion beside the mainstream. I encourage people to
have their own. :) It is not hard to create pro and con arguments. And I
left enough room for misunderstandings.
--
Sent with eQmail-1.10.3 beta - a fork of djb's famous qmail
^ permalink raw reply [flat|nested] 28+ messages in thread
end of thread, other threads:[~2019-08-08 9:54 UTC | newest]
Thread overview: 28+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-08-04 10:23 [gentoo-user] USE flag 'split-usr' is now global Kai Peter
2019-08-04 11:29 ` Mick
2019-08-04 17:07 ` [gentoo-user] " Ian Zimmerman
2019-08-04 18:01 ` Dale
2019-08-05 8:05 ` Kai Peter
2019-08-04 18:03 ` Mick
2019-08-05 1:26 ` Grant Taylor
2019-08-05 10:49 ` Mick
2019-08-05 16:17 ` Grant Taylor
2019-08-05 23:34 ` Mick
2019-08-06 2:37 ` Grant Taylor
2019-08-06 15:54 ` Canek Peláez Valdés
2019-08-06 16:28 ` Rich Freeman
2019-08-06 23:39 ` Ian Zimmerman
2019-08-07 0:14 ` Rich Freeman
2019-08-06 23:41 ` Grant Taylor
2019-08-07 0:31 ` Rich Freeman
2019-08-07 10:11 ` Mick
2019-08-08 3:56 ` Grant Taylor
2019-08-06 22:54 ` Grant Taylor
2019-08-06 23:05 ` Canek Peláez Valdés
2019-08-07 10:48 ` Neil Bothwick
2019-08-07 10:58 ` Mick
2019-08-07 11:48 ` Neil Bothwick
2019-08-07 13:24 ` Mick
2019-08-08 7:43 ` Neil Bothwick
2019-08-08 9:53 ` Kai Peter
2019-08-06 0:06 ` Ian Zimmerman
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox