Ezjail, Perl, upgrading & best practices advise please

Tim Judd tajudd at gmail.com
Fri Oct 2 20:34:56 UTC 2009

On 10/2/09, Troy Kocher <troy at kocherfamily.org> wrote:
> All,
> Couple issues:
> 1) I need some understanding on how to deploy and upgrade perl
> properly in this jailed environment.
> 2) I need some help on my current tangle of Perl library complaints
> Issue #1: In a jailed environment how many installations of perl are
> recommended (ie 1 host system 2 basejail 3 each jail) ?  My sense
> would be that one on the host and one in the basejail, would be the
> most efficient.  If that is the case how do I upgrade the perl in the
> basejail?  How do I handle different versions of perl installed in
> each of the jails?

Your questions indicate you setup a base jail and nullfs mount the
points to the other jails.  Although it is written it can be done, I
have to ask why you decided to do it this way?  base distribution only
takes about 128MB of disk space, and nearly nothing for RAM (by
today's disk and RAM sizes).

I recommend each jail have their own world installed, preferrably the
same world because since the jails share the world with the hosts'
kernel, and world+kernel must be kept in sync, setup a host on
release, and all jails on a release too.  I'm currently experimenting
(for fun) a -stable host, and -release jails, which is unsupported.

It gets a tad annoying when you manage multiple jails that it has no
concept of already built ports and to use them, so I find myself
cancelling out of a lot of builds to install the package created from
another jail.

> Issue #2:  My lack of understanding has me in a mess currently.  My
> host environment is using (perl-threaded-5.8.9_3), in jail #1 I have
> (perl-5.8.9_3) when I try to use cpan here is what happens:
> jail1#perl -MCPAN -e 'shell'
> Terminal does not support AddHistory.
> cpan shell -- CPAN exploration and modules installation (v1.9301)
> ReadLine support available (maybe install Bundle::CPAN or Bundle::CPANxxl?)
> print() on closed filehandle FOUT at
> /usr/local/lib/perl5/5.8.9/Term/ReadLine.pm line 193.
> readline() on closed filehandle FIN at
> /usr/local/lib/perl5/5.8.9/Term/ReadLine.pm line 301.
> print() on closed filehandle FOUT at
> /usr/local/lib/perl5/5.8.9/Term/ReadLine.pm line 203.
> Terminal does not support GetHistory.
> Lockfile removed.

Can't comment on this, seems a missing dependency and other problems.

> In Jail #2 another issue. . :
> jail2#pkg_info |grep perl
> mod_perl2-2.0.3_3,3 Embeds a Perl interpreter in the Apache2 server
> p5-DBI-1.60.1       The perl5 Database Interface.  Required for DBD::*
> modules
> p5-Devel-Symdump-2.0800 A perl5 module that dumps symbol names or the
> symbol table
> p5-Error-0.17012    Perl module to provide Error/exception support for perl:
> Er
> p5-GD-2.35_1        A perl5 interface to Gd Graphics Library version2
> p5-GD-Graph-1.44.01_1 Graph plotting module for perl5
> p5-MIME-Tools-5.426,2 A set of perl5 modules for MIME
> p5-Scalar-List-Utils-1.19,1 Perl subroutines that would be nice to
> have in the perl cor
> p5-Storable-2.18    Persistency for perl data structures
> p5-Term-ReadKey-2.30 A perl5 module for simple terminal control
> p5-Test-Harness-3.10 Run perl standard test scripts with statistics
> p5-Test-Simple-0.80 Basic utilities for writing tests in perl
> p5-Time-HiRes-1.9712,1 A perl5 module implementing High resolution
> time, sleep, an
> perl-5.8.8_1
> then I try cpan
> jail2# perl -MCPAN -e 'shell'
> /libexec/ld-elf.so.1: Shared object "libm.so.4" not found, required by
> "perl"

A jail that has been updated from (for example) a 6.x release to a 7.x
release with ports from 6.x will look for the shared libraries from
6.x, when 7.x has them updated and possibly renamed.  Has jail2 been

> Troubleshooting this complaint on jail2 I discovered the time stamp on
> the host was different than the time stamp on the basejail.

what time stamp?  of what? where?

> Anyway I'm puzzled, and I'm not really sure where to go from here. .
> I'd appreciate any help..
> Thanks
> Troy

It won't be a "do these and you'll be fixed" - given the initial post.
 I'm trying to gain more information before I can help.

More information about the freebsd-questions mailing list