FreeBSD 7 обновление коллекции портов


Как известно в FreeBSD (в данный момент использую версию 7) удобно ставить пакеты через коллекцию портов (ports), ну также нужно не забывать поддерживать эту коллекцию в актуальном состоянии, для это есть несколько способов, я опишу способ привычный для меня.

Обновление с помощью инструмента CVSup

Для начала нам нужно установить пакет cvsup:

# cd /usr/ports/net/cvsup/
# make install

После этого нужно создать конфикурационный файл cvsup, для этого создадим файл ports-supfile в /usr/local/etc/ports-supfile слудующего содержания:

 *default  host=cvsup.ru.FreeBSD.org
 *default  base=/usr
 *default  prefix=/usr
 *default  release=cvs
 *default  tag=.
 *default  delete use-rel-suffix
 ports-all

Собственно host можно прописать другой, какой удобнее для вас к примеру: cvsup12.FreeBSD.org

Ну вот теперь мы можем запустить процесс обновления CVSup:

# /usr/local/bin/cvsup -L 2 /usr/local/etc/ports-supfile

CVSup подключиться к выбранному серверу и начнет синхронизацию. Опция -L 2 определяет самую высокую степень подробности.

После того как процесс завершится коллекция портов будет обновлена.

Теперь можно выполнить: pkg_version -v , чтобы посмотреть, какие порты необходимо обновить.

Также можно данный процесс автоматизировать, для этого нужно сделать слудующее:

Добавить последнюю команду в periodic, если нет то нужно создать каталог под именем 'periodic' в /usr/local/etc, а в нем создать каталог 'daily', внутри каталога файл 100.cvsup-ports и поместить в него следующие строки:

#!/bin/sh /usr/local/bin/cvsup -g -L 2 /usr/local/etc/cvsupfile

Размещено в разделе FreeBSD

08.09.2008

Комментарии:


admin
2009-03-29 13:29:37

Спасибо. Учту на будущее.


anibius
2009-01-26 23:02:47

Доброго времени суток! По поводу обновления портов для семерки можно воспользоваться замечательной программой portmaster!Она обновляет порты,которые уже стоят не нарушая зависимости. cd /usr/ports/ports-mgmt/portmaster make install clean rehash -для того чтобы программа стала доступна для нашей оболочки сразу после установки,иначе logout пришлось бы сделать ищем что необходимо обновить portmaster -L | grep -B1 "New version" выводятся имена пакетов пример portmaster -b expat-1.95.8 обновляем expat -b -сохраняем копию установленного пакета в /root,чтобы можно было откатиться,если новый софт ведет себя плохо если новая версия нам не нравится,то # pkg_delete -f expat-2.0.0 # pkg_add /root/expat-1.95.8.tbz откатились к старой Если еще прикрутить portaudit,то вообще счастье будет ) Она проверяет установленные пакеты на уязвимости. Еще у меня вопросик по /usr/local/etc/ports-supfile ports-all а строчки src-all нет. Вы не хотите собирать ядро и поэтому не обновляете коды?