pkg-add for installing into a jail?

Alnis Morics alnis.m at mail.com
Mon Aug 1 07:21:37 UTC 2016


Thanks, Doug and Ben.

Yes, null-mounting and using absolute path in the pkg add command 
helped. I found out that the packages directory can be arbitrary but 
their paths must be the same on the host and on the jail.

Btw, I also use ezjail but I don't use ezjail-admin for updating ports 
because it uses portsnap which, on its turn, pulls in the head (no other 
option AFAIK). I prefer using a quarterly branch which I synchronize 
with svn. Hence this hassle :)


-Alnis


On 08/01/2016 01:40 AM, Ben Woods wrote:
> On Sunday, 31 July 2016, Alnis Morics <alnis.m at mail.com 
> <mailto:alnis.m at mail.com>> wrote:
>
>     Hi,
>
>     I could successfully use "pkg -j 1 <packagename>" many times to
>     install packages onto a jail.
>
>     But now I had to change an option in a port, so I built a package
>     myself:
>
>     portmaster -g www/apache22
>
>     The package and its dependency was stored to
>     /usr/ports/packages/All (as I set it in $PACKAGES):
>
>     apache22-2.2.31_1.txz    apr-1.5.2.1.5.4.txz
>
>     I can now install these packages using pkg-add on the host, but
>     not onto the jail:
>
>     test:/usr/ports/packages/All# pkg -j 1 add apache22-2.2.31_1.txz
>     apr-1.5.2.1.5.4.txz
>     pkg: apache22-2.2.31_1.txz: No such file or directory
>     pkg: Was 'pkg install apache22-2.2.31_1.txz' meant?
>     pkg: apr-1.5.2.1.5.4.txz: No such file or directory
>     pkg: Was 'pkg install apr-1.5.2.1.5.4.txz' meant?
>
>     Failed to install the following 2 package(s):
>     apache22-2.2.31_1.txz, apr-1.5.2.1.5.4.txz
>
>     If there is "No such file or directory", where does pkg look for
>     them? (I also tried to use full path; the result is the same) Or
>     is pkg-add an exception which doesn't work with -j option?
>
>     -Alnis
>
>
> It looks like the package you are trying to install is not in the 
> directory that pkg is running from within the jail. Either they are on 
> the host filesystem but not passed through to the jail, or pkg runs 
> from a different directory within the jail.
>
> If you have your host system ports directory nullfs mounted inside the 
> jail also, this might be fixed by specifying the absolute path of the 
> package.
>
> # pkg -j 1 add /usr/ports/packages/All/apache22-2.2.31_1.txz 
> /usr/ports/packages/All/apr-1.5.2.1.5.4.txz
>
> Check if your ports tree has the same directory inside the jail, and 
> contains these files.
>
> Good luck!
> Ben
>
>
> -- 
>
> --
> From: Benjamin Woods
> woodsb02 at gmail.com <mailto:woodsb02 at gmail.com>



More information about the freebsd-questions mailing list