Date: Wed, 7 Apr 2010 00:43:10 +0300 From: Dan Naumov <dan.naumov@gmail.com> To: Glen Barber <glen.j.barber@gmail.com> Cc: freebsd-jail@freebsd.org, freebsd-questions@freebsd.org Subject: Re: bizarre mount_nullfs issue with jails / ezjail Message-ID: <p2wcf9b1ee01004061443j2009774ewe8221d4668cff9ba@mail.gmail.com> In-Reply-To: <20100406213711.GA38637@orion.hsd1.pa.comcast.net> References: <k2xcf9b1ee01004061429ub4986488ya54af1a525aa209c@mail.gmail.com> <20100406213711.GA38637@orion.hsd1.pa.comcast.net>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Apr 7, 2010 at 12:37 AM, Glen Barber <glen.j.barber@gmail.com> wrot= e: > Hi Dan, > > Dan Naumov wrote: >> So, I want the basejail to only contain the world and link the ports >> tree from the host into each individual jail when it's time to update >> the ports inside them, but I am running into a bit of a bizarre issue: >> I can mount_nullfs /usr/ports elsewhere on the host just fine, but it >> doesn't work if I try to mount_nullfs it to /usr/ports inside the >> jail: >> >> mount_nullfs /usr/ports/ /usr/ports2 >> >> df -H | grep ports >> cerberus/usr-ports =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A034G =A0 =A0241M =A0 = =A0 34G =A0 =A0 1% =A0 =A0/usr/ports >> cerberus/usr-ports-distfiles =A0 =A0 =A034G =A0 =A0 =A00B =A0 =A0 34G = =A0 =A0 0% >> /usr/ports/distfiles >> cerberus/usr-ports-packages =A0 =A0 =A0 34G =A0 =A0 =A00B =A0 =A0 34G = =A0 =A0 0% >> /usr/ports/packages >> /usr/ports =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A0 =A034G =A0 =A0241= M =A0 =A0 34G =A0 =A0 1% =A0 =A0/usr/ports2 >> >> mount | grep ports >> cerberus/usr-ports on /usr/ports (zfs, local) >> cerberus/usr-ports-distfiles on /usr/ports/distfiles (zfs, local) >> cerberus/usr-ports-packages on /usr/ports/packages (zfs, local) >> /usr/ports on /usr/ports2 (nullfs, local) >> >> mount_nullfs /usr/ports/ /usr/jails/semipublic/usr/ports >> mount_nullfs: /basejail: No such file or directory >> >> What is going on here? I also note that the error actually wants a >> /basejail on the host, which is even more bizarre: >> >> mount_nullfs /usr/ports/ /usr/jails/semipublic/usr/ports >> mount_nullfs: /basejail: No such file or directory >> >> mkdir /basejail >> >> mount_nullfs /usr/ports/ /usr/jails/semipublic/usr/ports >> mount_nullfs: /basejail/usr: No such file or directory >> >> Yet, this works: >> >> mkdir /usr/jails/semipublic/test >> mount_nullfs /usr/ports/ /usr/jails/semipublic/test >> umount /usr/jails/semipublic/test >> >> Any ideas? >> >> > > The ports directory in an ezjail is a link to /basejail/usr/ports (in the > jail). > > Breaking the link (from the host) allows the mount to work successfully. > > orion# ll usr/ports > lrwxr-xr-x =A01 root =A0wheel =A019 Mar =A08 18:06 usr/ports -> /basejail= /usr/ports > orion# unlink usr/ports > orion# mkdir usr/ports > orion# mount_nullfs /usr/ports usr/ports > orion# > > Regards, > > -- > Glen Barber Thanks for the tip. An additional question: how come "sade" and "sysinstall" which are run inside the jail can see (and I can only assume they can also operate on and damage) the real underlying disks of the host? - Sincerely Dan Naumov
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?p2wcf9b1ee01004061443j2009774ewe8221d4668cff9ba>