Instalator oracle-java8-installer powoduje usunięcie „apt”? [Zamknięte]

14

Od pierwszego wydania wersji alfa działam z zaufaniem, ściągając codzienne aktualizacje. Zainstalowałem również instalator oracle-java7 z PPA WebUpd8. Dzisiaj zauważyłem podczas aktualizacji dist, że instalator oracle-java7 został usunięty. W moim systemie brzegowym po prostu zezwalam na wszystkie ustawienia domyślne, więc pozwoliłem na usunięcie, oczekując wypróbowania wersji java 8. Jednak kiedy poszedłem zainstalować pakiet instalacyjny oracle-java8, chciałem usunąć „apt” !? To oczywiście wzbudziło moją troskę, ponieważ wydaje się nawet troską o bezpieczeństwo. Pomoc w zrozumieniu tego będzie bardzo mile widziana.

$ 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
źródło
1
@AvinashRaj: Myślę, że on to wie. :) @Lance: Podejrzewam, apt-get dist-upgradeże przyczyną jest ten problem, ponieważ pakiet instalacyjny ma bardzo niewiele zależności i jeden konflikt i oracle-java7-installernie powinien był zostać usunięty.
saiarcot895
1
Spróbuj zatrzymać wszystkie ważne pakiety pokazane powyżej, a następnie spróbuj zainstalować oracle-java8-installerpakiet.
Avinash Raj
1
@AvinashRaj:j2se-common
saiarcot895
1
To nie powinno się zdarzyć, zgłoś błąd.
Braiam
1
Moderator. Ten problem dotyczy tematu i jest bezpośrednio związany z Ubuntu. Również błąd został zgłoszony prawie natychmiast po tym, jak zadałem pytanie. Jestem aktywnym uczestnikiem społeczności Ubuntu i StackExchange. Zadałem to pytanie, chcąc dowiedzieć się od moich rówieśników o aspektach rozwoju Ubuntu. Uważam, że sama natura tego pytania jest przyczyną istnienia tej witryny. Sprawdziłem zasady centrum pomocy i to pytanie jest zgodne z wytycznymi. Moim zdaniem zawieszanie takich pytań aktywnie zniechęca do zaangażowania w społeczność. Prosimy o ponowne rozważenie.
Lance Caraccioli

Odpowiedzi:

8

Ta ostatnia zmiana wymieniona w pakiecie „apt” ChangeLog wydaje się być prawdopodobnym winowajcą:

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

Pakiet oracle-java8-installer „Udostępnia” pakiet „sun-java6-jdk”, więc konflikt ten się wzmaga i uniemożliwia nam instalację pakietów WebUpd8 - nawet jeśli ani oracle-java7-installer, ani oracle-java8-installer faktycznie instaluje problematyczny plik „apt” wymieniony w dzienniku zmian apt.

Poszedłem dalej i przesłałem raport o błędzie: https://bugs.launchpad.net/ubuntu/+source/apt/+bug/1302736

Andy S.
źródło
7

Andy S ma tutaj podstawowy problem i spodziewam się, że wkrótce zostanie naprawiony. Skorzystaj z podanego przez siebie linku do raportu o błędzie i zaznacz, że ma on również wpływ na ciebie, aby zyskał wyższy priorytet.

Jeśli nie możesz się doczekać, oto tymczasowe obejście polegające na zignorowaniu problemów z zależnością i wymuszeniu instalacji:

  • Pobierz pakiet .deb z apt sudo apt-get download oracle-java7-installer

  • Wykonaj instalację właśnie pobranego pliku .deb, ignorując wszelkie zależności, na które skarży się: sudo dpkg -i --ignore-depends=apt file-you-just-downloaded.deb

Dwie ważne uwagi:

  1. możesz użyć tego podobnie w Javie 8, odpowiednio zmieniając powyższe polecenia.
  2. Przynajmniej na razie twój apt będzie myślał, że ma zerwaną zależność i poprosi o usunięcie instalatora oracle-java7. Możesz cofnąć, używając apt-get -f install.
AvatarKava
źródło
1

Innym obejściem, dopóki nie zostanie to naprawione, jest zmodyfikowanie pliku deb z webupd8 i usunięcie go sun-java6-jdkz Provideswiersza pliku kontrolnego deb. W tej odpowiedzi na stronie superuser.com znajduje się przydatny skrypt . Wystarczy pobrać oryginalny plik , uruchomić na nim skrypt, zmodyfikować Provideswiersz i zainstalować zmodyfikowany plik za pomocąsudo dpkg -i .

Przesłałem zmodyfikowany pakiet , ale zdecydowanie zalecamy użycie oryginalnego pliku i samodzielne wykonanie modyfikacji, ponieważ nie należy instalować rzeczy przez przypadkowe osoby w Internecie;)

Benjamin Wohlwend
źródło