From: Евгений А. Беденко <bedenko@cbor.ru>
Subject: Обновление локального дерева портов в FreeBSD
Обновление локального дерева портов.
Программное обеспечение для 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)
480 Прочтений • [Обновление локального дерева портов в FreeBSD (freebsd upgrade port install)] [08.05.2012] [Комментариев: 0]