Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 10 Feb 2015 18:12:43 -0800
From:      Kevin Oberman <rkoberman@gmail.com>
To:        Chris H <bsd-lists@bsdforge.com>
Cc:        gljennjohn@gmail.com, "freebsd-emulation@freebsd.org" <freebsd-emulation@freebsd.org>
Subject:   Re: /compat/linux and /usr/compat/linux
Message-ID:  <CAN6yY1uYU3Pvd=NQVDnWfsr6wpGVAwT1ME6m9k%2B6t9WEZ7AVBQ@mail.gmail.com>
In-Reply-To: <a93bcb61fed8194e6831e8a51bd71c57@ultimatedns.net>
References:  <54D4EF23.7050604@astart.com> <20150208111022.4094218f@ernst.home> <54DA6B4B.6080708@astart.com> <a93bcb61fed8194e6831e8a51bd71c57@ultimatedns.net>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Feb 10, 2015 at 2:54 PM, Chris H <bsd-lists@bsdforge.com> wrote:

> On Tue, 10 Feb 2015 12:34:19 -0800 Patrick Powell <papowell@astart.com>
> wrote
>
> > On 02/08/15 02:10, Gary Jennejohn wrote:
> > > On Fri, 06 Feb 2015 08:43:15 -0800
> > > Patrick Powell <papowell@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@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.
--
Kevin Oberman, Network Engineer, Retired
E-mail: rkoberman@gmail.com



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAN6yY1uYU3Pvd=NQVDnWfsr6wpGVAwT1ME6m9k%2B6t9WEZ7AVBQ>