- Главная... arrow - Статьи... arrow | - BSD arrow FreeBSD обновляем порты

#Записки о Unix/Linux/BSD/Solaris

FreeBSD обновляем порты
Автор H@wk!   
11:03:2009 г.
Прежде чем приступать к установке программ из портов, необходимо обновить дерево портов. Делается это с помощью утилиты CVSup. 
Первое, что делаем - устанавливаем CVSup. Лучше это сделать из пакета (либо из программы sysinstall, либо командой pkg-add), т.к. CVsup написан на языке Modula-3 и если его собирать из портов, то сборка кода будет включать в себя сборку нескольких крупных зависимостей Modula-3.
Запускаем sysinstall, идем в подраздел configure/packages/sysutils и выбираем пакет cvsup-16.1h или cvsup-without-gui-16.1h, если не нужна графическая оболочка (этот пакет доступен, если указать источником коллекции пакетов ftp.freebsd.org или другой ftp сервер).
После инсталляции пакета приступаем к его настройке. Создаем файл настроек CVsup называемый "sup-файл".
В каталоге /usr/share/examples/cvsup/ можно найти несколько примеров этого файла для разных применений. Нам для обновления портов интересен файл /usr/share/examples/cvsup/ports-supfile.
Скопируем его в каталог /usr/local/etc:

# cp /usr/share/examples/cvsup/ports-supfile /usr/local/etc


Примечание: Можно создать просто пустой файл с именем например ports-supfile в /usr/local/etc (путь тоже не важен, как вам удобно).

Содержание файла:

*default host=cvsup12.FreeBSD.org
*default base=/usr
*default prefix=/usr
*default tag=.
*default delete use-rel-suffix
*default compress
## Ports Collection. (перечень коллекций портов)
ports-all


Где:
host=cvsup12.FreeBSD.org - указывает, откуда мы хотим получать обновления. Этот путь можно изменить при запуске программы cvsup, запуская ее с ключом -h hostname.
base=/usr - указывает, где будут размещаться файлы статуса (для поддержки истории обновлений). В указанном случае будет использоваться каталог /usr/sup.
prefix=/usr - указывает, где будут размещаться полученные файлы.
release=cvs - означает, что сервер должен получать информацию из главного репозитария FreeBSD CVS.
tag=. - версия исходных текстов. "Точка" означает current (текущую) версию. Для обновления портов используйте только "точку".
delete - дает возможность CVSup удалять файлы, чтобы поддерживать дерево портов в актуальном состоянии.
compress - включает использование gzip сжатия при передаче данных.
Слово default перед параметром означает, что он используется по умолчанию для всех далее перечисленных коллекций, которые мы хотим обновить.

Далее идет перечень коллекций, которые будут участвовать в обновлении:
ports-all - для обновления всей коллекции портов.
Чтобы обновить только определенные ветви коллекции портов, следует закомментировать строку ports-all и раскомментировать требуемые, например: ports-base, ports-net и т.д. (ports-base раскомментировать обязательно, чтобы всегда обновлялась структура самого дерева портов).

Сохраняем файл, теперь все готово для обновления коллекции портов. Набираем следующую команду:

/usr/local/bin/cvsup -g -L 2 /usr/local/etc/ports-supfile


Где:
-g
- указывает не использовать GUI (графическую оболочку).
-L
- уровень вывода сообщений:
0
- не выводить никаких сообщений, кроме об ошибках;
2
- выводить информацию о каждом производимом обновлении (указано в нашем примере).

(для получения информации о всех ключах используйте ключ -H)

CVsup подключится к выбранному серверу и приступит к синхронизации вашей коллекции портов. По окончании процедуры выполняем команду:

# pkg_version -v | less


для просмотра списка установленного ПО. После каждой программы будет указано надо ее обновлять или нет (< -требует обновления, = - установленная и в портах версии совпадают...)

Список обновлений доступен для чтения в файле /usr/ports/UPDATING. Читать этот файл полезно!

Если вы хотите регулярно обновлять свою коллекцию портов, то добавьте строчку в crontab с указынным временем обновлений, данная не хитрая процедура позволи всегда держать вашу коллекцию портов в актуальном состоянии.
примерно так:
/etc/crontab

00 03 * * * root /usr/local/bin/cvsup  -g -L 2 /usr/local/etc/ports-supfile >/dev/null 2>&1


Обновление раз в сутки в 3 часа утра.

В следующей статье я расскажу, как обновить установленные программы до последней версии, сохранив при этом  ее настройки.

//H@wk!

Добавить коментарий
Имя:
E-mail
Коментарий:



Код:* Code


Просмотров: 2647

  Ваш коментарий будет первым
RSS комментарии
 
« sysctl переменные для FreeBSD   FreeBSD клонирование HDD не вынимая диска и не останавливая сервер »

#COMMENT

FreeBSD 8.1 обновление php5-5....
Спасибо большое, сразу же помогла сортировка по алфавиту. Ре...
16/01/12 18:35 More...
By Antikiller

Ubuntu Server по Русски
У меня на работе такие же стоят, только ящик железный и UNIX...
10/01/12 21:39 More...
By abasin

FreeBSD монтирование USB HDD с...
А до этого устройство было смонтировано? Возможно оно занято...
23/12/11 15:04 More...
By H@wk!

FreeBSD монтирование USB HDD с...
подскажите пожалуйста пытаюсь смонтировать жёсткий диск USB ...
23/12/11 13:13 More...
By deadread

Учет трафика Linux - просто: D...
Обычно порт по умолчанию 667 а не 666, а подстроить можно в ...
15/12/11 12:45 More...
By Mescalito

Сейчас на сайте находятся:
11 гостей

Нашли ошибку!

Выделите текст и нажмите:
[Shift]+[Enter]
[Отправить]
Спасибо!