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 7 обновление коллекции портов: 2 комментария

  1. anibius

    Доброго времени суток!
    По поводу обновления портов для семерки можно воспользоваться замечательной программой 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 нет.
    Вы не хотите собирать ядро и поэтому не обновляете коды?

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *