Использование утилиты portsnap для обновления портов
С версии FreeBSD 6.0 штатным средством обновления портов
является portsnap - утилита использующая моментальные, заранее сделанные снимки портов. Непонятно, чем не устраивает cvsup. Но - надо идти в ногу со временем :) Про неё в-принципе написано в хандбуке, поэтому эта статья является просто высказыванием собственного мнения и впечатлений. Итак, для начала рихтуем конфиг - /etc/portsnap.conf, если нужно указать другой сервер для обновлений: /etc/portsnap.conf - конфигурационный файл portsnap
# Директория, где по дефолту сохраняются сжатые моментальные снимки
# дерева портов.
# WORKDIR=/var/db/portsnap
# Собственно где находятся порты (для команд "update" и "extract")
# PORTSDIR=/usr/ports
# Сервер, или пул серверов с которых брать обновления. Можно
# поменять, но обычно это не приносит значимого ускорения работы
# (а на мой взгляд имеет смысл только в случае если у вас разная
# цена трафика из разных стран - например наш дешевле...)
SERVERNAME=portsnap.FreeBSD.org
# Доверенный ключ. Изменять его следует только в том случае, если
# если вы получили такое указание в подписанном PGP письме
# от <security-officer@FreeBSD.org> с объяснением почему.
KEYPRINT=9b5feee6d69f170e3dd0a2c8e469ddbd64f13f978f2f3aede40c98633216c330
Ну и пробуем:
#/usr/home/lissyara/> fetchLooking up portsnap.FreeBSD.org mirrors... using portsnap1.FreeBSD.org
Fetching public key... done.
snapshot tag... done.
snapshot metadata... done.
snapshot generated at воскресенье, 14 мая 2006 г. 04:39:01 (MSD):
ef5549df4952a2f59eb20419ac8008f6039b75268d7fbb 5% of 40 MB 42 kBps 15m35s
Extracting snapshot... done.
Verifying snapshot integrity... done.
Fetching snapshot tag... done.
Fetching snapshot metadata... done.
Updating from воскресенье, 14 мая 2006 г. 04:39:01 (MSD) to
воскресенье, 14 мая 2006 г. 21:02:49 (MSD).
Fetching 4 metadata patches... done.
Applying metadata patches... done.
Fetching 0 metadata files... done.
Fetching 79 patches.....10....20....30....40....50....60....70.... done.
Applying patches... done.
Fetching 3 new ports or files... done.
/usr/home/lissyara/>
Мдя. Мало что 40 мегов, так ещё и по времени на моём AMD K6-II 533 ушло минут
20 на телодвижения после скачивания... Долго. После чего устанавливаем дерево портов:
#/usr/home/lissyara/>portsnap extract/usr/ports/.cvsignore
/usr/ports/CHANGES
/usr/ports/COPYRIGHT
/usr/ports/KNOBS
/usr/ports/LEGAL
/usr/ports/MOVED
/usr/ports/Makefile
/usr/ports/Mk/bsd.apache.mk
.................
.................
/usr/ports/x11/yelp/
/usr/ports/x11/zenity/
Building new INDEX files... done.
/usr/home/lissyara/>
Ещё час с гаком ушёл... Пробуем обновиться:
#/usr/home/lissyara/>portsnap fetch updateLooking up portsnap.FreeBSD.org mirrors... using portsnap1.FreeBSD.org
Fetching snapshot tag... done.
Fetching snapshot metadata... done.
Updating from воскресенье, 14 мая 2006 г. 21:02:49 (MSD) to
воскресенье, 14 мая 2006 г. 22:00:22 (MSD).
Fetching 4 metadata patches... done.
Applying metadata patches... done.
Fetching 0 metadata files... done.
Fetching 4 patches... done.
Applying patches... done.
Fetching 0 new ports or files... done.
Removing old files and directories... done.
Extracting new files:
/usr/ports/LEGAL
/usr/ports/MOVED
/usr/ports/databases/p5-DBD-Pg/
/usr/ports/textproc/p5-HTML-EscapeEvil/
Building new INDEX files... done.
/usr/home/lissyara/>
Ну, тут он у cvsup`a выиграл :) минута ушла, или две :)
Итого - по времени на первое скачивание и установку стока же или даже больше чем установка cvsup из
портов, потом быстрей получается. Мне - не понравилось... Хотя утилита чётко в UNIX-like стиле - делает
одно, но неплохо. Тем не менее cvsup ведь всё равно ставить придётся - чтоб обновлять исходные коды
системы, такчто решать вам.