2gusia (2gusia) wrote,
2gusia
2gusia

Categories:

Обновляем приложения, установленные через pkg в клетку

После обновления самой клетки-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:/ #


Принудительно обновляем сначала pkg
root@torrentmonitor:/ # pkg-static install -f pkg
-бл-бла-


Затем принудительно обновляем базу данных об установленном софте
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

root@torrentmonitor:/ # chmod 444 /lib/libcrypto.so.8


либо (вариант 2) внаглую заявить, что 7 версия библиотеки и есть 8-я

root@torrentmonitor:/ # ln -s /lib/libcrypto.so.7 /lib/libcrypto.so.8

И тот и другой способы - не эстетичные костыли. Но оба работают. Хорошее решение не нашёл, возможно в идеале надо переставить клетку на 11.0 с нуля. Во всяком случае в этом варианте конфликт библиотек не возникает.
Tags: jail, nas, nas4free
Subscribe

  • Статья про SSD Apacer в NAS

    Сегодня после длительной борьбы с web-редактором IXBT Live (который оказался не совместимым с Google Docs), наконец, опубликовали мой опус про SSD,…

  • OpenZFS и XigmaNAS

    Месяц назад я писал про Open ZFS. Там были мысли о том, когда он будет доступен в XogmaNAS. А в конце декабря зацепился на эту тему языками с…

  • Как провожают жесткие диски

    Сдох у меня жесткий диск в NAS Как видно - из SMART отпахал 70428 часов, то есть если 24/7 - больше 8 лет. И, я вам скажу, он не просто крутился…

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

  • 2 comments