Содержание

Коллекция Портов и Пакетов FreeBSD

Скачиваем обновления для всех портов

portupgrade -Far

Перенаправление на наш ftp:

make MASTER_SITE_OVERRIDE=ftp://ftp.onet/pub/distfiles/ fetch install clean
portinstall -M MASTER_SITE_OVERRIDE=ftp://ftp.onet/pub/distfiles/ -Fa

Использование семейства команд pkg_

Предупреждение pkg_info: package info is corrupt

Источник решения проблемы: Предупреждение pkg_info: package info is corrupt

Предупреждение pkg_info: package info is corrupt

Повреждение списка установленного программного обеспечения FreeBSD в результате сбоя компьютера во время работы portupgrade или pkgdb (отсутствуют файлы «+CONTENTS» в поддиректориях /var/db/pkg).

Перезагрузка компьютера из-за сбоя электропитания во время работы portupgrade. После включения fsck выявила большое количество сбоев на /var.

При создании файла /var/db/pkg/pkgdb.db после его удаления pkgdb -F не видит установленного ПО (например, в выводе присутствует «0 packages found»). Это проявляется только при создании pkgdb.db с нуля; если pkgdb.db не удалять, выводится информация о нарушенных зависимостях. pkg_info 2>&1 выводит строки вида:

pkg_info: the package info for package 'glib-2.14.4' is corrupt
  1. rm /var/db/pkg/pkgdb.db
  2. Если для установленной версии FreeBSD имеются готовые пакаджи с версиями ПО, совпадающими с версиями установленного в системе, извлечь из этих пакаджей файлы «+CONTENTS» и поместить на соответствующее место в /var/db/pkg/.
  3. Для программ, версии которых в пакаджах не совпадают с установленными в системе, выполнить
    portupgrade -fN <программа>

    .

  4. Если после выполнения предыдущего пункта в выводе pkg_info 2>&1 | grep corrupt встречаются записи вида: libiconv-1.11_1 A character set conversion lpkg_info: the package info for package 'lynx-2.8.6.5_2,1' is corrupt то для всех вторых программ в этой строке (здесь - lynx):деинсталлировать программу через порт; удалить директорию /var/db/<программа>; инсталлировать программу через порт.
  5. Обновить ПО через portupgrade.