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