Чтобы обновить операционную систему, используемую клетками, созданными qjail, используется команда update. Клетки следует предварительно остановить.
ВАЖНО. Обновление происходит путём копирования бинарников из родительской системы, которой в нашем случае является finch chroot. Который следует обновить предварительно. Как это сделать
для минорного обновления и
для мажорного обновления Прим. Команды можно исполнять как из chroot, так и непосредственно из хост системы - finch озаботится, чтобы всё сработало.
nas4free ~/ root~$ qjail stop
finch: chrooting to "/mnt/Pool/Ext/Finch" for this 1 command only.
Jail successfully stopped owncloud
Jail successfully stopped tm
nas4free ~/ root~$ qjail update -b
finch: chrooting to "/mnt/Pool/Ext/Finch" for this 1 command only.
Deletion of sharedfs binaries successful for bin.
Deletion of sharedfs binaries successful for lib.
...blah-blah...
Copied host's binaries to sharedfs successfully for bin.
Copied host's binaries to sharedfs successfully for lib.
...blah-blah...
Host to sharedfs binaries update completed successfully.
nas4free ~/ root~$ qjail start
finch: chrooting to "/mnt/Pool/Ext/Finch" for this 1 command only.
Jail successfully started owncloud
Jail successfully started tm
Системный софт (используется одна копия на все qjail клетки) обновлён. Но стоит обновить и пользовательский софт. Если мы ставили его через pkg - это совсем просто. Но придётся сделать отдельно для КАЖДОЙ клетки.
смотрим активные клетки
nas4free ~/ root~$ jls
JID IP Address Hostname Path
9 192.168.1.55 owncloud /mnt/Pool/Ext/Finch/usr/jails/owncloud
10 192.168.1.54 tm /mnt/Pool/Ext/Finch/usr/jails/tm
Заходим по очереди в каждую, обновляем и выходим.
nas4free ~/ root~$ jexec 10 tcsh
tm / >pkg upgrade
Updating FreeBSD repository catalogue...
FreeBSD repository is up-to-date.
All repositories are up-to-date.
Checking for upgrades (0 candidates): 100%
Processing candidates (0 candidates): 100%
Checking integrity... done (0 conflicting)
Your packages are up to date.
tm / >exit
exit
Идём в следующую...