Я не понимаю что там нужно сделать с портами/пакетами, хоть убейте. Пробовал на виртуалке, по pkg version -v ничего не отображается за исключением какого-то стандартного набора, на другом форуме подсказали следующее:
Я видимо в танке и не понимаю все равно как сделать все поэтапно.Потому что и способов много.
Сейчас, как я понимаю, у вас две базы - большая старая база и небольшая новая, причём скорее всего записи в новой дублируют старую.
Прежде всего забэкапьте /var/db/pkg. При возникновении ошибок можно будет откатиться, или использовать в качестве списка пакетов при установки с нуля. Далее:
Вариант 1:
Сохраните список пакетов в новой базе (pkg info). Запустите pkg2ng. Старая база сконвертится в новую. При этом записи которые уже были в новой базе могут быть потеряны, так что переустановите пакеты из сохранённого списка чтобы убедиться что новая база полная.
Вариант 2:
Сохраните список установленных пакетов (pkg_info + pkg info). Удалите их все (pkg_delete -a + pkg delete -a). Можно почистить /usr/local от мусора (но оставить конфиги в etc). Затем обновите систему, установите pkg и поставьте нужные вам пакеты, пользуясь сохранённым списком.
Минус второго способа - downtime. Сама пересборка не минус, поскольку при обновлении системы на новую ветку все пакеты нужно пересобирать в любом случае. А в остальном - плюсы:
1) База пакетов будет гарантированно полная
2) /usr/local избавится от мусора который мог туда быть добавлен кривыми портами
3) Чистая установка с меньшей вероятностью грозит ошибками
4) У pkg есть крайне полезная фича - она знает, был ли определённый пакет установлен как зависимость либо вы установили его явно. Это позволяет быстро удалить ненужные зависимости (pkg autoremove). При конвертации базы из старого формата этой информации у pkg не будет - всё будет считаться установленным руками.