Обновление локального дерева портов FreeBSD
17 Jul 2009 | Автор: dd |Я например люблю ставить пакеты из исходников, не потому что бубен мой любимый народный инструмент, но если нужно что то быстро поставить и настроить, то прибегаю к портам. Или ломы мучиться с ключами. Вообще, дерево портов необходимо поддерживать в актуальном состоянии, чтобы когда припрет не морочиться тем, что из портов вам пытаются установить устаревший пакет, который уже днем с огнем не сыщешь по инету.
Порт – это наиболее удобный способ установки приложений в среде FreeBSD, причем приложение устанавливается со всеми выпущенными на данный момент заплатками и патчами. Процесс установки начинается командой make в корневой директории порта и сводится к поиску подходящих исходниках на зеркалах, скачиванию, разархивированию, компиляции и, после задания команды make install, установки с преднастроенными параметрами, и регистрацией в каталоге /var/db/pkg/(база установленных пакетов) .
Собственно для обновления дерева портов, необходимо поставить основной порт, отвечающий за данную процедуру- cvsup.
# cd /usr/ports/net/cvsup-without-gui
# make install
После этого нам необходимо настроить конфигурационный файл cvsupfile, находящийся в каталоге /etc
######################################
*default host=cvsup.FreeBSD.org
*default base=/usr
*default prefix=/usr
*default release=cvs
*default tag=.
*default delete use-rel-suffix
src-all
*default tag=.
ports-all
doc-all
######################################
Параметры конфига таковы:
*default host=cvsup.FreeBSD.org – адрес сервера откуда мы тащим обновления.
*default tag=RELENG_6_3 – до какой версии обновляемся
RELENG_4 – обновление до FreeBSD-4-Stable
RELENG_4_10 – обновление до FreeBSD-4-10
RELENG_5 – обновление до FreeBSD-5-Stable
RELENG_5_3 – обновление до FreeBSD-5-3
RELENG_6_3 – обновление до FreeBSD-6-3
. – обновление до Current версии (по преданиям на рабочих серверах этого лучше не делать) Если обновляются только порты, то нужно ставить точку, если же вы нацелились на make world, то необходимо указывать версию системы.
src-all – обновить исходники системы
*default tag=. – указатель до какой версии обновить порты, если указать что то вместо точки, то порты благополучно потрутся, и придется поновой обновляться чтобы получить их назад.
ports-all – указываем что хотим обновить все порты
После того как конфиг сохранили, следует запустить обновление ситемы:
# /usr/local/bin/cvsup -g -L 2 /etc/cvsupfile
после этого можно спокойно идти пить чай-кофе-пиво (нужное подчеркнуть), т.к. процесс будет идти минут 15-20 как минимум, в зависимости от канала.
Теперь чтобы поддерживать актуальную коллекцию портов (звучит очень комильфо), необходимо засунуть задачу в cron, для это в каталоге /usr/local/sbin/ создаем файло например ports_update.sh, прописываем в него указанную выше строку, и пишем в cron
35 23 * * 6 root /usr/local/sbin/cvsup_up.sh
хотя можно засунуть файл и в /etc/periodic/weekly/
Естетсвенно в обоих случаях файлу следует дать права на исполнение.
Для работы с установленными пакетами используются команды семейства pkg_ :
просмотр версий пакетов, устаревших и актуальных
# pkg_version -v
Если необходимо обновить какой либо порт, то идем в директорию его порта, и говорим следующее:
# make clean
# make
# pkg_delete -f имя_пакета (имя пакеты выводится при листинге pkg_version )
# make install
# make clean
***Примечание:
При обновлении портов, можно опустить неиспользуемые порты с языковыми поддержками, путем добавления в файл /usr/sup/refuse следующих строк:
ports/arabic
ports/chinese
ports/french
ports/german
ports/hebrew
ports/hungarian
ports/japanese
ports/korean
ports/portuguese
ports/polish
ports/vietnamese
Теги: FreeBSD, настройка системы
2 Trackback(s)