A atualização do FreeBSD pkg não funciona para jails com o parâmetro -j

2

Em um sistema FreeBSD 8.4 eu tenho jais rodando com EZjail e PKGNG (pkg) para manter minhas portas.

pkg funciona bem no host, mas se recusa a atualizar o software nas prisões.

pkg -j 5 version -v fornece a saída desejada, por exemplo

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)

Mas quando executo pkg -j 5 upgrade ou pkg -j 5 upgrade [portname] , recebo a seguinte mensagem:

No active remote repositories configured.

Eu instalei o pkg dentro dessa cadeia também, e o problema é exatamente o mesmo (claro que rodando sem o parâmetro -j quando dentro da cadeia.

Qual poderia ser o problema?

    
por Lexib0y 03.03.2015 / 14:45

1 resposta

3

O problema era que dentro da jaula o diretório do repositório estava vazio, diferente do diretório / etc / pkg / no host. Neste diretório no host há um arquivo chamado FreeBSD.conf, que define o repositório.

Este arquivo foi criado automaticamente no host, mas não na cadeia. (mesmo que o pkg também tenha sido instalado dentro da cadeia. Aparentemente o 'pkg -j' procura por esse arquivo dentro da cadeia.

Acabei de copiar este arquivo para o diretório / etc / pkg / in the jail e ele funciona agora.

FYI, o conteúdo deste arquivo 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
}
    
por 03.03.2015 / 17:01

Tags