RFC (Request for Comments, Запрос на комментарии) - серия документов, публикуемая сообществом исследователей и разработчиков, руководствующихся практическими интересами, в которой описывается набор протоколов и обобщается опыт функционирования Интернет.
Программное обеспечение для FreeBSD постоянно усовершенствуется. И чтобы идти в ногу со временем, нужно хотя бы раз в месяц обновлять его. В данной статье мы рассмотрим обновление локального дерева портов и немного затронем обновление программ при помощи набора портов.
Порт - это один из очень удобных способов установки программного обеспечения для FreeBSD. Чтобы установить нужную программу достаточно войти в директорию с нужным портом и дать всего одну команду make install.
Что же происходит при выполнении make install?
1. Если в каталоге /usr/ports/distfiles не обнаружен устанавливаемый пакет, то выполняется команда make fetch. Загружается с ftp сервера исходный tar-архив и копируется в каталог /usr/ports/distfiles. Проверяются зависимость от других пакетов, нужные скачиваются.
2. Выполняется команда make checksum. Т.е. проверяется подлинность архива tar.
3. Далее архив расспаковывается в рабочий каталог work (make extract).
4. В исходный код вносятся исправления из каталога files (make patch).
5. Выполняется сценарий конфигурирования make configure.
6. Компилируется исходный код (make build)
7. Копирование файлов в соответствующие каталоги (make install).
После инсталляции порта, запись о нем создается в каталоге /var/db/pkg/.
Ну чтож за дело! Для обновления локального дерева портов нам понадобится пакет cvsup. Установим его.
# cd /usr/ports/net/cvsup/ # make install
Создадим конфигурацию при помощи псевдо-порта cvsupit
# cd /usr/ports/net/cvsupit/ # make # make install
На экране должно появится меню псевдо-порта cvsupit. Выберите пункт меню The 5.0-current branch (.=HEAD). В остальных меню примите все по умолчанию (не устанавливайте исходники /src) и откажитесь от обновления CVSup.
В каталоге /etc должен появится файл cvsupfile. Откройте его и закоментируйте все строки начинающиеся с src. Должно получится примерно следующее:
Я обновляю дерево портов каждую неделю через cron. Я создал файлик cvsup_up.sh в /usr/local/sbin/ и поместил в него команду обновления портов (см. выше). В /etc/crontab добавил следующую строчку
35 23 * * 6 root /usr/local/sbin/cvsup_up.sh
Чтобы посмотреть какие программы мне нужно обновить, я использую команду
# pkg_version -v > /tmp/newport
Для обновления какой-либо программы заходим в нужный порт и последовательно выполняем следующие команды:
# make clean # make # pkg_delete -f имя_пакета # make install clean
имя_пакета - это название установленного ранее пакета (например cvsup-6.1_3)