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!'
?]
apt-get dist-upgrade
że przyczyną jest ten problem, ponieważ pakiet instalacyjny ma bardzo niewiele zależności i jeden konflikt ioracle-java7-installer
nie powinien był zostać usunięty.oracle-java8-installer
pakiet.j2se-common
Odpowiedzi:
Ta ostatnia zmiana wymieniona w pakiecie „apt” ChangeLog wydaje się być prawdopodobnym winowajcą:
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
źródło
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:
apt-get -f install
.źródło
Innym obejściem, dopóki nie zostanie to naprawione, jest zmodyfikowanie pliku deb z webupd8 i usunięcie go
sun-java6-jdk
zProvides
wiersza pliku kontrolnego deb. W tej odpowiedzi na stronie superuser.com znajduje się przydatny skrypt . Wystarczy pobrać oryginalny plik , uruchomić na nim skrypt, zmodyfikowaćProvides
wiersz 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;)
źródło