Мы — долго запрягаем, быстро ездим, и сильно тормозим.

FreeBSD
  настройка
  начальная настройка
  Установка FreeBSD
  DUMMYNET
  Сборка ядра
  IPFW
  обновление
  portsnap
  CP1251 на FreeBSD
  loader.conf
  defaults/rc.conf
  jail
  Ntpdate/Ntpd
  diskless
  Обновление мира ("world")
  PBR & PF
  bsnmpd
  newsyslog
  if_bridge
  make.conf
  PBR & IPFW
  Работа с HDD
  sshd & AD
  Удаленное разбиение HDD
  Заметки об IPFW
  FreeBSD на VDS
  CVSUP и софт через Proxy
  i386=>amd64
  ALTQ в IPFW
  Виртуальный свитч
  VPN сервер по средствам mpd5.
  NTP
  sysupdate
  mpd5 L2TP
  freebsd + webcamera
  IPFW policy (PBR)
  RAID1 via LAN
  зеркальный RAID1 на ОС FreeBSD
  4.x => 7.x
  portdowngrade
  Быстрое обновление портов
  ipfw nat
  Использование csup
  UTF-8 console
  dump/restore
  hast carp zfs ucarp cluster
  ng_nat
  Wi-FI роутер + DHCP + DNS
  backup/restore & ZFS
  Обновление ОС и портов через SVN.
  подсчёт трафика
  программы
  почтовые системы
  Шелезяки
  Мелочи
  Файловая система
  WWW
  Security
  system
  Games Servers
  X11
  Programming
Очумелые Ручки
OpenBSD
Cisco


www.lissyara.su —> статьи —> FreeBSD —> настройка —> portdowngrade

portdowngrade - откатываем нужный порт до любой ранее версии

Автор: stopka.


Статья не моя, но хотелось чтобы всё было на одном ресурсе, чтобы вдруг чего не мучать бедный гугл.
Автор статьи: DonRumata

И так, буду цитировать со своими поправками, так как его статья уже старовата, думаю автор злиться не будет.
Поехали:

Иногда случается, что обновленный порт отказывается работать или несовместим с уже установленным старым софтом. Вот в этом случае иногда проще вернуть все как было, но как это сделать?

В этом случае весьма полезной оказывается утилита portdowngrade.
Итак, первым делом устанавливаем эту самую утилиту:
# cd /usr/ports/ports-mgmt/portdowngrade
# make DEFAULT_CVS_SERVER="anoncvs@anoncvs1.FreeBSD.org:/home/ncvs" install clean
# rehash

Далее как работает данный софт:

portdowngrade ведет логи на установленном по умолчанию cvs сервере (или определенном опцией -s ) и просматривает все изменения, потом отображает предыдущие версии и обновляет дерево портов (только выбранный порт). То есть если надо откатить большое кол-во портов, придётся откатывать по отдельности.

Например, апгрейд до php 5.2.0 прошел неудачно и остались мы без пхп совсем, хочеться вернуться на версию 5.1.x. Первым делом сообщим утилите portdowngrade(1) вывести результаты о php5.
# portdowngrade lang/php5

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 lang/php5 ...

Found several matches:
1: lang/php5
2: lang/php5-extensions

Please choose one: 1

В данном случае выбрали версию 1. Теперь утилита обратится к CVS и предложит выбрать до какой ветки вернуть порт.
Downgrading port: lang/php5

Step 1: Checking out port from CVS repository
CVS root directory: anoncvs@anoncvs1.FreeBSD.org:/home/ncvs
The authenticity of host 'anoncvs1.freebsd.org (216.38.206.185)' can't be established.
DSA key fingerprint is 4d:59:19:7b:ea:9b:76:0b:ca:ee:da:26:e2:3a:83:b8.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'anoncvs1.freebsd.org' (DSA) to the list of known hosts.

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: <space> : next page d : details
p : previous page
<enter> : leave presentation and downdgrade if wanted

