oracle-java8-installer는“apt”제거를 초래합니까? [닫은]

나는 첫 번째 알파 릴리스 이후 매일 업데이트를 받고 신뢰할 수있었습니다. 또한 WebUpd8 PPA에서 oracle-java7-installer를 설치했습니다. 오늘 나는 dist-upgrade 동안 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!'
 ?] 


답변

‘apt’패키지 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-installer 패키지는 “sun-java6-jdk”패키지를 “제공”하므로 이러한 충돌이 발생하여 oracle-java7-installer 또는 oracle-java8-installer가 실제로는 아니지만 WebUpd8 패키지를 설치할 수 없습니다. apt changelog에 언급 된 문제가있는 “apt”바이너리를 설치합니다.

https://bugs.launchpad.net/ubuntu/+source/apt/+bug/1302736에 대한 버그 보고서를 제출했습니다.


답변

Andy S는 여기에 근본적인 문제가 있으며 곧 해결 될 것으로 예상됩니다. 그가 제공 한 버그 보고서 링크를 사용하여 더 높은 우선 순위를 갖도록 귀하에게 영향을 미침을 표시하십시오.

기다릴 수없는 경우 종속성 문제를 무시하고 강제로 설치하는 임시 해결 방법이 있습니다.

  • apt에서 .deb 패키지 다운로드 sudo apt-get download oracle-java7-installer

  • 방금 다운로드 한 .deb의 설치를 수행하십시오. sudo dpkg -i --ignore-depends=apt file-you-just-downloaded.deb

참고 사항 :

  1. 위의 명령을 적절히 변경하여 Java 8에서도 이와 유사하게 사용할 수 있습니다.
  2. 적어도 당분간, apt는 의존성이 깨져서 oracle-java7-installer 제거를 요청한다고 생각합니다. 을 사용하여 되돌릴 수 있습니다 apt-get -f install.

답변

이 문제가 해결 될 때까지 다른 해결 방법은 webupd8에서 deb 파일을 수정 하고 deb 제어 파일 sun-java6-jdkProvides줄에서 제거 하는 것 입니다. 이 답변 에는 superuser.com에 편리한 스크립트가 있습니다. 원본 파일을 가져 와서 스크립트를 실행하고 Provides줄을 수정 한 다음 수정 된 파일을 설치하십시오 sudo dpkg -i.

수정 된 패키지를 업로드 했지만 인터넷에 임의의 사람들이 물건을 설치해서는 안되기 때문에 원본 파일을 사용하고 직접 수정하는 것이 좋습니다.)