Create a jail package!ΒΆ
- What is a jail package?
- A jail package is basically a small differential image template which can be deployed on top of vanilla jails. The RELEASE and patch level has to match between the package and a vanilla jail.
iocell uses the record function for this, which is a unionfs mount under the hood.
The resulting package can be stored on a web server with a checksum file ready to be deployed anywhere.
- create a new jail
iocell create -c tag=nginx - start jail
iocell start UUID | TAG - configure networking to enable internet access for this jail
- issue
iocell record start UUID | TAG, from now on every change will be recorded under/iocell/jails/UUID/recorded - install nginx with
pkg install nginx - install any other software you might require
- customize configuration files
- once finished, stop recording changes with
iocell record stop UUID | TAGoptionally stop jail - examine
/iocell/jails/UUID/recorded, runfind /iocell/jails/UUID/recorded -type f - remove any unnecessary files, make final customization/changes
- run
iocell package UUID | TAG, this will create a package in/iocell/packageswith a SHA256 checksum file - optionally discard the jail now with
iocell destroy UUID | TAG
The resulting UUID.tar.xz can now be deployed on top of any new vanilla
jail!
- create new jail
iocell create -c - deploy package
iocell import UUID tag=myjail - list jail
iocell list|grep myjail, grab UUID - start jail
iocell start UUID | TAG - examine your changes and packages - they are all there!
Enjoy!