22.3. Portsnap: средство обновления Коллекции Портов
Пред. | Глава 22. Обновление системы и смена версии | След.

## 22.3. Portsnap: средство обновления Коллекции Портов

Предоставил Tom Rhodes.
На основе заметок, которые предоставил Colin Percival.

Для обновления Коллекции Портов в базовую поставку FreeBSD включена утилита portsnap(8). Во время её выполнения устанавливается соединение с удалённым сервером, проверяется правильность ключа и загружается новая копия Коллекции Портов. Ключ используется для проверки целостности загруженных файлов для исключения возможности подмены на этапе передачи файлов. Для получения последней версии файлов Коллекции Портов выполните следующую команду:

`#` `portsnap fetch` Looking up portsnap.FreeBSD.org mirrors... 3 mirrors found. Fetching snapshot tag from portsnap1.FreeBSD.org... done. Fetching snapshot metadata... done. Updating from Wed Aug 6 18:00:22 EDT 2008 to Sat Aug 30 20:24:11 EDT 2008. Fetching 3 metadata patches.. done. Applying metadata patches... done. Fetching 3 metadata files... done. Fetching 90 patches.....10....20....30....40....50....60....70....80....90. done. Applying patches... done. Fetching 133 new ports or files... done.

В данном примере показано, что portsnap(8) обнаружила и верифицировала несколько патчей относительно текущего содержимого портов. Здесь также видно, что утилита уже запускалась ранее, иначе при первом запуске была бы загружена вся коллекция.

После того как portsnap(8) успешно завершила операцию `fetch`, Коллекция Портов и сопутствующие патчи находятся на локальной системе и прошли проверку целостности. Обновлённые файлы можно установить командой:

`#` `portsnap extract` /usr/ports/.cvsignore /usr/ports/CHANGES /usr/ports/COPYRIGHT /usr/ports/GIDs /usr/ports/KNOBS /usr/ports/LEGAL /usr/ports/MOVED /usr/ports/Makefile /usr/ports/Mk/bsd.apache.mk /usr/ports/Mk/bsd.autotools.mk /usr/ports/Mk/bsd.cmake.mk `...`

На этом процесс завершён, и теперь приложения можно установить или обновить с использованием Коллекции Портов.

Для последовательного запуска обоих процессов выполните следующую команду:

`#` `portsnap fetch update`

Пред. | Наверх | След.
22.2. Обновление FreeBSD | Начало | 22.4. Использование ветви разработки

Этот, и другие документы, могут быть скачаны с http://ftp.FreeBSD.org/pub/FreeBSD/doc/.

По вопросам, связанным с FreeBSD, прочитайте документацию прежде чем писать в <questions@FreeBSD.org>.
По вопросам, связанным с этой документацией, пишите в рассылку <doc@FreeBSD.org>.