Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
What happened to the definition of /usr/
View unanswered posts
View posts from last 24 hours

Goto page 1, 2, 3  Next  
Reply to topic    Gentoo Forums Forum Index Gentoo Chat
View previous topic :: View next topic  
Author Message
0x0065
n00b
n00b


Joined: 08 Apr 2007
Posts: 49

PostPosted: Sun Aug 10, 2014 10:10 pm    Post subject: What happened to the definition of /usr/ Reply with quote

So go with me on this: the last time I read the Linux Filesystem Hierarchy Standard, a long long time ago now, the definition of what usr was for was very clear and elegant:

  • everything that is needed to boot belongs in /bin /sbin /lib /etc and /boot
  • everything that is NOT needed for boot and that does NOT need to be changed by users or services goes in /usr BECAUSE it is DESIGNED to be a seperate filesystem mounted read only. This is a security feature fundamental to the entire reason for /usr to exist in the first place
  • everything that is not required for boot and that needs to be changed by users or servies goes in /var, this being short for variable. The is fundamental to the entire reason for being of /var.


so how did we end up with the bootloader and the system init both needing /usr on the root filesystem in order for the system to boot and a decent swag of services that need write access to stuff they've either decided to stow on /usr or that we've stowed there and then symlinked to /var...

In a world where the above is the case, why do we even bother with a /usr and a /var directory, as their entire reason for existing is gone?

Has someone had a go at building grub2 and systemd with autoconf variables building them to put their bits in /lib and /etc where they belong? I understand that such a solution is not supported. I am asking if anyone has had a go, and where they went wrong.
Back to top
View user's profile Send private message
Ant P.
Watchman
Watchman


Joined: 18 Apr 2009
Posts: 6920

PostPosted: Sun Aug 10, 2014 11:23 pm    Post subject: Reply with quote

These aren't the first instance of crappy software that does this sort of thing - HAL used /media/ instead of /mnt/, daemontools is hardcoded to use /service/ instead of a subdirectory in /var/lib/, Debian breaks if /tmp/ is mounted noexec, GNU uses /usr/share/info/ instead of /usr/share/man/...
Back to top
View user's profile Send private message
The Doctor
Moderator
Moderator


Joined: 27 Jul 2010
Posts: 2678

PostPosted: Mon Aug 11, 2014 12:25 am    Post subject: Reply with quote

I believe the rational went something like, "It is a real pain to port software and scripts since several *nixs and distros don't follow that standard. Lets move everything to /usr/ so it is follows the standard set by Solaris!"

No one ever said it had to be a good reason.

As for grub2, I see much more wrong with it than the way it builds. It is just too complex. Anything that is unnecessarily hard to use and overly complex falls into my definition of 'bad software.'

As for systemd, your just asking to start a new flamewar with that question.

However, in my opinion it is broken in far more ways than how it installs and builds. The entire structure is monolithic and overly complex. (Before anyone complains that it isn't monolithic, I'll ask this question. Can you run one component, say logind, without installing the rest of systemd? If the answer is no then by definition it is monolithic software.) More over, the design process is just terrible. A good design would have a stable API. As they say, "do one thing and do it well."
_________________
First things first, but not necessarily in that order.

Apologies if I take a while to respond. I'm currently working on the dematerialization circuit for my blue box.
Back to top
View user's profile Send private message
Cyker
Veteran
Veteran


Joined: 15 Jun 2006
Posts: 1746

PostPosted: Mon Aug 11, 2014 8:03 am    Post subject: Reply with quote

Don't have much to add other than I totally agree with what you said.

What's particularly annoying is that when people complain that their system is broken because something needed to boot is in /usr, they are told it is considered that the bug is in the filesystem layout and not the package/program that was putting its stuff in the wrong place to begin with!

Also, the initramfs is now a symptom of this - It is an in-kernel image of everything the system needs to boot - which, again, is was what / is supposed to be for - but now lots of people are pushing for initramfs to be the default and proper way of booting a Linux system so they don't have to fix the problems that their ignoring of old established standards have caused. This was never what initramfs was made for.

