diff --git a/README.md b/README.md index f2d51b2..5a9ba6c 100644 --- a/README.md +++ b/README.md @@ -137,20 +137,36 @@ Stop jails ---------- `gocage stop test` - Update jails ---------- To update jail patch version, use gocage update : `gocage update test` +Update basejails/releases +---------- +To update basejails, you need to update the release they are base on. Specify release with -r, and the datastore storing concerned release with -d : +`gocage update -d fastgocage -r 14.1-RELEASE` Upgrade jails ---------- To upgrade jail to newer release, use gocage upgrade : `gocage upgrade -r 13.2-RELEASE test` -A pre-upgrade snapshot wil be made so we can rollback if needed. +A pre-upgrade snapshot wil be made so you can rollback if needed. +Upgrading basejail/release +---------- +Upgrading basejails currently needs to be done manually, for each jail. +The idea is to stop the jail, change the content of its fstab file to point to the new release, then start jail. +If one change the fstab while the jail is running, its system directories won't be unmounted at stop time and this will provoke stop errors. +To minimize downtime, the change could be scripted: +`gocage stop jail1 +sed -i .bak 's/14.0-RELEASE/14.1-RELEASE/' /iocage/jails/jail1/fstab +# Avoid race-condition by waiting for the update in fstab +until grep -q 14.1-RELEASE /iocage/jails/jail1/fstab; do sleep 0.2; done +gocage start jail1` + +You can now update ports. Delete jails ----------