При получении информации о пакетах появились следующие ошибки:
# pkg_version -v | grep need ... pkg_info: the package info for package 'wget-1.14_2' is corrupt ...
Для начала – необходимо убедиться, что не используется pkgng
вместо более старых утилит, так как его формат данных не совместим с более старыми утилитами pkg_*
:
# pkg The package management tool is not yet installed on your system. Do you want to fetch and install it now? [y/N]: N
Нет, не используется. В таком случае к этой ошибке могло привести что угодно – внезапное отключение питания сервера во время установки порта, или простое прерывание процесса установки комбинацией ctrl+C (сигнал Interrupt
, подробнее о сигналах в статье Linux&FreeBSD: команды kill, nohup — сигналы и управление процессами).
Если нет резервной копии каталога /var/db/pkg
– то единственный вариант – следующий.
Удаляем записи о wget
из каталога /var/db/pkg
:
# rm -rf /var/db/pkg/wget-1.14 # rm -rf /var/db/pkg/wget-1.14_2/
В данном случае – всё настолько плохо, что записи “двоились”.
Теперь – осталось просто переустановить сам порт “поверх” уже имеющего, что бы перезаписать в базу все его зависимости и информацию о нём:
# cd /usr/ports/ftp/wget && make BATCH=yes install clean
Теперь информация отображается корректно:
# pkg_info | grep wget wget-1.14_2 Retrieve files from the Net via HTTP(S) and FTP