(Plus I can imagine if we go down this route that the initramfs will become so huge and bloated that yet another workaround hack will be required in the future!)
Back to top
View user's profile Send private message
mv
Watchman
Watchman


Joined: 20 Apr 2005
Posts: 6780

PostPosted: Mon Aug 11, 2014 9:07 am    Post subject: Reply with quote

I do not understand the complain with respect to grub2:
AFAIK, nothing which is installed by grub2 into /usr is necessary for booting, and IIRC grub2 does not write to /usr, either.
grub2 writes into /boot/grub (and into the beginning of the partition/disk, of course), and only these are the data necessary for booting.

Concerning grub2's "complexity": One should consider grub2 as two separate projects. One which has the functionality of legacy grub (highly improved, but not unnecessarily complex), and the other as a bulk of scripts required by binary distributions and written for DAUs to autogenerate grub.cfg. The latter is complex but can just be ignored.
Back to top
View user's profile Send private message
Anon-E-moose
Watchman
Watchman


Joined: 23 May 2008
Posts: 6182
Location: Dallas area

PostPosted: Mon Aug 11, 2014 10:48 am    Post subject: Reply with quote

Cyker wrote:
(Plus I can imagine if we go down this route that the initramfs will become so huge and bloated that yet another workaround hack will be required in the future!)


Indeed I can envision a two stage (or more) initramfs bootup...just to get to original (quick) boot. :lol:
_________________
UM780, 6.12 zen kernel, gcc 13, openrc, wayland
Back to top
View user's profile Send private message
Anon-E-moose
Watchman
Watchman


Joined: 23 May 2008
Posts: 6182
Location: Dallas area

PostPosted: Mon Aug 11, 2014 10:49 am    Post subject: Reply with quote

The Doctor wrote:
As for systemd, your just asking to start a new flamewar with that question.


Indeed!
_________________
UM780, 6.12 zen kernel, gcc 13, openrc, wayland
Back to top
View user's profile Send private message
0x0065
n00b
n00b


Joined: 08 Apr 2007
Posts: 49

PostPosted: Mon Aug 11, 2014 11:36 am    Post subject: Reply with quote

If there is no problem then great, there is no problem... ...so what was with the README note in portage a little while ago? the one about "we no longer support /usr on a separate filesystem" "don't report it as a bug"
Back to top
View user's profile Send private message
mrsteven
Veteran
Veteran


Joined: 04 Jul 2003
Posts: 1939

PostPosted: Mon Aug 11, 2014 1:02 pm    Post subject: Reply with quote

The problem was that it was broken for some setups.
The fix was to break it on all setups to gain a certain level of consistency.
Back to top
View user's profile Send private message
0x0065
n00b
n00b


Joined: 08 Apr 2007
Posts: 49

PostPosted: Mon Aug 11, 2014 3:05 pm    Post subject: Reply with quote

mrsteven

... $PATH ... If it is SOOOO compatible to give up and stuff it all in usr, then what are the symlinks for? nope I don't care. Clearly you don't agree with them either. I'm going back to my original question.

Is there an easy way to customise the ./configure script paths in gentoo on a per package basis? I mean the ones like the below. where would I sensibly put that? /etc/portage/package.env ? has anyone tried? How did it go? I'd rather not touch maintaining custom ebuilds if at all possible

