В портах (хорошо что Вы сказали ключевое слово "ПОРТЫ") BSD UNIX есть комплект Perl утилит управления пакетами в ветке /ports-mgmt:
/pub/FreeBSD/ports/i386/packages-9-stable/ports-mgmt/pkg-1.0.b14_1.tbz/
/pub/FreeBSD/ports/i386/packages-9-stable/ports-mgmt/pkg-orphan-1.0.1.tbz/
/pub/FreeBSD/ports/i386/packages-9-stable/ports-mgmt/pkg-plist-1.1.tbz/
/pub/FreeBSD/ports/i386/packages-9-stable/ports-mgmt/pkg_add_it-1.3.2.tbz/
/pub/FreeBSD/ports/i386/packages-9-stable/ports-mgmt/pkg_cleanup-1.1.tbz/
/pub/FreeBSD/ports/i386/packages-9-stable/ports-mgmt/pkg_cutleaves-20090810.tbz/
/pub/FreeBSD/ports/i386/packages-9-stable/ports-mgmt/pkg_install-20090902.tbz/
/pub/FreeBSD/ports/i386/packages-9-stable/ports-mgmt/pkg_jail-1.70.tbz/
/pub/FreeBSD/ports/i386/packages-9-stable/ports-mgmt/pkg_remove-1.1.tbz/
/pub/FreeBSD/ports/i386/packages-9-stable/ports-mgmt/pkg_replace-0.8.0.tbz/
/pub/FreeBSD/ports/i386/packages-9-stable/ports-mgmt/pkg_rmleaves-20050922.tbz/
/pub/FreeBSD/ports/i386/packages-9-stable/ports-mgmt/pkg_search-1.3.tbz/
/pub/FreeBSD/ports/i386/packages-9-stable/ports-mgmt/pkg_trackinst-1.2.3_2.tbz/
/pub/FreeBSD/ports/i386/packages-9-stable/ports-mgmt/pkg_tree-1.1_2.tbz/
/pub/FreeBSD/ports/i386/packages-9-stable/ports-mgmt/pkgfe-20090228.tbz/
/pub/FreeBSD/ports/i386/packages-9-stable/ports-mgmt/pkgs_which-0.2.0.tbz/
они есть для всех поддерживаемых версий и платформ. Вот они Вам и необходимы. Здесь я специально дал пример для FreeBSD 9, но если у Вас Open/NetBSD структура дерева портов и имена пакеджей будут иными, зато смысл не изменится.

Вам сначала придётся посмотреть зависимости, а после используйте утилиту
pkg_replace для замены пакета иначе у Вас с учётом имеющихся зависимостей в БД пакетов будут ставится обе версии и работа многих программ может быть нарушена.