web-dev-qa-db-fra.com

oracle-Java8-installer entraîne la suppression de "apt"?

Je fais confiance depuis la première version alpha, en tirant des mises à jour quotidiennes. J'ai également installé le programme d'installation Oracle-Java7 à partir du PPA WebUpd8. Aujourd'hui, j'ai remarqué lors d'une mise à niveau distante que le programme d'installation d'Oracle-Java7 était supprimé. Sur mon système Edge, j'autorise simplement toutes les valeurs par défaut. J'ai donc autorisé la suppression en espérant tester la version Java 8 de toute façon. Cependant, lorsque je suis allé installer le paquet d'installation Oracle-Java8, il a voulu supprimer "apt"!? Cela a évidemment suscité mon inquiétude, car cela me semble même un problème de sécurité. Aider à comprendre cela serait grandement apprécié.

$ 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!'
 ?] 
14
Lance Caraccioli

Cette modification récente référencée dans le paquet 'apt' ChangeLog semble être le coupable probable:

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

Le package du programme d'installation Oracle-Java8 "fournit" le package "Sun-Java6-jdk", de sorte que ce conflit bouillonne et nous empêche d'installer les packages WebUpd8, même si ni le programme d'installation Oracle-Java7 ni le programme d'installation Oracle-Java8 ne sont actuellement installés. installe le binaire problématique "apt" mentionné dans le changelog d'apt.

Je suis allé de l'avant et ai soumis un rapport de bogue pour ceci: https://bugs.launchpad.net/ubuntu/+source/apt/+bug/1302736

8
Andy S

Andy S a le problème sous-jacent ici et je m'attendrais à un correctif bientôt. Veuillez utiliser le lien de rapport de bogue qu'il a fourni et indiquer qu'il vous affecte également, de sorte qu'il gagne une priorité plus élevée.

Si vous ne pouvez absolument pas attendre, voici une solution temporaire pour ignorer les problèmes de dépendance et forcer l'installation:

  • Téléchargez le paquet .deb depuis apt Sudo apt-get download Oracle-Java7-installer

  • Faites l’installation du fichier .deb que vous venez de télécharger, en ignorant toutes les dépendances dont se plaint: Sudo dpkg -i --ignore-depends=apt file-you-just-downloaded.deb

Deux éléments à noter:

  1. vous pouvez utiliser la même chose pour Java 8 en modifiant les commandes ci-dessus en conséquence.
  2. Pendant au moins le moment, votre apt pensera qu'il a une dépendance cassée et demandera la suppression de l'installateur Oracle-Java7. Vous pouvez revenir en arrière en utilisant apt-get -f install.
7
AvatarKava

Une autre solution consiste à modifier le fichier deb à partir de webupd8 et à supprimer Sun-Java6-jdk de la ligne Provides dans le fichier de contrôle deb. Il y a un script pratique dans cette réponse sur superuser.com. Il suffit de saisir le fichier d'origine , d'exécuter le script dessus, de modifier la ligne Provides et d'installer le fichier modifié avec Sudo dpkg -i.

J'ai téléchargé le package modifié , mais je suggère fortement d'utiliser le fichier d'origine et de le modifier vous-même, car vous ne devriez pas installer de fichiers créés au hasard sur Internet;)

1