A portaudit szépen szólt, hogy a python25 csomag több hibát is tartalmaz, célszerű lenne frissíteni, de mivel ez a template része, ezért ez "közös" csomag, minden jail örökölte. Ennek ellenére az összes jail-on belül futtathatjuk a portupgrade parancsot, hogy frissítsük, az elhasznált hely kevésbé fontos, mint a biztonsági kockázat.
A jail technológia egyetlen hátránya a jail frissítésének nehézsége – de csak akkor, ha a megszokott módon műveljük. ZFS esetén a template tartalmát átmásolhatjuk egy újabb alkönyvtárban, amelyet verziózhatunk. Én eddig a /jails/system_v1.0.3/ verziónál tartok, ez nagyjából azt jelenti, hogy alaprendszert nem változtattam, az első csomagkészlethez képest nem került újabb csomag a template-be, de már három frissítés történt a jail mintában. Mivel sok helyen előfordult a java szükségessége, ezért úgy döntöttem, hogy a template része lesz a Sun JDK6.0 is, így az elkövetkező verziószám a v1.1.0 lesz.
A jail frissítését célszerű script-re bízni, így nem lesz túl sok munkánk a frissítéssel:
#!/usr/local/bin/bash if ( test "$1" = "" ) then echo "Usage:" echo "$0 <from directory> <to directory>" exit -1 fi if ( test "$2" = "" ) then echo "Usage:" echo "$0 <from directory> <to directory>" exit -2 fi FROM=$1 TO=$2 HOSTNAME="logserver.system.jails.javaforum.hu" JAILNAME="syslogserv" echo "Checklist:" echo " Installed extra packages in jail:" echo " openfwtk" echo "" echo "Sleep for 10 seconds - [Ctrl-C]" sleep 10 echo "Copy /etc/rc.conf" cp $FROM/etc/rc.conf $TO/etc/ echo "Copy /usr/local/etc/syslog-ng.conf" cp $FROM/usr/local/etc/syslog-ng.conf $TO/usr/local/etc/ echo "Copy munin-node plugins: amavis postgrey" cp $FROM/usr/local/etc/munin/plugins/amavis $TO/usr/local/etc/munin/plugins/ cp $FROM/usr/local/etc/munin/plugins/postgrey $TO/usr/local/etc/munin/plugins/ echo "Copy munin-node plugins.conf" cp $FROM/usr/local/etc/munin/plugin-conf.d/plugins.conf $TO/usr/local/etc/munin/plugin-conf.d/ echo "Copy munin-node states" cp $FROM/usr/local/var/munin/plugin-state/* $TO/usr/local/var/munin/plugin-state/ echo "Stop jail" /etc/rc.d/jail stop $JAILNAME echo "Remount dpool/jails/data/system/logserver" zfs set mountpoint=$TO/var/log dpool/jails/data/system/logserver echo "Set 192MByte quota on dpool$FROM" zfs set quota=192M dpool$FROM echo "Todo:" echo " Update /etc/rc.conf (modify jail directory)" echo " Update portsnap.sh (modify jail directory)" echo " Check jail's /etc/rc.conf for installed new services" echo " Start jail: /etc/rc.d/jail start $JAILNAME"