Fine tuning of the installation directories:
--bindir=DIR user executables [EPREFIX/bin]
--sbindir=DIR system admin executables [EPREFIX/sbin]
--libexecdir=DIR program executables [EPREFIX/libexec]
--sysconfdir=DIR read-only single-machine data [PREFIX/etc]
--sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
--localstatedir=DIR modifiable single-machine data [PREFIX/var]
--libdir=DIR object code libraries [EPREFIX/lib]
--includedir=DIR C header files [PREFIX/include]
--oldincludedir=DIR C header files for non-gcc [/usr/include]
--datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
--datadir=DIR read-only architecture-independent data [DATAROOTDIR]
--infodir=DIR info documentation [DATAROOTDIR/info]
--localedir=DIR locale-dependent data [DATAROOTDIR/locale]
--mandir=DIR man documentation [DATAROOTDIR/man]
--docdir=DIR documentation root [DATAROOTDIR/doc/grub]
--htmldir=DIR html documentation [DOCDIR]
--dvidir=DIR dvi documentation [DOCDIR]
--pdfdir=DIR pdf documentation [DOCDIR]
--psdir=DIR ps documentation [DOCDIR]
Back to top
View user's profile Send private message
saellaven
l33t
l33t


Joined: 23 Jul 2006
Posts: 655

PostPosted: Mon Aug 11, 2014 3:41 pm    Post subject: Reply with quote

It comes down to two words...

arrogance and ignorance.

You'll notice that most of the problem packages, and there are really only a handful of them, come from the same group of people that insist that they know better than everyone else in the entire history of *nix.
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54651
Location: 56N 3W

PostPosted: Mon Aug 11, 2014 3:59 pm    Post subject: Reply with quote

The initrd is the new root. Its / that has vanished.

Its another layer of complexity we can do without.

mrsteven,
I'm afraid I gave up reading your link when I got to www/ Software/ systemd/.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
mackal
Tux's lil' helper
Tux's lil' helper


Joined: 04 Aug 2011
Posts: 92

PostPosted: Mon Aug 11, 2014 5:09 pm    Post subject: Re: What happened to the definition of /usr/ Reply with quote

0x0065 wrote:
[*]everything that is NOT needed for boot and that does NOT need to be changed by users or services goes in /usr BECAUSE it is DESIGNED to be a seperate filesystem mounted read only. This is a security feature fundamental to the entire reason for /usr to exist in the first place


/usr was originally designed as /home. / got full so they started putting some stuff in /usr. /usr got full so they made /home.
Back to top
View user's profile Send private message
krinn
Watchman
Watchman


Joined: 02 May 2003
Posts: 7470

PostPosted: Mon Aug 11, 2014 6:44 pm    Post subject: Reply with quote

I find quiet funny the complain comes from someone that want systemd.
It looks like the guy we had here that goes to police station to complain someone stole his marijuana.
Back to top
View user's profile Send private message
Cyker
Veteran
Veteran


Joined: 15 Jun 2006
Posts: 1746

PostPosted: Mon Aug 11, 2014 6:47 pm    Post subject: Reply with quote

Yeah, I remember reading that :lol:
They only started putting stuff in the /usr disk because they ran out of HDD space for /, otherwise to this day everything in /home would still be in /usr and all the crap we put in /usr would be in / :lol:

http://www.osnews.com/story/25556/Understanding_the_bin_sbin_usr_bin_usr_sbin_Split

The thing is, if we're going to just arbitrarily ignore the established filesystem hierarchy, I bloody well want to have something that actually makes sense rather than this stupid half-arsed stick-everything-into-usr business anyway.

I've always found the unix filesystem layout nonsensical, from the case-sensitive filenames to the completely bonkers directory structure (every program and its bits all smushed together with everything else with no way of being able to tell what belongs to what; How is that a good idea?!) that is the standard to this day!

But damnit if I have to adhere with this nonsensical layout then I expect everyone else to bloody well do so too!
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54651
Location: 56N 3W

PostPosted: Mon Aug 11, 2014 8:07 pm    Post subject: Reply with quote

Cyker,

Red Hat have adopted the embrace, extend, extinguish approach from Microsoft.

Oh, the wonderful thing about standards is that there are so many to choose from and you can always start a new one if you can't find one you like.
Thats all part of embrace, extend, extinguish ...
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
tld
Veteran
Veteran


Joined: 09 Dec 2003
Posts: 1848

PostPosted: Tue Aug 12, 2014 3:57 pm    Post subject: Reply with quote

