Обновляем приложения, установленные через pkg в клетку
Dec 22, 2016 17:57
После обновления самой клетки-jail рекомендуется обновить и софт в ней [Зачем?!]Вопрос зачем - не такой очевидный. Ну вроде как новее-лучше. Устраняются найденные уязвимости... Но на практике бывает и к худшему. К примеру qBittorrent то пропадал то оживал. При этом, напомню, обычно, почти всегда то есть, клетки способны нормально работать под управлением хоста другой версии. Так что перед апгрейдом есть хорошая мысль клетку бекапить. Средствами zfs снапшотов или сматывать tar чрез TheBrig - на ваш вкус.
Само обновление в предположении, что софт ставили пекеджами, через pkg, в принципе простое Смотрим активные клетки nas4free ~/ root~$ jls JID IP Address Hostname Path 1 192.168.1.55 owncloud /mnt/Pool/Ext/Finch/usr/jails/owncloud 2 192.168.1.54 tm /mnt/Pool/Ext/Finch/usr/jails/tm 4 192.168.1.64 torrentmonitor.local /mnt/Pool/Ext/Jails/torrentmonitor 5 192.168.1.32 qBittorrent.local /mnt/Pool/Ext/Jails/qBittorrent
Выбираем нужную, входим в неё по номеру (пусть - 4) nas4free ~/ root~$ jexec 4 tcsh root@torrentmonitor:/ #
Затем принудительно обновляем базу данных об установленном софте root@torrentmonitor:/ # pkg update -f root@torrentmonitor:/ # pkg upgrade -f
Вот только на этот раз, при переходе от 10.3 к 11.0 вылезла странная глупость - конфликт версии библиотеки Проявляется при любом вызове pkg вот так root@torrentmonitor:/ # pkg Shared object "libcrypto.so.8" not found, required by "libarchive.so.6"
Костыль состоит в том, чтобы либо (вариант 1) скопировать нужную версию из хоста в каждую клетку (Капитан напоминает, что в примере ниже надо своё расположение клетки поставить) nas4free ~/ root~$ cp -a /lib/libcrypto.so.8 /mnt/Pool/Ext/Jails/torrentmonitor/lib nas4free ~/ root~$ jexec 4 tcsh root@torrentmonitor:/ # ls -la /lib total 13189 drwxr-xr-x 3 root wheel 52 Dec 22 13:12 . drwxr-xr-x 19 root wheel 25 Aug 15 22:21 .. --blah-blah-- -r--r--r-- 1 root wheel 184104 Aug 22 2015 libcam.so.6 -r--r--r-- 1 root wheel 62040 Aug 22 2015 libcrypt.so.5 -r--r--r-- 1 root wheel 2043280 Oct 29 22:33 libcrypto.so.7 -rwxr-xr-x 1 root wheel 2528984 Dec 1 17:38 libcrypto.so.8 -r--r--r-- 1 root wheel 62680 Aug 22 2015 libctf.so.2
И тот и другой способы - не эстетичные костыли. Но оба работают. Хорошее решение не нашёл, возможно в идеале надо переставить клетку на 11.0 с нуля. Во всяком случае в этом варианте конфликт библиотек не возникает.