- 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 | TAG
optionally 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/packages
with 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!