FreeBSD 9.3 — portsnap error «Empty error message»

Последнее время только то и делаю что натыкаюсь на досадные баги, которые отнимают время и не дают работать 🙁 В этот раз бага из розряда «тупее не придумаешь!»
Свежеустановленная FreeBSD 9.3 не хочет обновлять порты командой portsnap. Сразу скажу что в процессе инстала порты были установлены.
Вот такой прикол …

root@fr1:~ # portsnap fetch update
Looking up portsnap.FreeBSD.org mirrors... 7 mirrors found.
Fetching public key from ec2-eu-west-1.portsnap.freebsd.org... done.
Fetching snapshot tag from ec2-eu-west-1.portsnap.freebsd.org... done.
Fetching snapshot metadata... done.
Fetching snapshot generated at Tue Feb 10 02:01:06 EET 2015:
9528fd262c49a418579faa6f58bfc3c4040fe96c58d92d100% of   56 MB  601 kBps 01m36s
Extracting snapshot... snap/8bd2f2d1e85bb98a760022703eac8ff47d51700559cfedcb0b158e4eca2fc992.gz: (Empty error message)
tar: Error exit delayed from previous errors.
root@fr1:~ #

Решение этой досадной проблемы нашлось тут.

Оказалось дело в «глюкавом» пуле серверов portsnap прописанном по дефолту во фряхе. Делаем так:

root@fr1:~ # rm -rf /var/db/portsnap/*

Правим конфиг /etc/portsnap.conf до такого состояния:

# $FreeBSD: releng/9.3/etc/portsnap.conf 256003 2013-10-02 19:06:05Z cperciva $

# Default directory where compressed snapshots are stored.
WORKDIR=/var/db/portsnap

# Default location of the ports tree (target for "update" and "extract").
PORTSDIR=/usr/ports

# Server or server pool from which to fetch updates.  You can change
# this to point at a specific server if you want, but in most cases
# using a "nearby" server won't provide a measurable improvement in
# performance.
#SERVERNAME=portsnap3.FreeBSD.org
SERVERNAME=isc.portsnap.freebsd.org

# Trusted keyprint.  Changing this is a Bad Idea unless you've received
# a PGP-signed email from <security-officer@FreeBSD.org> telling you to
# change it and explaining why.
KEYPRINT=9b5feee6d69f170e3dd0a2c8e469ddbd64f13f978f2f3aede40c98633216c330

# Example of ignoring parts of the ports tree.  If you know that you
# absolutely will not need certain parts of the tree, this will save
# some bandwidth and disk space.  See the manual page for more details.
#
# WARNING: Working with an incomplete ports tree is not supported and
# can cause problems due to missing dependencies.  If you have REFUSE
# directives and experience problems, remove them and update your tree
# before asking for help on the mailing lists.
#
# REFUSE arabic chinese french german hebrew hungarian japanese
# REFUSE korean polish portuguese russian ukrainian vietnamese

# List of INDEX files to build and the DESCRIBE file to use for each
INDEX INDEX-7 DESCRIBE.7
INDEX INDEX-8 DESCRIBE.8
INDEX INDEX-9 DESCRIBE.9
INDEX INDEX-10 DESCRIBE.10

Собственно все что я тут поменял — это розкоментил параметры WORKDIR и PORTSDIR, а также изменил SERVERNAME
И после этого программа заработала как часы 🙂

root@fr1:~ # portsnap fetch
root@fr1:~ # portsnap extract

Скажите бред? Нееееет, это у FreeBSD такой подход к простым вещам 🙂 Если б оно из коробки работало по принципу «как в книжке написано», как бы тогда админы на хлебушек зарабатывали?

Хай щастить!

  1. Комментов пока нет

  1. Трэкбэков пока нет.

Why ask?