1) Для начала скачаем в TheBrig (Maintenance, Tarball Management) пакеты FreeBSD 9.3, base и lib32 качать обязательно, doc и src - опционально. А старые (9.2) сотрём
2) Запускаем джейл, смотри его номер (пусть будет 4), через putty заходим по ssh, идём в джейл
jexec 4 $SHELL
3) Смотрим версию оси - должна быть 9.3
root@plex:/ # uname -a
FreeBSD plex.local 9.3-RELEASE-p6 FreeBSD 9.3-RELEASE-p6 #0 r275946M: Sat Dec 20 01:29:42 CET 2014 root@dev.nas4free.org:/usr/obj/nas4free/u sr/src/sys/NAS4FREE-amd64 amd64
OK
4) теперь смотрим, есть ли в джейле дерево портов. Можно взглянуть в TheBrig +ports у нашего джейла. В 4 верхних джейлах дерево портов есть, в трёх нижних - нет

5) Если дерево портов есть - его стоит полностью обновить (пока идёт процесс есть время выпить чашку кофе, и не одну)
portsnap fetch
portsnap extract
Если его нет - то этими же командами дерево можно поставить, но не обязательно.
Прим. В последствии, если мы не меняем версию оси как сейчас, дерево не обязательно перекачивать целиком, достаточно обновить
portsnap fetch
portsnap update
5) Ставим новый менеджер пакетов.
5.1) Если у нас установлено дерево пакетов, собираем. Этот вариант даёт самую последнюю версию.
cd /usr/ports/ports-mgmt/pkg
make UPGRADEPKG=1 install clean
5.2) Если дерева пакетов нет, то
pkg_add -r pkg
6) Информируем систему об этом замечательном факте
echo 'WITH_PKGNG=YES' >> /etc/make.conf
7) Настраиваем
pkg2ng
8) Копируем и редактируем конфиг
cp /usr/local/etc/pkg.conf.sample /usr/local/etc/pkg.conf
nano /usr/local/etc/pkg.conf
Здесь находим строку
#ASSUME_ALWAYS_YES = false;
и заменяем её на
ASSUME_ALWAYS_YES = true;
Внимание - # в начале убираем. Можно и не редактировать, но тогда при каждой установке пакета будет назойливо задавать вопросы.
9) Настраиваем репозиторий
mkdir -p /usr/local/etc/pkg/repos
nano /usr/local/etc/pkg/repos/FreeBSD.conf
Файл открывается пустой, в него надо добавить
FreeBSD: {
url: "pkg+http://pkg.FreeBSD.org/${ABI}/latest",
mirror_type: "srv",
enabled: yes
}
10) Проверяем, что всё работает
pkg update -f
root@tm:/usr/ports/ports-mgmt/pkg # pkg update -f
Updating FreeBSD repository catalogue...
[tm.local] Fetching meta.txz: 100% 968 B 1.0k/s 00:01
[tm.local] Fetching digests.txz: 100% 2 MB 2.1M/s 00:01
[tm.local] Fetching packagesite.txz: 100% 5 MB 5.3M/s 00:01
Processing new repository entries: 100%
FreeBSD repository update completed. 23708 packages processed:
0 updated, 0 removed and 23708 added.
11) Обновляем пакеты
pkg upgrade
12) Через TheBrig останавливаем и снова запускаем jail
ПРИМ. Чтоб 2 раза не вставать - пара полезных на будущее команд сюда же, респект камраду RU_Taurus
pkg install [имя_пакета] - ставит требуемый пакет и его зависимости
pkg audit -F - проверка уязвимостей
pkg info | grep nano - просмотр версии установленного пакета
pkg search [имя_пакета] - ищет заданное примерное имя пакета в локальном репозитарии
pkg search -f [имя_пакета] - посмотреть полную информацию о пакете (точное имя мы нашли первой командой)
pkg version -Rv - посмотреть что из пакетов требует обновления
pkg upgrade [имя_пакета] - обновить пакет до новой версии, можно задать несколько имён в одной команде. /ПРИМ