NeddySeagoon wrote:
mrsteven,
I'm afraid I gave up reading your link when I got to www/ Software/ systemd/.

Oh no....that means you missed the obligatory "debunking of the list of myths" that seems to accompany everything those folks do. I maen ffs...if you spend half your time doing that, maybe you're the myth ;).

Tom
Back to top
View user's profile Send private message
RazielFMX
l33t
l33t


Joined: 23 Apr 2005
Posts: 835
Location: NY, USA

PostPosted: Wed Aug 13, 2014 2:21 pm    Post subject: Reply with quote

No one has mentioned /opt... which is designed for add on software packages. Not to be confused with /usr/local, which is designed for software built by the administrator that may or may not conflict with things in /opt and /usr...
Back to top
View user's profile Send private message
0x0065
n00b
n00b


Joined: 08 Apr 2007
Posts: 49

PostPosted: Thu Aug 14, 2014 7:55 am    Post subject: Reply with quote

So we seem to have pretty much covered the problem and its causes. Could we take a second to move on and discuss a practical general solution, ideally without fixating on any particular culprit...

Is there an easy way to customise the ./configure script paths in gentoo on a per package basis?

Where would I sensibly put that? /etc/portage/package.env ?

Has anyone tried? How did it go?
Back to top
View user's profile Send private message
Ant P.
Watchman
Watchman


Joined: 18 Apr 2009
Posts: 6920

PostPosted: Sat Aug 16, 2014 4:14 pm    Post subject: Reply with quote

Practical general solution? That's easy: don't use garbage software designed around vendor lock-in, as people have been warning against for decades. Contrary to the propaganda flooding every channel, there are choices besides systemd et al.
Back to top
View user's profile Send private message
tld
Veteran
Veteran


Joined: 09 Dec 2003
Posts: 1848

PostPosted: Sat Aug 16, 2014 7:07 pm    Post subject: Reply with quote

Ant P. wrote:
Practical general solution? That's easy: don't use garbage software designed around vendor lock-in, as people have been warning against for decades. Contrary to the propaganda flooding every channel, there are choices besides systemd et al.
Amen to that. There absolutely are choices out there, and anyone who doesn't want to end up in a world where the only distros left are those made by Redhat needs to make those choices rather than just rolling over and saying "cool...it boots a quicker". For me this recent post pretty much sums it up:

https://lkml.org/lkml/2014/8/12/459

Tom
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54651
Location: 56N 3W

PostPosted: Sat Aug 16, 2014 8:34 pm    Post subject: Reply with quote

tld,

Thank you for that link.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
depontius
Advocate
Advocate


Joined: 05 May 2004
Posts: 3523

PostPosted: Sat Aug 16, 2014 8:40 pm    Post subject: Reply with quote

I saw that the other day while reading LKML, and figured there was really noplace here where I could post it, since the last thread shutdown. I did send it by pm to AnonEMoose, though.
_________________
.sigs waste space and bandwidth
Back to top
View user's profile Send private message
NeddySeagoon
Administrator
Administrator


Joined: 05 Jul 2003
Posts: 54651
Location: 56N 3W

PostPosted: Sat Aug 16, 2014 10:36 pm    Post subject: Reply with quote

depontius,

Its just a rerun of the demise of the proprietary workstation vendors mentioned in the passing.
I can remember Apollo, so I've seen it all before.
_________________
Regards,

NeddySeagoon

Computer users fall into two groups:-
those that do backups
those that have never had a hard drive fail.
Back to top
View user's profile Send private message
tld
Veteran
Veteran


Joined: 09 Dec 2003
Posts: 1848

PostPosted: Sun Aug 17, 2014 2:39 pm    Post subject: Reply with quote

NeddySeagoon wrote:
tld,

Thank you for that link.
You're welcome. Yea, more so than about anything I've read, that just about perfectly sums up how I feel about the whole mess and those behind it.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Gentoo Chat All times are GMT
Goto page 1, 2, 3  Next
Page 1 of 3

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum