>Я тут решил постоянно пользоваться свежим софтом из портов и cvsup'лю их
>постоянно. Но новые порты устанавливаються поверх старых и старые всеравно остаються.
>А я хочу чтоб старые просто заменялись новыми а не устанавлиались
>поверх! Как мне это сделать?
во первых рекомендую:
http://www.opennet.me/tips/sml/36.shtml
http://unix1.jinr.ru/~lavr/ (2lavr сорри за рекламу но там есть что читать)
во вторых:
По большому надо делать так:
компилируешь новый порт, если он скомпилирован намано то деинсталлируешь старый и потом ставишь новый. Или в крайнем случае делаешь make reinstall нового поверх старого - но это не есть хорошо как многие говорят.
(не забыть в /etc/defaults/make.conf установить FORCE_PKG_REGISTER=YES)
В третьих:
Есть в портах такая прога:
/usr/ports/sysutils/portupgrade
(Комплекс скриптов на RUBY)
Она все это делает полуавтоматом.
Действия таковы:
после наката новых портов проверяешь обновились ли версии какого либо софта что у тебя уже установлено:
/usr/sbin/pkg_version -v |grep '<'
на выводе получишь список софта котрое требует обновления.
после этого запускаешь:
portupgrade софт_который_требует_обновления
И Portupgrade сделает следующее:
скомпилирует последнюю (по портам) версию софта,
сбэкапит версию рабочую,
проинсталлирует новую.
Если на последнем этапе произойдет сбой, то вернет рабочую версию из бэкапа.
пользуюсь такой технологией с февраля на двух серверах. пока что нареканий не было. Но продолжаю тщательно следить за всем что происходит на экране.
можно конечно этот процесс полностью автоматизировать но важно еще отслеживать ключи с которыми прога была установлена. Так например mysql323-server был изначально проинсталлирован с ключами
WITH_CHARSET=cp1251 аагрейдить же его надо уже с ключами
WITH_CHARSET=cp1251 SKIP_INSTALL_DB=yes потому как база то уже есть.
Если я ошибаюсь в чемто поправте меня но у меня это работает :)