Все время забываю команду "# 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/
Спасибо за труд. Перебрал все возможные зеркала работало только cvsup6.ru.FreeBSD.org
Огромное спасибо за комментарий выше, тоже много перебрал, даже первый американский попробовал, думал, может сам чего не так делаю, ан нет cvsup6.ru.FreeBSD.org заработал