/compat/linux and /usr/compat/linux

Chris H bsd-lists at bsdforge.com
Wed Feb 11 05:01:52 UTC 2015


On Tue, 10 Feb 2015 18:12:43 -0800 Kevin Oberman <rkoberman at gmail.com> wrote

> On Tue, Feb 10, 2015 at 2:54 PM, Chris H <bsd-lists at bsdforge.com> wrote:
> 
> > On Tue, 10 Feb 2015 12:34:19 -0800 Patrick Powell <papowell at astart.com>
> > wrote
> >
> > > On 02/08/15 02:10, Gary Jennejohn wrote:
> > > > On Fri, 06 Feb 2015 08:43:15 -0800
> > > > Patrick Powell <papowell at astart.com> wrote:
> > > >
> > > >> The latest linux-base appears to install into /compat,  rather than
> > > >> /usr/compat
> > > >>
> > > >> However, some FreeBSD FAQ and other documents appear to refer to
> > > >> /usr/compat.
> > > >>
> > > >> Question:  when did the move from using /usr/compat to /compat take
> > > >> place (just out of curiosity)?
> > > >>
> > > >> Question:  can linproc be in /compat/linux/proc or
> > /usr/compat/linux/proc?
> > > >> Question:  if you have a /usr/compat/linux/lib directory will this be
> > > >> added to the
> > > >> libraries for linux emulation?
> > > >>
> > > > /compat has historically always been a symbolic link to /usr/compat:
> > > >
> > > > lrwxr-xr-x  1 root  wheel  10 Nov 25  2011 /compat -> usr/compat
> > > >
> > > > linprocfs on /usr/compat/linux/proc (linprocfs, local)
> > > > but in my /etc/fstab I have
> > > > linproc         /compat/linux/proc      linprocfs rw            0
> >  0
> > > >
> > > > Since /compat is a symbolic link it resolves to /usr/compat when it's
> > > > used.
> > > >
> > > # uname -a
> > > FreeBSD astart2.astart.com 9.3-RELEASE-p9 FreeBSD 9.3-RELEASE-p9 #0: Tue
> > > Jan 27 10:43:40 UTC 2015
> > > root at amd64-builder.daemonology.net:/usr/obj/usr/src/sys/GENERIC amd64
> > >
> > > # ls -l / |grep compat
> > >
> > > drwxr-xr-x   3 root  wheel    512 Dec  3 14:41 compat
> > >
> > > # ls -l /usr |grep compat
> > > drwxr-xr-x   3 root  wheel    512 Nov 21 21:06 compat
> > >
> > > Note that neither /compat or /usr/compat are symbolic links.
> > Interesting. On a RELENG_9 (9.3-STABLE); I only return
> > /compat
> > no linux, or compat available in /usr
> > So what's the *real* story behind all this?
> >
> > > ls -ld /compat
> lrwxr-xr-x  1 root  wheel  11 Feb  8 09:18 /compat@ -> /usr/compat
> 
> It is NOT created by the OS or any port, as far as I know. By default the
> installation of an emulators/linux_base-* port will create /compat. Because
> it can become fairly large and is in root, it was recommended some time ago
> that /usr/compat be created and the contents of /compat be moved there,
> /compat be deleted, and a symlink be created. Unless something was changed,
> his is up to the user.
> 
> If you have both and neither is a symlink, something was not done right at
> some point. Once the symlink is in place, neither an upgrade or install of
> a linux_base-* port will affect it at all. It can significantly reduce the
> space required in root.
> 
> I suppose it is possible that some linux ports may be installing stuff in
> /usr/compat/linux instead of /compat/linux so that both show up if
> /compat/linux is still in use. I hope this is not the case.
Thanks for the informative response, Kevin.
FWIW as most of the servers I manage use nVidia video; in anticipation
of installing the nvidia drivers, I always install the
emulators/linux_base-* port prior to the [nvidia] video driver, knowing
it's a prereq.
Under the circumstances (linux-base-* v [linux]ports); I wonder
what, or if some "standard" should be determined || applied?
Assuming one isn't already in place.

Thanks again, Kevin.

> --
> Kevin Oberman, Network Engineer, Retired
> E-mail: rkoberman at gmail.com

--Chris

--




More information about the freebsd-emulation mailing list