Skip to content

Instantly share code, notes, and snippets.

@nerdroychan
Created February 1, 2019 08:15
Show Gist options
  • Save nerdroychan/1decb30714b8bf1a8d5a199d70a303f4 to your computer and use it in GitHub Desktop.
Save nerdroychan/1decb30714b8bf1a8d5a199d70a303f4 to your computer and use it in GitHub Desktop.
Build a FreeBSD jail skeleton
#
# Build jail template script
# Feb 1, 2019 Roy Chan
#
dir="$(pwd)"
# First, delete current
chflags -R noschg $dir/base $dir/skel
rm -R $dir/base $dir/skel
# Create base and skel
mkdir $dir/base $dir/skel
# Install base system
bsdinstall jail $dir/base
# Update ports tree
mkdir $dir/base/usr/ports
portsnap -p $dir/base/usr/ports fetch
# Create a skeleton
mkdir $dir/skel/home $dir/skel/distfiles
mv $dir/base/etc $dir/skel/
mv $dir/base/usr/local/ $dir/skel/usr-local
mv $dir/base/tmp/ $dir/skel/
mv $dir/base/var/ $dir/skel/
mv $dir/base/root/ $dir/skel/
# Skip: mergemaster
# https://www.freebsd.org/doc/handbook/jails-application.html
# Create symlinks
cd $dir/base
mkdir skel
ln -s skel/etc etc
ln -s skel/home home
ln -s skel/root root
ln -s ../skel/usr-local usr/local
ln -s ../../skel/distfiles usr/ports/distfiles
ln -s skel/tmp tmp
ln -s skel/var var
cd $dir
# Change port build dir
echo "WRKDIRPREFIX?= /skel/portbuild" | tee $dir/skel/etc/make.conf
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment