Date: Thu, 2 May 2013 04:50:01 GMT From: Brandon Thomson <bt@brandonthomson.com> To: freebsd-doc@FreeBSD.org Subject: Re: docs/178221: Addition to handbook jails chapter: warning about make deinstall Message-ID: <201305020450.r424o1gh015693@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
The following reply was made to PR docs/178221; it has been noted by GNATS. From: Brandon Thomson <bt@brandonthomson.com> To: freebsd-gnats-submit@FreeBSD.org Cc: Subject: Re: docs/178221: Addition to handbook jails chapter: warning about make deinstall Date: Thu, 2 May 2013 04:48:04 +0000 >>When setting up a machine according to the "Application of Jails" >>section of FreeBSD Handbook [1], one runs into a problem where "make >>deinstall" inside of a jail does not work as expected. There is a >>workaround, which probably should be noted in the chapter. >> >>Note that this only applies to ports installed in a jail. Ports >>installed on the base system do not need the workaround. >> >>[1] http://www.freebsd.org/doc/handbook/jails-application.html >> >>Original thread [2]: http://forums.freebsd.org/showthread.php?p=213757 >> >>The workaround is to use "make deinstall PREFIX=/s/usr-local", where >>/s/usr-local is whatever make spits out when you type make >>deinstall. If you followed the handbook instructions exactly it will >>be /s/usr-local. >If you're actually running *inside* the jail, you shouldn't see that >prefix. Do you mean the directory /s/usr-local should not be visible inside the jail? On the jails I have set up it is, and I believe that is in accord with the instructions in [1]. For example if /s/usr-local were not visible inside the jail, the symlink at /usr/local pointing to ../s/usr-local would be a broken link. So, I think the PREFIX of /s/usr-local *should* be visible inside the jail. >Where you need to run the command that way is if you're using the parent >system to update the port that the jail runs. But then your "make >install" process is not actually *in* the jail at all. I did not attempt to deinstall a port run by the jail from the parent system. My attempt was from inside the jail environment, using jexec. I agree that one would *also* need to adjust the PREFIX if one wanted to deinstall a port in the jail from the parent system. In this case, the PREFIX would need to be set to /usr/jails/s/myjail/usr-local or similar. However, the point of this issue is that PREFIX also needs to be set when running "make deinstall" *inside* the jail environment. If you don't set PREFIX, you will run into the error described in [2]. Note that the host's /usr/jails/s/myjail should be mounted to /s inside the jail, so the PREFIX inside the jail is: /s/usr-local. Hope that makes sense! Jail paths can be really confusing :( I suppose it's also possible that both myself and the original poster in [2] have failed to follow the instructions in [1] correctly in some way that is causing this issue to arise, but that seems unlikely to me. Warm regards, Brandon
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201305020450.r424o1gh015693>