Главная | Контакты | Настройки СМЕНИТЬ ПАЛИТРУ:

Главная > Программы > PortSnap

Использование утилиты 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/> fetch
Looking 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 update
Looking 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 ведь всё равно ставить придётся - чтоб обновлять исходные коды системы, такчто решать вам.

Материал взят: http://www.lissyara.su/?id=1165

https://docs.freebsd.org/ru/books/handbook/ports-using.html
Главная > Программы > PortSnap