Отправить заявку

FreeBSD - откатить порт предыдущей версии

После обновления дерево портов получили всё свеженькое, но иногда возникает необходимость "откатить" назад тот или иной порт, т.е. получить старую версию (например, если новая после обновления ПО не работает как надо или не работают сервисы, которые зависят от этого ПО), делается это с помощью утилиты 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

Дальше порт обновляется до нужной старой версии и выдается краткий хелп, как обновить уже установленное ПО до ранней версии.

Другие публикации