oracle-java8-installer menghasilkan penghapusan "apt"? [Tutup]

14

Saya telah menjalankan kepercayaan sejak rilis alpha pertama, menarik pembaruan harian. Saya juga menginstal oracle-java7-installer dari PPA WebUpd8. Hari ini saya perhatikan selama dist-upgrade bahwa installer oracle-java7 sedang dihapus. Pada sistem tepi saya, saya hanya mengizinkan semua default jadi saya mengizinkan penghapusan berharap untuk mencoba versi java 8 pula. Namun ketika saya pergi untuk menginstal paket oracle-java8-installer ia ingin menghapus "apt" !? Ini jelas memicu kekhawatiran saya, karena bahkan terasa seperti masalah keamanan. Membantu memahami ini akan sangat dihargai.

$ 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
sumber
1
@AvinashRaj: Saya pikir dia tahu itu. :) @ Lance: Saya menduga itu adalah sesuatu apt-get dist-upgradeyang menyebabkan masalah ini, karena paket installer memiliki sedikit dependensi dan satu konflik, dan oracle-java7-installerseharusnya tidak dihapus.
saiarcot895
1
Cobalah untuk memegang semua paket penting yang ditunjukkan di atas dan kemudian coba instal oracle-java8-installerpaket.
Avinash Raj
1
@AvinashRaj:j2se-common
saiarcot895
1
Ini seharusnya tidak terjadi, tolong laporkan bug.
Braiam
1
Moderator. Masalah ini pada topik dan terkait langsung dengan Ubuntu. Juga bug dilaporkan segera setelah saya mengajukan pertanyaan. Saya adalah peserta aktif dalam komunitas Ubuntu dan StackExchange. Saya mengajukan pertanyaan ini yang ingin belajar dari rekan-rekan saya tentang dan aspek pengembangan Ubuntu. Saya sampaikan bahwa sifat dasar dari pertanyaan ini adalah alasan situs ini ada. Saya menyelidiki aturan pusat bantuan dan pertanyaan ini sesuai dengan pedoman. Menurut pendapat saya, mengajukan pertanyaan seperti ini secara aktif menghambat keterlibatan dalam masyarakat. Harap pertimbangkan kembali.
Lance Caraccioli

Jawaban:

8

Perubahan terbaru yang direferensikan dalam paket 'apt', ChangeLog tampaknya merupakan penyebab:

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

Paket oracle-java8-installer "Menyediakan" paket "sun-java6-jdk", sehingga konflik ini muncul dan mencegah kita dari menginstal paket WebUpd8 - meskipun oracle-java7-installer atau oracle-java8-installer sebenarnya tidak menginstal biner "apt" bermasalah yang disebutkan dalam changelog apt.

Saya melanjutkan dan mengirimkan laporan bug untuk ini: https://bugs.launchpad.net/ubuntu/+source/apt/+bug/1302736

Andy S
sumber
7

Andy S memiliki masalah mendasar di sini dan saya mengharapkan perbaikan segera. Silakan gunakan tautan laporan bug yang dia berikan dan tunjukkan bahwa itu juga mempengaruhi Anda sehingga mendapat prioritas yang lebih tinggi.

Jika Anda benar-benar tidak bisa menunggu, inilah solusi sementara untuk mengabaikan masalah ketergantungan dan memaksa pemasangan:

  • Unduh paket .deb dari apt sudo apt-get download oracle-java7-installer

  • Apakah pemasangan .deb yang baru saja Anda unduh, abaikan semua dependensi yang perlu dikeluhkan: sudo dpkg -i --ignore-depends=apt file-you-just-downloaded.deb

Dua item catatan:

  1. Anda dapat menggunakan ini untuk Java 8 dengan mengubah perintah di atas.
  2. Setidaknya untuk saat ini, apt Anda akan berpikir ia memiliki dependensi yang rusak dan meminta penghapusan oracle-java7-installer. Anda dapat memulihkan kembali dengan menggunakan apt-get -f install.
AvatarKava
sumber
1

Solusi lain sampai ini diperbaiki adalah untuk memodifikasi file deb dari webupd8 dan menghapus sun-java6-jdkdari Providesbaris dalam file kontrol deb. Ada skrip yang berguna dalam jawaban ini di superuser.com. Hanya ambil file asli , jalankan skrip di atasnya, modifikasi Providesbaris dan instal file yang dimodifikasi dengan sudo dpkg -i.

Saya mengunggah paket yang dimodifikasi , tetapi saya sangat menyarankan untuk menggunakan file asli dan melakukan modifikasi sendiri, karena Anda tidak boleh menginstal barang oleh orang secara acak di internet;)

Benjamin Wohlwend
sumber