ports/148777: [New Port] [sysutils/qjail] [Utility to deploy large number of jails quickly]

Joe Barbish joeb at a1poweruser.com
Tue Jul 20 02:50:01 UTC 2010


>Number:         148777
>Category:       ports
>Synopsis:       [New Port] [sysutils/qjail] [Utility to deploy large number of jails quickly]
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Tue Jul 20 02:50:01 UTC 2010
>Closed-Date:
>Last-Modified:
>Originator:     Joe Barbish
>Release:        
>Organization:
none
>Environment:
>Description:
Qjail [ q = quick ] is a 4th generation wrapper for the basic chroot jail system that includes security and performance enhancements. Plus a new level of "user friendliness" enhancements dealing with deploying just a few jails or large jail environments consisting of 100's of jails. Qjail requires no knowledge of the jail command usage.

It uses "nullfs" for read-only system binaries, sharing one copy of
them with all the jails.

Uses "mdconfig" to create sparse image jails. Sparse image jails
provide a method to limit the total disk space a jail can consume,
while only occupying disk space of the sum size of the files in
the image jail.

Ability to assign ip address with their network device name,
so aliases are auto created on jail start and auto removed on jail stop.

Ability to create "ZONE"s of identical qjail systems, each with
their own group of jails.

Ability to designate a portion of the jail name as a group prefix so
the command being executed will apply to only those jail names
matching that prefix.

Qjail reduces the complexities of large jail deployments to the novice
level. Qjail has a fully documented manpage written for easy comprehension, which is a rarity in the "open source" world. Details are given to felicitate the use of qjail's capabilities to the fullest extent possible.



>How-To-Repeat:

>Fix:


Patch attached with submission follows:

# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#	qjail
#	qjail/Makefile
#	qjail/pkg-descr
#	qjail/pkg-plist
#	qjail/pkg-message
#
echo c - qjail
mkdir -p qjail > /dev/null 2>&1
echo x - qjail/Makefile
sed 's/^X//' >qjail/Makefile << '7da10d06f45c8d9771da27572b9a6525'
X# New ports collection makefile for:   qjail
X# Date created:        July 22 2010
X# Whom:                Joe Barbish
X#
X# $FreeBSD$
X#
X
XPORTNAME=       qjail
XPORTVERSION=    1.0
XCATEGORIES=     sysutils
XMASTER_SITES=	${MASTER_SITE_SOURCEFORGE}
XMASTER_SITE_SUBDIR=	qjail   
XDISTFILES=	qjail-1.0.tar.bz2	
X
XMAINTAINER=	qjail at a1poweruser.com
X
XCOMMENT=        Utility to quickly deploy & manage large numbers of jails
X
XLICENSE=        BSD
X
XUSE_BZIP2=	yes
X
XMAN8=           qjail.8 qjail-intro.8 qjail.conf.8
X
XNO_BUILD=	yes
X
Xdo-install:
X	${CP}             /etc/rc.d/jail               /etc/rc.d/jail.original
X	${INSTALL_SCRIPT} ${WRKSRC}/jail               /etc/rc.d/
X	${INSTALL_SCRIPT} ${WRKSRC}/qjail              ${PREFIX}/bin/
X	${INSTALL_SCRIPT} ${WRKSRC}/qjail.sh           ${PREFIX}/etc/rc.d/
X	${INSTALL_DATA}   ${WRKSRC}/qjail.conf.sample  ${PREFIX}/etc/
X	${CP}             ${WRKSRC}/qjail.8            ${PREFIX}/man/man8/
X	${CP}             ${WRKSRC}/qjail-intro.8      ${PREFIX}/man/man8/
X	${CP}             ${WRKSRC}/qjail.conf.8       ${PREFIX}/man/man8/
X	${MKDIR} ${PREFIX}/share/examples/qjail
X	${CP} -rfp ${WRKSRC}/examples/ ${PREFIX}/share/examples/qjail/
X
Xpost-install:
X	${CAT} ${PKGMESSAGE}
X
X.include <bsd.port.mk>
7da10d06f45c8d9771da27572b9a6525
echo x - qjail/pkg-descr
sed 's/^X//' >qjail/pkg-descr << 'd05ede6e511e945409d9ec363b2f7453'
XQjail [ q = quick ] is a 4th generation wrapper for the basic chroot jail
Xsystem that includes security and performance enhancements. Plus a new
Xlevel of "user friendliness" enhancements dealing with deploying just a 
Xfew jails or large jail environments consisting of 100's of jails. 
XQjail requires no knowledge of the jail command usage.
X
XIt uses "nullfs" for read-only system binaries, sharing one copy of
Xthem with all the jails.
X
XUses "mdconfig" to create sparse image jails. Sparse image jails 
Xprovide a method to limit the total disk space a jail can consume,
Xwhile only occupying the physical disk space of the sum size of the 
Xfiles in the image jail. 
X
XAbility to assign ip address with their network device name,
Xso aliases are auto created on jail start and auto removed on jail stop.
X
XAbility to create "ZONE"s of identical qjail systems, each with
Xtheir own group of jails.
X
XAbility to designate a portion of the jail name as a group prefix so 
Xthe command being executed will apply to only those jail names
Xmatching that prefix. 
X
XQjail reduces the complexities of jail deployments to the novice
Xlevel. Qjail has a fully documented manpage written for easy comprehension.
XDetails are given to felicitate the use of qjail's capabilities to 
Xthe fullest extent possible.
X
X
XWWW:        http://sourceforge.net/projects/qjail/
X  
X
d05ede6e511e945409d9ec363b2f7453
echo x - qjail/pkg-plist
sed 's/^X//' >qjail/pkg-plist << '86541871219192287f62aed437005027'
Xetc/qjail.conf.sample
Xetc/rc.d/qjail.sh
Xbin/qjail
Xshare/examples/qjail/default/qjail.flavor
Xshare/examples/qjail/default/etc/make.conf
Xshare/examples/qjail/default/etc/periodic.conf
Xshare/examples/qjail/default/etc/rc.conf
Xshare/examples/qjail/default/usr/local/etc/sudoers
Xshare/examples/qjail/nullmailer-example/qjail.flavor
Xshare/examples/qjail/nullmailer-example/etc/rc.conf
Xshare/examples/qjail/nullmailer-example/etc/mail/mailer.conf
Xshare/examples/qjail/nullmailer-example/usr/local/etc/nullmailer/remotes
X
X at dirrm share/examples/qjail/default/usr/local/etc/
X at dirrm share/examples/qjail/default/usr/local/
X at dirrm share/examples/qjail/default/usr/
X at dirrm share/examples/qjail/default/etc/
X at dirrm share/examples/qjail/default/
X at dirrm share/examples/qjail/nullmailer-example/usr/local/etc/nullmailer/
X at dirrm share/examples/qjail/nullmailer-example/usr/local/etc/
X at dirrm share/examples/qjail/nullmailer-example/usr/local/
X at dirrm share/examples/qjail/nullmailer-example/usr/
X at dirrm share/examples/qjail/nullmailer-example/etc/mail/
X at dirrm share/examples/qjail/nullmailer-example/etc/
X at dirrm share/examples/qjail/nullmailer-example/
X at dirrm share/examples/qjail/
86541871219192287f62aed437005027
echo x - qjail/pkg-message
sed 's/^X//' >qjail/pkg-message << '52855aef6c8b745fc2678a3da244739a'
X
X
X***************************************************************************
X
X  Use the  qjail utility to deploy small or large numbers of jails quickly.
X  
X  Issue this command on the console command line first "man qjail-intro"
X  
X  After reading that do "man qjail" for the details.
X
X***************************************************************************
X
52855aef6c8b745fc2678a3da244739a
exit



>Release-Note:
>Audit-Trail:
>Unformatted:



More information about the freebsd-ports-bugs mailing list