Назад | Перейти на главную страницу

Обновление FreeBSD pkg не работает для тюрем с параметром -j

В системе FreeBSD 8.4 у меня есть jais, работающий с EZjail, и PKGNG (pkg) для поддержки моих портов.

pkg отлично работает на хосте, но отказывается обновлять программное обеспечение в тюрьмах.

pkg -j 5 version -v дает желаемый результат, например

ImageMagick-6.7.3.4                <   needs updating (index has 6.9.0.4,1)
ORBit2-2.14.19                     <   needs updating (index has 2.14.19_1)

Но когда я бегу pkg -j 5 upgrade или pkg -j 5 upgrade [portname] Я получаю следующее сообщение:

No active remote repositories configured.

Я также установил pkg внутри этой тюрьмы, и проблема точно такая же (конечно, без параметра -j, когда она находится внутри тюрьмы.

В чем может быть проблема?

Проблема заключалась в том, что внутри тюрьмы каталог репозитория был пуст, в отличие от каталога / etc / pkg / на хосте. В этом каталоге на хосте находится файл FreeBSD.conf, который определяет репозиторий.

Этот файл был создан автоматически на хосте, но не в тюрьме. (хотя pkg также был установлен внутри тюрьмы. Очевидно, «pkg -j» ищет этот файл внутри тюрьмы.

Я просто скопировал этот файл в каталог / etc / pkg / в тюрьме, и теперь он работает.

К вашему сведению, содержимое этого файла FreeBSD.conf:

# $FreeBSD$
#
# To disable this repository, instead of modifying or removing this file,
# create a /usr/local/etc/pkg/repos/FreeBSD.conf file:
#
#   mkdir -p /usr/local/etc/pkg/repos
#   echo "FreeBSD: { enabled: no }" > /usr/local/etc/pkg/repos/FreeBSD.conf
#

FreeBSD: {
  url: "pkg+http://pkg.FreeBSD.org/${ABI}/latest",
  mirror_type: "srv",
  signature_type: "fingerprints",
  fingerprints: "/usr/share/keys/pkg",
  enabled: yes
}