Re: git: 36db6b04962a - main - hier(7): document /home/ and /usr/home/

From: Cy Schubert <Cy.Schubert_at_cschubert.com>
Date: Wed, 10 May 2023 15:13:13 UTC
In message <ba22a75d-06c0-371e-603e-7ded9d1dca97@freebsd.org>, Mitchell 
Horne w
rites:
> On 5/10/23 11:19, Rodney W. Grimes wrote:
> >> The branch main has been updated by mhorne:
> >>
> >> URL: https://cgit.FreeBSD.org/src/commit/?id=36db6b04962a01ff7b21592def02d
> 4c570dac939
> >>
> >> commit 36db6b04962a01ff7b21592def02d4c570dac939
> >> Author:     Mitchell Horne <mhorne@FreeBSD.org>
> >> AuthorDate: 2023-05-10 12:53:56 +0000
> >> Commit:     Mitchell Horne <mhorne@FreeBSD.org>
> >> CommitDate: 2023-05-10 13:25:17 +0000
> >>
> >>      hier(7): document /home/ and /usr/home/
> >>      
> >>      Reviewed by:    imp
> >>      MFC after:      1 week
> >>      Sponsored by:   The FreeBSD Foundation
> >>      Differential Revision:  https://reviews.freebsd.org/D40002
> >> ---
> >>   share/man/man7/hier.7 | 10 ++++++++++
> >>   1 file changed, 10 insertions(+)
> >>
> >> diff --git a/share/man/man7/hier.7 b/share/man/man7/hier.7
> >> index ff11289436a1..b6759dd6e65b 100644
> >> --- a/share/man/man7/hier.7
> >> +++ b/share/man/man7/hier.7
> >> @@ -90,6 +90,10 @@ file descriptor files;
> >>   see
> >>   .Xr \&fd 4
> >>   .El
> >> +.It Pa /home/
> >> +user HOME directories.
> >> +This is a symlink to
> >> +.Pa /usr/home/
> > 
> > /usr is "contains the majority of user utilities and applications"
> > it should not contain home directories.
> >  > I do not know when this move to usr came about it was traditionally 
> /home.
> > I do not know why /usr/home even exists, it is not needed by
> > anything I am aware of.  If we have a compatible link it
> > should be, usr/home -> ../home and /home should be the
> > directory.
> > 
>
> I agree that /usr/home is strange, and is unique (?) to FreeBSD.
>
> The oldest commit in the output of `git log --grep '/usr/home'` is:
>
> commit f2400d465896a8e4f6fdc57eba840cf49b25bbbd
> Author: David Nugent <davidn@FreeBSD.org>
> Date:   Fri Jan 3 04:42:18 1997 +0000
>
>      Implemented /home -> /usr/home symlink kludge.
>      If home basedir would be created in the root partition, create
>      it under /usr instead, and symlink /basedir -> /usr/basedir.
>
> Notes:
>      svn path=/head/; revision=21242
>
>
> So it has been this way for 26 years at least. I do not know what to say 
> about whether /usr "should" contain it, but it does.

Usually history matters. I can understand not changing it. On the flip 
side, I cut my UNIX teeth on SunOS 4 and Solaris where /home was /home -- 
albeit automounted from /export/home on localhost or some NFS server. In 
the Red Hat land at $JOB, /home is its own partition (actually an LVM 
volume). In both cases /home is not in /usr because end-users can fill 
/usr. This can be problematic operationally because it's yet another 
headache to deal with should someone fill the filesystem. Filling /usr is 
more serious than filling /home.

As a point of interest, when I installed my first FreeBSD many moons ago I 
used the Solaris standard of /export/home, using amd (now automount) to 
serve my /home. I'm not advocating we do this, it's overkill, but /home 
should not live in /usr. It's a potential headache for any sysadmin.

With ZFS the solution is easy. With UFS based systems there are a lot of 
other factors that go into how we install the "default" from the get-go.


-- 
Cheers,
Cy Schubert <Cy.Schubert@cschubert.com>
FreeBSD UNIX:  <cy@FreeBSD.org>   Web:  https://FreeBSD.org
NTP:           <cy@nwtime.org>    Web:  https://nwtime.org

			e^(i*pi)+1=0