Dependência não satisfeita com tzdata & tzdata-java em 12.04

0

Estou um pouco preso à dependência de pacotes. Eu não tenho certeza de como cheguei a essa bagunça, mas do estado atual: Se eu quiser fazer qualquer instalação usando apt-get install ou apt-get upgrade ele fica preso em um loop de dependência com o tzdata & amp; tzdata-java.

Então eu fiz apt-get autoremove para alguma limpeza:

@webserver1:~$ sudo apt-get autoremove
Reading package lists... Done
Building dependency tree
Reading state information... Done
You might want to run 'apt-get -f install' to correct these.
The following packages have unmet dependencies:
tzdata-java : Depends: tzdata (= 2016g-0ubuntu0.12.04) but 2016j-0ubuntu0.12.04 is installed
E: Unmet dependencies. Try using -f.

Então eu fiz apt-get autoremove -f

@webserver1:~$ sudo apt-get autoremove -f
Reading package lists... Done
Building dependency tree
Reading state information... Done
Correcting dependencies... Done
The following extra packages will be installed:
 tzdata-java
The following packages will be upgraded:
   tzdata-java
1 upgraded, 0 newly installed, 0 to remove and 62 not upgraded.
1 not fully installed or removed.
Need to get 126 kB of archives.
After this operation, 3,072 B of additional disk space will be used.
Do you want to continue [Y/n]? Y
Get:1 http://nl.archive.ubuntu.com/ubuntu/ precise-updates/main tzdata-java     all 2016j-0ubuntu0.12.04 [126 kB]
Fetched 126 kB in 0s (2,076 kB/s)
dpkg: dependency problems prevent configuration of tzdata-java:
tzdata-java depends on tzdata (= 2016g-0ubuntu0.12.04); however:
Version of tzdata on system is 2016j-0ubuntu0.12.04.
dpkg: error processing tzdata-java (--configure):
dependency problems - leaving unconfigured
No apport report written because the error message indicates its a followup  error from a previous failure.
Errors were encountered while processing:
  tzdata-java
E: Sub-process /usr/bin/dpkg returned an error code (1)

Então eu tentei dpkg --configure -a :

@webserver1:~$ dpkg --configure -a
dpkg: error: requested operation requires superuser privilege
logwise@webserver1:~$ sudo dpkg --configure -a
dpkg: dependency problems prevent configuration of tzdata-java:
tzdata-java depends on tzdata (= 2016g-0ubuntu0.12.04); however:
Version of tzdata on system is 2016j-0ubuntu0.12.04.
dpkg: error processing tzdata-java (--configure):
dependency problems - leaving unconfigured
Errors were encountered while processing:
tzdata-java

Posso instalar manualmente essa versão 2016g ausente juntamente com 2016j para quebrar esse ciclo de dependência? Se sim, como procedo? Por favor, informe ...

Conforme solicitado:

sudo Apt-cache policy tzdata

tzdata:
Installed: 2016j-0ubuntu0.12.04
Candidate: 2016j-0ubuntu0.12.04
Version table:
*** 2016j-0ubuntu0.12.04 0
    500 nl.archive.ubuntu.com/ubuntu/ precise-updates/main amd64 Packages
    500 security.ubuntu.com/ubuntu/ precise-security/main amd64 Packages
    100 /var/lib/dpkg/status
  2012b-1 0
    500 nl.archive.ubuntu.com/ubuntu/ precise/main amd64 Packages

E sudo apc-cache policy tzdata-java

tzdata-java:
Installed: 2016g-0ubuntu0.12.04
Candidate: 2016j-0ubuntu0.12.04
Version table:
 2016j-0ubuntu0.12.04 0
    500 nl.archive.ubuntu.com/ubuntu/ precise-updates/main amd64 Packages
    500 security.ubuntu.com/ubuntu/ precise-security/main amd64 Packages
 *** 2016g-0ubuntu0.12.04 0
    100 /var/lib/dpkg/status
   2012b-1 0
    500 nl.archive.ubuntu.com/ubuntu/ precise/main amd64 Packages

Também apt-cache showpkg tzdata-java

