oracle-java8-installer призводить до видалення "apt"? [зачинено]


14

Я працюю надійно з першого випуску альфа, піднімаючи щоденні оновлення. Я також встановив Oracle-java7-installer з WebUpd8 PPA. Сьогодні я помітив під час dist-оновлення, що програма Oracle-java7-installer видаляється. У моїй крайовій системі я просто дозволю всі параметри за замовчуванням, тому я дозволив видалити, очікуючи на тестування версії Java 8 у будь-якому випадку. Однак коли я пішов встановлювати пакет oracle-java8-installer, він хотів видалити "apt" !? Це, очевидно, викликало мою стурбованість, оскільки це навіть відчуває занепокоєння щодо безпеки. Допомога в розумінні цього буде дуже вдячна.

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

1
@AvinashRaj: Я думаю, що він це знає. :) @ Lance: Я підозрюю, що це щось, apt-get dist-upgradeщо спричиняє цю проблему, оскільки пакет встановлення має дуже мало залежностей і один конфлікт, і oracle-java7-installerйого не слід було видаляти.
saiarcot895

1
Спробуйте утримати всі важливі пакунки, показані вище, а потім спробуйте встановити oracle-java8-installerпакунок.
Avinash Raj

1
@AvinashRaj:j2se-common
saiarcot895

1
Це не повинно статися, повідомте про помилку.
Брайам

1
Модератор. Це питання є тематичним і безпосередньо пов'язане з Ubuntu. Також про помилку було повідомлено майже одразу після того, як я задав питання. Я активний учасник спільнот Ubuntu та StackExchange. Я задав це питання, бажаючи дізнатися у своїх однолітків про та аспект розвитку Ubuntu. Я стверджую, що сама природа цього питання є причиною існування цього веб-сайту. Я вивчив правила довідкового центру, і це питання входить до керівних принципів. На мою думку, такі питання, як такі, на затримку активно стримують залучення до громади. Будь ласка, перегляньте.
Ленс Караччолі

Відповіді:


8

Ця нещодавня зміна, на яку посилається пакет "підходящий" ChangeLog, є вірогідним винуватцем:

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

Пакет інсталятора oracle-java8 "Забезпечує" пакет "sun-java6-jdk", тому цей конфлікт роздувається і заважає нам встановлювати пакети WebUpd8 - навіть якщо насправді ні установка oracle-java7, ні інсталлятор oracle-java8 встановлює проблемний бінарний файл "apt", згаданий у aplogloglog зміни.

Я пішов далі і надіслав для цього звіт про помилку: https://bugs.launchpad.net/ubuntu/+source/apt/+bug/1302736


7

Енді S має основну проблему тут, і я очікую, що незабаром виправлять це питання. Будь ласка, скористайтеся наданим ним посиланням звіту про помилки та зазначте, що він також впливає на вас, щоб він набув більшого пріоритету.

Якщо ви абсолютно не можете чекати, ось тимчасове рішення, щоб ігнорувати проблеми залежності та змусити встановити:

  • Завантажте пакунок .deb від apt sudo apt-get download oracle-java7-installer

  • Зробіть інсталяцію .deb, яку ви тільки що завантажили, ігноруючи будь-які залежності, до яких належить: sudo dpkg -i --ignore-depends=apt file-you-just-downloaded.deb

Два пункти примітки:

  1. Ви можете використовувати це аналогічно для Java 8, відповідно змінивши команди вище.
  2. Принаймні, ваш підприємець подумає, що він має порушену залежність, і вимагатиме видалення oracle-java7-installer. Ви можете повернути назад за допомогою apt-get -f install.

1

Інше рішення, поки це не виправлено, - це змінити файл deb з webupd8 та видалити його sun-java6-jdkз Providesрядка у файлі управління deb. У цій відповіді на сайті superuser.com є зручний сценарій . Просто захопіть оригінальний файл , запустіть на ньому сценарій, змініть Providesрядок та встановіть модифікований файл sudo dpkg -i.

Я завантажив модифікований пакет , але настійно пропоную скористатись оригінальним файлом і зробити модифікацію самостійно, оскільки вам не слід встановлювати речі випадковими людьми в Інтернеті;)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.