Далее пойдет список версий, с комментариями о добавлении/фиксах в продукте
number date portversion comment
1 2006/11/12 19:43:12 5.2.0 Update suhosin patch to 0.9.6.2 release.
2 2006/11/06 17:43:10 5.2.0 Update to 5.2.0 release.
3 2006/10/27 19:11:17 5.1.6 Update suhosin patch to 0.9.6 release.
4 2006/10/16 09:30:58 5.1.6 - fix open_basedir vulnerability in php4 and php5 [1]
5 2006/10/06 17:24:21 5.1.6 Enable suhosin patch by default.
6 2006/10/05 20:59:17 5.1.6 Added safety checks against integer overflow.
7 2006/09/29 19:11:40 5.1.6 Update suhosin patch to 0.9.5 release.
8 2006/09/10 16:37:43 5.1.6 Add support for QDBM.
9 2006/09/09 12:35:33 5.1.6 Update suhosin patch to 0.9.3 release.
10 2006/09/04 07:59:15 5.1.6 - Add experimental suhosin protection system support
11 2006/08/31 14:37:05 5.1.6 Update to 5.1.6 release.
12 2006/08/18 16:41:29 5.1.5 Update to 5.1.5.
13 2006/08/18 16:40:18 5.1.4 Allow php5-ldap to be built with SASL support enabled.
14 2006/07/11 13:21:54 5.1.4 Add databases/php5-oci8:
15 2006/05/23 06:19:19 5.1.4 Try to fix build on 4.X.
16 2006/05/18 22:17:32 5.1.4 - Holy Batman! Chase rerolled distfile.
 Only chance is an addition of a file
17 2006/05/10 14:46:43 5.1.4 Chase gmp library and bump PORTREVISION.
Total lines: 152. Command:

Далее нажимаем Enter, или Пробел для прокрутки списка(не приходилось) и выбираем номер версии до которой нужно откатиться, на пример до версии 5.1.6 - номер 3 в списке.
Enter version number to change port to (0: exit): 3

Далее подтверждаем выбор нажатием Enter и ждём :)
Step 5: Checking out choosen date of the port from the CVS repository

Step 6: Modifying the port
Port: lang/php5
at : 2006/10/27 19:11:17
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

Подтверждаем физический откат порта, пишем "yes", что нам и нужно.
Если мы хотим посмотреть изменения, без физического отката, пишем "no"

Вот собственно и произошел откат порта.
Добиваем наше дело до конца:
# portupgrade -f php5*

Ну и проверяем какая картина получилась:
# pkg_info | grep php5

Вот собственно и всё, очень полезная утилита, выручила при откате erlang(ejabberd не совместим с erlang-r13*, только с ветками r12 и ниже)



размещено: 2009-07-01,
последнее обновление: 2009-07-08,
автор: stopka

оценить статью:

abigor, 2009-07-03 в 3:22:05

Может и оффтом. Оно конечно хорошо, что есть такой инструмент, но, перед тем как обновлять порты советую все же курнуть ман по pkg_create, мне кажет эта вещь избавит от многих проблем :)

luckyredhot, 2009-07-30 в 11:19:44

для совмести ejabberd с erlang-r13 есть патч
к тому же, уже вышла обновленная версия ejabberd, где проблем с совместимостью не должно быть

Sasha, 2009-08-07 в 15:33:11

Spasibo tha stattu :) Interesno :)!

Sasha, 2009-08-07 в 15:33:12

Spasibo tha stattu :) Interesno :)!

Qtronix, 2009-09-08 в 10:39:22

abigor
Маны конечно курить надо но я сейчас талкнулся с проблеммой
при установке пакета вывалилась ошибка
MySQL versions mismatch: mysql54-client is installed and wanted version is mysql50-client.
так что статья полезная имхо

Qtronix, 2009-09-08 в 10:42:16

Вот кстати что хотел спросить
с зависимостями как дело обстоит ??
при даунгрейде все зависимые пакеты тоже будут даунгрейдится ?? или нет ??

100pka, 2009-09-08 в 12:23:20

Нет, даунгрейдиться только тот порт который вы указали.
Если надо пересобрать все порты зависимые от даунгрейденного порта, то идём:
# cd /usr/ports/ports-mgmt/portmaster
# make install clean
# rehash
# portmaster -dRrf даунгрейденый_порт

100pka, 2009-09-08 в 12:24:26

И пересоберутся все порты зависимые от даунгреденного порта.

Qtronix, 2009-09-08 в 16:32:17

ок спасибо
выручили

tf7, 2009-09-30 в 11:46:45

cvs сервер из статьи не захотел у меня работать. сработало только на этом
portdowngrade -s :pserver:anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs lang/erlang

izitu, 2010-04-16 в 12:33:59

portupgrade -f \"php5*\"
в кавычки

Aleks, 2010-05-03 в 20:59:06

Из статьи не понятно - должен ли этот portdowngrade стоять ДО обновления какго-либо порта, чтобы потом с его помощью можно было бы вернуться к предыдущей версии...
Я вот нарвался - сдуру обновил PHP до 5.2.3 - отвалилось многое сразу... Откатиться бы обратно до 5.2.12

Alex Keda, 2010-05-03 в 21:34:23

Порты обновите
я для кого рисовал lang/php52?

Aleks, 2010-05-04 в 10:27:19

# portmaster -dRrf php5-extensions

выдает следующее:
===>>> The argument to -r must match only one port
===>>> Aborting update

тоже для php5
с помощью portdowngrade откатил php5-5.3.2 до 5.2.12 - перестало работать абсолютно все...
видимо потому что осталось кучка зависимых пакетов с версией 5.3.2...

Кто подскажет как быть?


bronk_kvis, 2010-09-02 в 9:44:48

С делай так :
# cd /usr/ports/ports-mgmt/portupgrade
# make install

#portupgrade -rf  php52

future3000, 2011-06-03 в 14:05:51

а если используется не cvs а portsnap, portdowngrade будет работать?

slater, 2012-07-01 в 9:56:22

make DEFAULT_CVS_SERVER="anoncvs@anoncvs.tw.FreeBSD.org:/home/ncvs" install clean

иначе требует пароль, на тему пароля можно почитать здесь:
http://www.freebsd.org/doc/ru_RU.KOI8-R/books/handbook/anoncvs.html


Оставьте свой комментарий:
Ваше имя:   *
e-mail:  
жирный
наклонный
подчёркнутый
ссылка
цвет
Нынешний год:   *
 


Хостинг HOST-FOOD

2014-07-27, lissyara
gmirror

Удалённое создание софтверного зеркала средствами gmirror, на диске разбитом с использованием gpart. Использование меток дисков для монтирования разделов.
2013-08-20, zentarim
Scan+Print server FreeBSD 9

Настройка сервера печати и сервера сканирования под управлением операционной системы FreebSD 9 для МФУ Canon PIXMA MP540
2011-11-20, BlackCat
Разъём на WiFi-карту

Делаем съёмной несъёмную антену на WiFi-карте путём установки ВЧ-разъёма
2011-09-14, manefesto
Настройка git+gitosis

Настройка системы контроля версия исходного кода в связке git+gitosis+ssh
2011-08-14, zentarim
Wi-FI роутер + DHCP + DNS

Настройка Wi-Fi роутера на Freebsd 8 + DNS сервер + DHCP сервер: чтобы Wi-Fi клиенты были в одной подсети с проводными, проводные и беспроводные клиенты получали адреса автоматически по DHCP, кэширующ
2011-06-15, -ZG-
Охранная система на FreeBSD+LPT

В этой статье описана попытка реализации простой охранной системы на базе FreeBSD с подключением к ней охранных устройтсв на LPT порт и видеорегистрацией.
2011-03-13, terminus
ng_nat

Описание работы ng_nat, практическое использование, достоинства и недостатки в сравнении с ipfw nat
2011-02-20, Капитан
Nagios+Digitemp

Статья описывает создание системы оповещения о превышении температуры в специальных помещениях на основе Nagios с использованием программы Digitemp.
2011-02-17, Le1
Zyxel Configuration

Скрипт для массового изменения конфига свичей Zyxel. Берет из файла iplist список ip-шек, заходит последовательно на каждый и выполняет комманды из файла commands, записывая происходящее в лог файл.
2011-02-16, fox
hast carp zfs ucarp cluster

HAST (Highly Available Storage), CARP, UCARP, ZFS, Cluster настройка и одаптация плюс личные размышления…
2011-02-04, BlackCat
Восстановление ZFS

История о том, как был восстановлен развалившийся RAIDZ ZFS-пул (перешедший в FAULTED) с помощью скотча и подручных средств. Или о том, какие приключения ожидают тех, кто не делает резервных копий.
2011-02-03, Капитан
1-Wire

Статья описывает самостоятельное изготовление контроллера DS9097 для съёма показаний с датчиков температуры DS1820 с помощью программы Digitemp.
2011-01-28, Капитан
Температура в серверной

Статья описывает построение системы наблюдения за температурой в помещении серверной с использованием программы Digitemp и выводом графиков в MRTG
2011-01-21, m4rkell
Syslog server

Как то буквально на днях, у нас завалилось, что то в еве) или не в еве не суть. Суть в том, что когда захотели снять логи с хостов esx обнаружили, что хранят эти негодяи логии только за последнии сутк
подписка

    вверх      
Статистика сайта
Сейчас на сайте находится: 9 чел.
За последние 30 мин было: 39 человек
За сегодня было
3667 показов,
730 уникальных IP
 

  Этот информационный блок появился по той простой причине, что многие считают нормальным, брать чужую информацию не уведомляя автора (что не так страшно), и не оставляя линк на оригинал и автора — что более существенно. Я не против распространения информации — только за. Только условие простое — извольте подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой, незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
  Если соизволите поставить автора в известность — то вообще почёт вам и уважение.

© lissyara 2006-10-24 08:47 MSK

Время генерации страницы 0.0549 секунд
Из них PHP: 30%; SQL: 70%; Число SQL-запросов: 77 шт.
Исходный размер: 127867; Сжатая: 22062