После обновления дерево портов получили всё свеженькое, но иногда возникает необходимость "откатить" назад тот или иной порт, т.е. получить старую версию (например, если новая после обновления ПО не работает как надо или не работают сервисы, которые зависят от этого ПО), делается это с помощью утилиты portdowngrade
Устанавливаем утилиту:
server# cd /usr/ports/ports-mgmt/portdowngrade
server# make DEFAULT_CVS_SERVER="anoncvs@anoncvs1.FreeBSD.org:/home/ncvs" install clean
server# rehash
Portdowngrade откатывает только один пакет, без зависимостей. Поэтому стоит это учитывать, при откате на старые версии ПО.
Например, необходимо получить более старую версию сервера ejabber (это лишь пример, можно получить старую версию mysql-server и т.д.). Выполняем команду, сначала сервер устанавливает шифрованной соединение и предлагает принять ключи, пишем "yes", дальше на экран выводится краткий хелп и выводятся старые версии, не нужно ждать пока покажутся все, как только видим цифру и нужную версию порта, жмем энтер, появляется строка, в которой надо поставить цифру нужного порта:
server# portdowngrade -s " <a href="mailto:anoncvs@anoncvs1.FreeBSD.org">anoncvs@anoncvs1.FreeBSD.org</a>:/home/ncvs" net-im/ejabberd
portdowngrade 0.6 by Heiner Eichmann
Please note, that nothing is changed in the ports tree
unless it is explicitly permitted in step 6!
Seeking port net-im/ejabberd ... found: net-im/ejabberd
Step 1: Checking out port from CVS repository
CVS root directory: <a href="mailto:anoncvs@anoncvs1.FreeBSD.org">anoncvs@anoncvs1.FreeBSD.org</a>:/home/ncvs
Step 2: Reading the port history from the CVS repository
Step 3: Analyzing the port history from the CVS repository
Step 4: Load port version numbers and present results
Keys: : next page d : details
p : previous page
: leave presentation and downdgrade if wanted
=================================================================
number date portversion comment
1 2011/06/24 13:49:45 2.1.8 - Update to 2.1.8
2 2011/05/10 16:44:25 2.1.6 - Update to 2.1.6
3 2011/03/20 12:53:23 2.1.5 - Get Rid MD5 support
Total lines: 48. Command:
Enter version number to change port to (0: exit): 2
Жмем "2" и ентер
Step 5: Checking out choosen date of the port from the CVS repository
Step 6: Modifying the port
Port: net-im/ejabberd
at : 2011/05/10 16:44:25
Type 'yes' to bring the port to the state of the date above
or 'no' to exit without changing anything. Note, that this only changes
the port, not the installed software! yes or no:yes
Дальше порт обновляется до нужной старой версии и выдается краткий хелп, как обновить уже установленное ПО до ранней версии.