
En un sistema FreeBSD 8.4 tengo jais ejecutándose con EZjail y PKGNG (pkg) para mantener mis puertos.
pkg funciona bien en el host pero se niega a actualizar el software en las cárceles.
pkg -j 5 version -v
da el resultado deseado, por ejemplo
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)
Pero cuando ejecuto pkg -j 5 upgrade
o pkg -j 5 upgrade [portname]
me sale el siguiente mensaje:
No active remote repositories configured.
También instalé pkg dentro de esa cárcel y el problema es exactamente el mismo (por supuesto, se ejecuta sin el parámetro -j cuando está dentro de la cárcel).
¿Cual podría ser el problema?
Respuesta1
El problema era que dentro de la cárcel el directorio del repositorio estaba vacío, a diferencia del directorio /etc/pkg/ en el host. En este directorio del host hay un archivo llamado FreeBSD.conf, que define el repositorio.
Este archivo se creó automáticamente en el host, pero no en la cárcel. (Aunque pkg también se instaló dentro de la cárcel. Aparentemente, 'pkg -j' busca este archivo dentro de la cárcel.
Acabo de copiar este archivo en el directorio /etc/pkg/ en la cárcel y ahora funciona.
Para su información, el contenido de este archivo 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
}