Questão Fazendo o downgrade de libxml2 em 12.04


Por alguma razão, em um dos servidores que temos em nossa rede rodando o Ubuntu Server 12.04, a versão do libxml2 é a 2.8.0 (que é a do Ubuntu 12.10).
Isso cria alguns problemas, especialmente porque eu preciso instalar libxml2-dev e recebo algumas dependências não atendidas. Estou tendo o erro a seguir:

libxml2-dev : Depends: libxml2 (= 2.7.8.dfsg-5.1ubuntu4.9) but 2.8.0+dfsg1-5ubuntu2.2 is to be installed

Eu não sei porque a versão mais nova do libxml2 está presente no sistema, mas existe uma maneira de usar a nova versão do libxml2-dev (que não está presente no arquivo sources.list padrão) ou com segurança faça o downgrade da libxml2 para a versão correta para 12.04?


2
2017-07-24 09:15


origem




Respostas:


experimentar:

apt search libxml2

este comando mostra a pesquisa de qualquer evidência: repositórios e pacotes instalados.

Então, se você vai ver, por exemplo, para fiel:

libxml2/trusty-updates,trusty-security,now 2.9.1+dfsg1-3ubuntu4.3 amd64
[installed]
  GNOME XML library

libxml2-dbg/trusty-updates,trusty-security 2.9.1+dfsg1-3ubuntu4.3 amd64
  Debugging symbols for the GNOME XML library

libxml2-dev/trusty-updates,trusty-security,now 2.9.1+dfsg1-3ubuntu4.3 amd64
  [installed,automatic]
  Development files for the GNOME XML library

Então, obviamente, se você vir essa saída, terá muitas chances de instalar a versão.

No entanto, se você precisar do pacote estritamente por versão, tente indicar a versão assim:

sudo apt-get install libxml2=2.9.1+dfsg1-3ubuntu4.3
sudo apt-get install libxml2-dbg=2.9.1+dfsg1-3ubuntu4.3
sudo apt-get install libxml2-dev=2.9.1+dfsg1-3ubuntu4.3

OU indicando o repositório de destino:

sudo apt-get install libxml2/precise libxml2-dbg/precise libxml2-dev/precise 

Depois de instalado, execute o seguinte comando para manter sua versão instalada, impedindo que o gerenciador de pacotes atualize-a automaticamente no futuro:

sudo echo "libxml2 hold" | sudo dpkg –set-selections

Com --no-remove opção apt-get irá sair do processo de instalação a qualquer momento sem nenhum aviso se algum pacote for removido:

sudo apt-get install --no-remove libxml2=2.7.8.dfsg-5.1ubuntu4.9

Outro presente: --no-install-recommends que reivindicam o apt-get não considere os pacotes recomendados como uma dependência para a instalação.

Ler apt-get precisos mangages pangolim

Espero que te ajude.


2
2017-07-24 09:56



Obrigado pelas ideias. Eu tentei fazer um apt-get install libxml2=2.7.8.dfsg-5.1ubuntu4.9 E parece que funciona mas pede para remover 76 pacotes no processo ... - Mircea M
Usar: apt-get install --no-remove libxml2=2.7.8.dfsg-5.1ubuntu4.9 Com --no-remove opção apt-get sairá do processo de instalação a qualquer momento, sem nenhum aviso, se algum pacote tiver que ser removido. Também outra opção será útil para você: --no-install-recommends que reivindicam o apt-get não considere os pacotes recomendados como uma dependência para a instalação. FAZER: atualizar resposta. - swift
Depois de instalado, execute o seguinte comando para manter sua versão instalada, impedindo que o gerenciador de pacotes atualize-a automaticamente no futuro: sudo echo “package hold” | sudo dpkg –set-selections - swift
Muito obrigado por toda a ajuda. Eu tentei o que você sugeriu e eu tenho isso: 0 upgraded, 0 newly installed, 1 downgraded, 76 to remove and 12 not upgraded. E: Packages need to be removed but remove is disabled. - Mircea M