Все время забываю команду "# 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/
Комментариев: 0
Комментариев пока нет, так что Вы можете быть первым!