Но софт надо изредка обновлять. Оригинал от разработчика finch здесь, но у меня нашлось пара мелких дополнений. Апгрейды бывают разные
ЕСЛИ это текущий апдейт, без смены версии FreeBSD - п 2 пропускаем.
ЕСЛИ у нас сменилась минорная версия FreeBSD (например 10.2-p1 на 10.2-p2) - то п 2 исполняем. Это загрузка багфиксов, апдейтов безопасности и пр.
ЕСЛИ у нас сменилась мажорная версия FreeBSD (например 9.2 на 9.3 и, тем более, 9.3 на 10.1) - то всесто п 2 исполняем это.
0) Есть мнение, что перед тем, как куда-то соваться, стоит убедиться в возможности вернуться. Для этого я держу chroot на отдельном датасете Pool/Ext/Finch. И перед апгрейдом советую слелать с него снимок - можно через вебгуй Disks|ZFS|Snapshots|Snapshot, плюсик внизу-справа. Снимок я назвал before_ug, если что, к нему потом можно откатиться из командной строки дав
zfs rollback Pool/Ext/Finch@before_ug
ПОТОМ, и то если что-то пойдет не так, не сейчас :)
Теперь идем в командную строку,
1)заходим в chroot
nas4free ~/ root~$ finch chroot
finch: chrooting to "/mnt/Pool/Ext/Finch".
nas4free // root^>
Обратите внимание - немного изменилось системное приглашение
2) Исполняем ТОЛЬКО в случае минорного апдейта оси - см выше.
Грузим и устанавливаем апдейты (имейте терпение!)
nas4free // root^> freebsd-update fetch install
Looking up update.FreeBSD.org mirrors... 5 mirrors found.
Fetching metadata signature for 9.3-RELEASE from update5.freebsd.org... done.
Fetching metadata index... done.
Fetching 2 metadata patches.. done.
Applying metadata patches... done.
Fetching 2 metadata files... done.
Inspecting system... done.
Preparing to download files... done.
Fetching 1109 patches.....10....20....30....40....50.. ..60....70....80....90....100....110....1 20....130....140....150....160....170... .180....190....200....210....220....230. ...240....250....260....270....280....29 0....300....310....320....330....340....3 50....360....370....380....390....400... .410....420....430....440....450....460. ...470....480....490....500....510....52 0....530....540....550....560....570....5 80....590....600....610....620....630... .640....650....660....670....680....690. ...700....710....720....730....740....75 0....760....770....780....790....800....8 10....820....830....840....850....860... .870....880....890....900....910....920. ...930....940....950....960....970....98 0....990....1000....1010....1020....1030. ...1040....1050....1060....1070....1080. ...1090....1100.... done.
Applying patches... done.
Fetching 6 files... done.
(END)
Тут надо подождать несколько минут, но почему-то само не завершается. То ли автор накосячил, зайдя и забыв выйти из vi, то ли спецом оставил закладку чтобы из cron не апдейтили... Ну да не важно
Чтобы выйти надо набрать двоеточие и затем q (то есть :q)
Если вы набрали :q слишком рано - ничего страшного, система отпустит только когда процесс завершится. Можно набрать :q и несколько раз с перерывами.
В конце напишет
Installing updates... done.
Бинго!
3) Самое время апдейтить софт, установленный в chroot
pkg upgrade
На вопросы отвечаем Y
В моём случае предлагает проапгрейдить сам pkg, затем
sudo: 1.8.12 -> 1.8.13
qjail: 3.6 -> 3.8
plexmediaserver: 0.9.11.7.803_1 -> 0.9.11.16.958
nano: 2.2.6 -> 2.4.1
lsof: 4.89.c,8 -> 4.89.d,8
libiconv: 1.14_6 -> 1.14_8
indexinfo: 0.2.2 -> 0.2.3
ca_root_nss: 3.17.4_1 -> 3.18
Видно, что под раздачу попал и Plex
Соглашаемся, конечно - Y
4) По окончании выходим из chroot и перезапускаем его
nas4free // root^> exit
logout
nas4free ~/ root~$ finch stop
Stopping finch.
Stopping cron.
Stopping plexmediaserver.
Waiting for PIDS: 3099, 3099.
Cleaning up leftover child processes.
Waiting for PIDS: 3652 3254, 3652.
nas4free ~/ root~$ finch stop
Already stopped.
nas4free ~/ root~$ finch start
Starting finch.
Starting plexmediaserver.
Starting cron.
nas4free ~/ root~$
Подождав недолго идём в вебгуй PLEX, Настройки, Сервер, основные, видим, что версия обновилась.
На то, что пишет про доступную новую версию - не обращаем внимания. Это для платных подписчиков замануха - на одну версию вперёд дают :)
UPD от 01 мая 2015
Сложилась на сегодня забавная ситуация. В текущей версии Plex мелкий баг, который мне мешает жить (не могу руками подгрузить собственный постер к сериалу). Судя по форуму он исправлен в самой последней версии. Но она есть только в портах, а не в пакетах.
Поэтому вношу в этот пост как обновлять софт портами на примере plexmediaserver. Порты всегда раньше доступны, чем пакеты. Это очень редкий случай и вам вряд ли понадобится его исполнять
5) Обязательно делаем пп 1, 2 и 3. Затем смотрим установленную версию желаемого софта (plexmediaserver) Прим. Напомню, мы в chroot!
nas4free // root^> pkg version -Rv
Updating FreeBSD repository catalogue...
FreeBSD repository is up-to-date.
All repositories are up-to-date.
bash-4.3.33 = up-to-date with remote
ca_root_nss-3.18.1 = up-to-date with remote
gettext-runtime-0.19.4 = up-to-date with remote
indexinfo-0.2.3 = up-to-date with remote
jq-1.4 = up-to-date with remote
libiconv-1.14_8 = up-to-date with remote
lsof-4.89.d,8 = up-to-date with remote
nano-2.4.1 = up-to-date with remote
pkg-1.5.1 = up-to-date with remote
plexmediaserver-0.9.11.16.958 = up-to-date with remote
portmaster-3.17.7 = up-to-date with remote
qjail-4.0 = up-to-date with remote
sudo-1.8.13 = up-to-date with remote
Видим версию plexmediaserver
0.9.11.16.958
6) Идём на www.freshports.org и ищем интересующую нас софтину (plexmediaserver), смотрим версию.
Сейчас она
0.9.12.0.1071
. То есть новее. Можно обновить! Если версия будет та же, что в п 5 - то дальше ничего делать не надо, толку не будет.7) Обновляем дерево портов (если вы делаете по этому блогу, то оно уже в chroot есть)
portsnap fetch update
Это на пару минут
8) апгрейдим наш plexmediaserver (если другой софт - то по аналогии, где он лежит написано на) freshports)
cd /usr/ports/multimedia/plexmediaserver/ && make reinstall
Обычно начинается до-о-олгий процесс компиляции. Но Plex - софт собственнический, поставляется уже компилированным, так что всё пойдёт очень быстро.
9) По итогу снова даём
pkg version -Rv
И в выводе должно появиться
plexmediaserver-0.9.12.0.1071 > succeeds remote (remote has 0.9.11.16.958)
Бинго!
Перезапускаем chroot, как в п 4 и имеем свежую версию, в чём убеждаемся через вебгуй. /UPD