Получайте новые записи в блоге через RSS RSS
31 мая 2008 | Администрирование | Метки:

CVSup — обновление портов FreeBSD

Все время забываю команду "# cvsup -g -L 2 /путь/к/sup_файлу". А служит она для обновления дерева портов во FreeBSD.

Порты во FreeBSD — это коллекция переносимых приложений, я бы сказал, что это сборник ссылок на всевозможные программы для FreeBSD, позволяющий устанавливать их "одним кликом", ну на самом деле парой команд. 😉 К тому же эти программы перед внесеним в список проходят проверку, так что проблем с установкой практически не бывает.

Поскольку все в мире течет и все меняется то и коллекция портов периодически требует обновления. Ведь разработчики не стоят на месте и периодически вносят какие-либо изменения в то или иное программное обеспечение. Для поддержания дерева портов в актуальном состоянии во FreeBSD используется утилита cvsup. Посредством CVSup можно обновлять не только порты. Ее используют также для обновления исходных кодов операционной системы в каталоге /usr/src и документации в каталоге /usr/share/doc.

Ищем CVSup в портах:

  • # cd /usr/ports/
  • # make search name=”cvsup”

GUI version нам не подходит. Ну, если только Вы настраиваете себе десктоп систему, тогда можно и GUI. Для сервера нам понадобится cvsup-without-gui

  • # cd /usr/ports/net/cvsup-without-gui
  • # make install clean

После того, как cvsup установлен, необходимо создать так называемые sup файлы, в которых будут описаны инструкции: что обновлять, откуда и какую версию использовать. Для примера можно использовать файлы в каталоге /usr/share/examples/cvsup

Сделаем по примерам sup файлы для получения обновлений портов, документации и исходных кодов системы, а после поместим в каталог, например, /cvsup

Supfile для обновления портов:

# cat /cvsup/ports-all

# Ports collection supfile
*default host=cvsup3.ua.FreeBSD.org
*default base=/var/db
*default prefix=/usr
*default release=cvs tag=.
*default delete use-rel-suffix
*default compress ports-all

Supfile для обновления документации:

# cat /cvsup/doc-all

# Doc supfile
*default host=cvsup2.ua.FreeBSD.org
*default base=/var/db
*default prefix=/usr
*default release=cvs tag=.
*default delete use-rel-suffix
*default compress doc-all

Supfile для обновления исходных кодов ядра:

# cat /cvsup/src-sys

# Kernel source supfile
*default host=cvsup3.ua.FreeBSD.org
*default base=/var/db
*default prefix=/usr
*default release=cvs tag=RELENG_6
*default delete use-rel-suffix
*default compress src-sys

Supfile для обновления исходных кодов всей системы:

# cat /cvsup/src-all 

# System source supfile
*default host=cvsup3.ua.FreeBSD.org
*default base=/var/db
*default prefix=/usr
*default release=cvs tag=RELENG_7_0_0_RELEASE
*default delete use-rel-suffix
*default compress src-all

Запуск команды выглядит следущим образом:

  • # cvsup -g -L 2 /путь/к/sup_файлу

В принципе, обновлять регулярно мне нужно только коллекцию портов. Обновлять исходные коды ядра можно перед его очередной пересборкой, если появилась такая необходимость. Ну, а исходные коды всей системы я последний раз обновлял тогда когда переходил с версии FreeBSD 6.1 на FreeBSD 6.2.

Для обновления коллекции портов регулярно, в /etc/crontab нужно добавить строчку:

  • 00 03 * * * root cvsup -g -L 2 /cvsup/ports-all >/dev/null 2>&1

Таким образом, по cron’у раз в сутки в 3 часа утра обновляются порты.

А для обновления документации раз в неделю:

  • 30 03 * * 6 root cvsup -g -L 2 /cvsup/doc-all >/dev/null 2>&1

но понаблюдав пару раз за "обновлениями" пришел к выводу, что в этом нет особой необходимости. Документация обновляется не так часто, как этого хотелось бы. По крайней мере, русская KOI8-R.

Хорошее описание утилиты на официальном сайте: http://www.freebsd.org/

Русские зеркала CVSup:

  • cvsup.ru.FreeBSD.org
  • cvsup2.ru.FreeBSD.org
  • cvsup3.ru.FreeBSD.org
  • cvsup4.ru.FreeBSD.org
  • cvsup5.ru.FreeBSD.org
  • cvsup6.ru.FreeBSD.org
  • cvsup7.ru.FreeBSD.org

По материалам: http://live.daemony.org/


Заметки по теме:

комментария 2

  1. kyourselfer (3 апреля 2015, 10:43)
  2. Спасибо за труд. Перебрал все возможные зеркала работало только cvsup6.ru.FreeBSD.org

  3. Коля (6 января 2016, 08:14)
  4. Огромное спасибо за комментарий выше, тоже много перебрал, даже первый американский попробовал, думал, может сам чего не так делаю, ан нет cvsup6.ru.FreeBSD.org заработал

Напишите комментарий