|
Обновили дерево портов, соответственно получили последние версии, но иногда возникает необходимость "откатить" назад тот или иной порт, т.е. получить старую версию (например, если новая после обновления ПО не работает как надо или не работают сервисы, которые зависят от этого ПО), делается это с помощью утилиты portdowngrade:
cd /usr/ports/ports-mgmt/portdowngrade Дальше можно просто ставить стандартно (я так и делал)
# make install clean а можно в make передать CVS сервер, вот так:
make DEFAULT_CVS_SERVER="
Этот e-mail защищен от спам-ботов. Для его просмотра в вашем браузере должна быть включена поддержка Java-script
:/home/ncvs" install clean Если ставили стандартно, то для того чтобы получить старую версию, команда будет выглядеть таким образом:
# cd /usr/ports/
# portdowngrade -s "
Этот e-mail защищен от спам-ботов. Для его просмотра в вашем браузере должна быть включена поддержка Java-script
:/home/ncvs" net-im/ejabberd В данном примере, я хочу получить более старую версию сервера ejabber, та что в портах 2.1.8, а надо например 2.1.6 (это лишь пример, можно получить старую версию lang/php5 и т.д.). Выполняем команду, сначала сервер устанавливает шифрованной соединение и предлагает принять ключи, пишем "yes", дальше на экран выводится краткий хелп и выводятся старые версии, не нужно ждать пока покажутся все, как только видим цифру и нужную версию порта, жмем энтер, появляется строка, в которой надо поставить цифру нужного порта:
# portdowngrade -s "
Этот e-mail защищен от спам-ботов. Для его просмотра в вашем браузере должна быть включена поддержка Java-script
:/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:
Этот e-mail защищен от спам-ботов. Для его просмотра в вашем браузере должна быть включена поддержка Java-script
:/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
4 2010/10/24 21:55:04 2.1.5 - Mark BROKEN on 6.X: does not compile
5 2010/09/30 20:05:20 2.1.5 Teach the original Makefile about NOPORTDOCS.
Total lines: 48. Command:
Enter version number to change port to (0: exit): 2
Ставлю "2", т.е. обновляю то что есть сейчас в портах на версию 2011/05/10 16:44:25 2.1.6 - Update to 2.1.6
жмем ентер, говорим "yes", когда спросят
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
Дальше порт обновляется до нужной старой версии и выдается краткий хелп, как обновить уже установленное ПО до ранней версии, вот что предлагается:
The port has been set to the selected version. Install it if you wish.
If you have portupgrade installed, you should run
portsdb -Uu
now, to see the changes in the ports database. In any case
portupgrade -f ejabberd
will install the changed port. Note: if you run cvsup, the port
is changed back to the choosen label!
Отмечу, что portdowngrade откатывает только один пакет, без зависимостей. Поэтому стоит это учитывать, при откате на старые версии ПО.
Рortupgrade должен присутствовать в системе.
Материал подготовил:
Охальников Олег aka H@wk!
Просмотров: 615
 Ваш коментарий будет первым | | |