Reverse Depends:
openjdk-6-jre-headless,tzdata-java
openjdk-7-jre-headless,tzdata-java 2012e-0ubuntu0.12.04.1
openjdk-6-jre-headless,tzdata-java
openjdk-7-jre-headless,tzdata-java
openjdk-6-jre-headless,tzdata-java
Dependencies:
2016j-0ubuntu0.12.04 - tzdata (5 2016j-0ubuntu0.12.04)
2016g-0ubuntu0.12.04 - tzdata (5 2016g-0ubuntu0.12.04)
2012b-1 - tzdata (5 2012b-1)
Provides:
2016j-0ubuntu0.12.04 - tzdata-java:i386
2016g-0ubuntu0.12.04 - tzdata-java:i386
2012b-1 - tzdata-java:i386

    
por Jan Wiersma 06.03.2017 / 01:52

2 respostas

0

O que está acontecendo : você tem um conflito de versões .

dpkg: dependency problems prevent configuration of tzdata-java:
tzdata-java depends on tzdata (= 2016g-0ubuntu0.12.04); however:
Version of tzdata on system is 2016j-0ubuntu0.12.04.

Vamos ver qual versão do tzdata está no repositório do Ubuntu:

$ rmadison tzdata
 tzdata | 2012b-1              | precise          | source, all
 tzdata | 2016j-0ubuntu0.12.04 | precise-security | source, all
 tzdata | 2016j-0ubuntu0.12.04 | precise-updates  | source, all

Até agora, tão bom Você está claramente executando 12.04 e tzdata é claramente a versão mais recente disponível.

Agora vamos ver se sua versão de tzdata-java corresponde a 12.04

$ rmadison tzdata-java
tzdata-java | 2012b-1              | precise          | all
tzdata-java | 2016j-0ubuntu0.12.04 | precise-security | all
tzdata-java | 2016j-0ubuntu0.12.04 | precise-updates  | all

Uh-oh. O mais recente tzdata-java é 2016j, não 2016g.

O problema : Seu tzdata-java é de alguma fonte não-ubuntu, ou (mais provavelmente) é requerido por algum outro software não-Ubuntu no seu sistema.

Uma solução : desinstale o tzdata-java e todo o software que o requer. Esse software é não mais compatível com o lançamento do Ubuntu. Se desejar, você pode fazer ping na fonte upstream desse software - talvez eles tenham uma versão compatível disponível.

sudo apt-get remove tzdata-java

Não deixe de ler atentamente a lista de pacotes removidos. Recuse a remoção e volte aqui se tiver dúvidas sobre o que será removido.

    
por user535733 06.03.2017 / 04:14
0

Parecia tê-lo corrigido usando:

Baixando a versão do tzdata 2016g, estava reclamando:

wget "https://launchpad.net/ubuntu/+source/tzdata/2016g-0ubuntu0.12.04/+build/10969235/+files/tzdata_2016g-0ubuntu0.12.04_all.deb"

Instalando:

sudo dpkg -i tzdata_2016g-0ubuntu0.12.04_all.deb

Em seguida, acione uma atualização

sudo apt-get update

Faça uma limpeza (a saída me disse que tzdata & amp; tzdata-java agora estão bem na versão 2016g):

sudo apt-get autoremove

Em seguida, fazendo uma atualização completa:

sudo apt-get upgrade

Este último passo recuperou tudo para a versão 2016j

@webserver1:~$ sudo apt-cache policy tzdata
tzdata:
Installed: 2016j-0ubuntu0.12.04
Candidate: 2016j-0ubuntu0.12.04
Version table:
*** 2016j-0ubuntu0.12.04 0
    500 nl.archive.ubuntu.com/ubuntu/ precise-updates/main amd64 Packages
    500 security.ubuntu.com/ubuntu/ precise-security/main amd64 Packages
    100 /var/lib/dpkg/status
 2012b-1 0
    500 nl.archive.ubuntu.com/ubuntu/ precise/main amd64 Packages

 @webserver1:~$ sudo apt-cache policy tzdata-java
 tzdata-java:
 Installed: 2016j-0ubuntu0.12.04
 Candidate: 2016j-0ubuntu0.12.04
 Version table:
 *** 2016j-0ubuntu0.12.04 0
    500 nl.archive.ubuntu.com/ubuntu/ precise-updates/main amd64 Packages
    500 security.ubuntu.com/ubuntu/ precise-security/main amd64 Packages
    100 /var/lib/dpkg/status
 2012b-1 0
    500 nl.archive.ubuntu.com/ubuntu/ precise/main amd64 Packages
    
por Jan Wiersma 06.03.2017 / 06:42