Instalado versão incompatível pkg, como desinstalar (ou corrigir o contrário)?

1

Ao tentar atualizar um pfSense 2.2.6 para a versão mais recente (conforme descrito aqui ) e correndo pkg , eu tenho:

The package management tool is not yet installed on your system.
Do you want to fetch and install it now? [y/N]:

Depois de responder Sim, recebi:

Bootstrapping pkg from pkg+http://pkg.FreeBSD.org/freebsd:10:x86:64/latest, please wait...
Verifying signature with trusted certificate pkg.freebsd.org.2013102301... done
Installing pkg-1.10.5...
Newer FreeBSD version for package pkg:
To ignore this error set IGNORE_OSVERSION=yes
- package: 1003000
- running kernel: 1001000
Allow missmatch now?[Y/n]:

Eu decidi arriscar e respondi sim. Por fim, a instalação terminou com a mensagem de erro:

/usr/local/lib/libpkg.so.4: Undefined symbol "openat"

Isso, presumivelmente, significa que a versão pkg que obtive não é realmente compatível com o meu sistema. Infelizmente, cada nova tentativa de executar pkg produz o mesmo erro.

Como posso me livrar da versão pkg incompatível novamente e como posso obter uma que seja compatível com a versão BSD no meu pfSense? Ou há alguma outra maneira de corrigir isso?

    
por user149408 13.03.2018 / 19:35

1 resposta

2

O pkgng tem vários substitutos:

  • Há uma versão vinculada estaticamente disponível como pkg-static .
  • Você pode executar a ferramenta de instalação novamente explicitamente para /usr/sbin/pkg bootstrap -f .

O que você precisa fazer é dizer ao pkg para usar o repositório do FreeBSD 10.1. Como o arquivo de configuração diz que latest está usando o repositório do FreeBSD 10.3, cujos softwares contêm várias referências indefinidas para funções de biblioteca que não são encontradas em 10.1 ou anteriores, incluindo openat e utimensat . O 10.1 ABI não é compatível com 10.3.

Você faz isso alterando o arquivo .conf apropriado em /usr/local/etc/pkg/repos/ para dizer uma versão específica em vez de latest e, em seguida, reinicializando pkg .

Ou você pode compilar seus próprios na árvore de ports. Mas você ainda estará puxando o outro software 10.3 de latest se fizer isso.

Leitura adicional

por 13.03.2018 / 23:49

Tags