O oracle-java8-installer resulta na remoção de "apt"? [fechadas]

14

Venho sendo fiel desde o primeiro lançamento alfa, obtendo atualizações diárias. Também instalei o oracle-java7-installer a partir do PPA WebUpd8. Hoje notei durante uma dist-upgrade que o oracle-java7-installer estava sendo removido. No meu sistema de borda, apenas permito todos os padrões, por isso permiti a remoção esperando experimentar a versão java 8 de qualquer maneira. No entanto, quando fui instalar o pacote oracle-java8-installer, ele quis remover o "apt" !? Obviamente, isso despertou minha preocupação, pois até parece uma preocupação de segurança. Ajudar a entender isso seria muito apreciado.

$ sudo apt-get install oracle-java8-installer
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Suggested packages:
  visualvm ttf-baekmuk ttf-unfonts ttf-unfonts-core ttf-kochi-gothic ttf-sazanami-gothic ttf-kochi-mincho ttf-sazanami-mincho
  ttf-arphic-uming
The following packages will be REMOVED:
  apt apturl nautilus-share python3-software-properties software-center software-properties-common software-properties-gtk
  ubuntu-extras-keyring ubuntu-minimal unattended-upgrades
The following NEW packages will be installed:
  oracle-java8-installer
WARNING: The following essential packages will be removed.
This should NOT be done unless you know exactly what you are doing!
  apt
0 upgraded, 1 newly installed, 10 to remove and 0 not upgraded.
Need to get 18.7 kB of archives.
After this operation, 7,838 kB disk space will be freed.
You are about to do something potentially harmful.
To continue type in the phrase 'Yes, do as I say!'
 ?] 
Lance Caraccioli
fonte
1
@AvinashRaj: Eu acho que ele sabe disso. :) @Lance: Suspeito que apt-get dist-upgradeisso tenha causado algum problema, pois o pacote do instalador tem muito poucas dependências e um conflito e oracle-java7-installernão deveria ter sido removido.
precisa saber é o seguinte
1
Tente manter todos os pacotes importantes mostrados acima e tente instalar o oracle-java8-installerpacote.
Avinash Raj
1
@AvinashRaj:j2se-common
saiarcot895
1
Isso não deve ocorrer, por favor relate um bug.
Braiam 04/04
1
Moderador. Este problema está no tópico e está diretamente relacionado ao Ubuntu. Também um bug foi relatado quase imediatamente após eu fazer a pergunta. Sou um participante ativo das comunidades Ubuntu e StackExchange. Eu fiz essa pergunta desejando aprender com meus colegas sobre e aspecto do desenvolvimento do Ubuntu. Eu afirmo que a própria natureza desta questão é a razão pela qual este site existe. Investiguei as regras da Central de Ajuda e esta pergunta está dentro das diretrizes. Na minha opinião, colocar questões como essas em espera desencoraja ativamente o envolvimento na comunidade. Por favor, reconsidere.
Lance Caraccioli

Respostas:

8

Essa mudança recente mencionada no ChangeLog do pacote 'apt' parece ser a provável culpada:

apt (0.9.15.4ubuntu4) trusty; urgency=low

  Cherry pick fixes from the apt 1.0 branch:

  [ Michael Vogt ]
  * add sun-java{5,6}-jdk to breaks/replaces as that provided a "apt"
    binary as well

O pacote oracle-java8-installer "Fornece" o pacote "sun-java6-jdk", portanto, esse conflito ocorre e evita a instalação dos pacotes WebUpd8 - mesmo que nem o oracle-java7-installer nem o oracle-java8-installer instala o binário problemático "apt" mencionado no log de alterações do apt.

Fui em frente e enviei um relatório de bug para isso: https://bugs.launchpad.net/ubuntu/+source/apt/+bug/1302736

Andy S
fonte
7

Andy S tem o problema subjacente aqui e eu esperaria uma correção em breve. Por favor, use o link do relatório de erros que ele forneceu e indique que isso também afeta você, para que obtenha maior prioridade.

Se você absolutamente não pode esperar, aqui está uma solução temporária para ignorar os problemas de dependência e forçar a instalação:

  • Faça o download do pacote .deb no apt sudo apt-get download oracle-java7-installer

  • Faça a instalação do .deb que você acabou de baixar, ignorando as dependências que o Apt reclama: sudo dpkg -i --ignore-depends=apt file-you-just-downloaded.deb

Dois itens a serem observados:

  1. você pode usar isso da mesma forma para o Java 8, alterando os comandos acima de acordo.
  2. Pelo menos por enquanto, o seu apt achará que tem uma dependência quebrada e solicitará a remoção do oracle-java7-installer. Você pode reverter usando apt-get -f install.
AvatarKava
fonte
1

Outra solução alternativa até que isso seja corrigido é modificar o arquivo deb do webupd8 e remover sun-java6-jdkda Provideslinha no arquivo de controle deb. Há um script útil nesta resposta em superuser.com. Basta pegar o arquivo original , executar o script, modificar a Provideslinha e instalar o arquivo modificado sudo dpkg -i.

Fiz o upload do pacote modificado , mas sugiro usar o arquivo original e fazer a modificação você mesmo, pois você não deve instalar coisas de pessoas aleatórias na internet;)

Benjamin Wohlwend
fonte