oracle-java8-installer是否导致“ apt”删除?[关闭]


14

自从第一个Alpha版本发布以来,我一直在运行可信赖的软件,每天都会更新。我还从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!'
 ?] 

1
@AvinashRaj:我想他知道。:) @Lance:我怀疑这apt-get dist-upgrade是导致该问题的原因,因为安装程序软件包几乎没有依赖关系并且存在一个冲突,因此oracle-java7-installer不应删除该软件包。
saiarcot895 2014年

1
尝试保存上面显示的所有重要软件包,然后尝试安装oracle-java8-installer软件包。
Avinash Raj 2014年

1
@AvinashRaj:j2se-common
saiarcot895 2014年

1
不应发生这种情况,请报告错误。
Braiam

1
主持人 此问题是主题,与Ubuntu直接相关。当我问这个问题时,几乎立即就报告了一个错误。我是Ubuntu和StackExchange社区的积极参与者。我问了这个问题,希望向同行学习有关Ubuntu开发的知识和方面。我认为这个问题的本质是该网站存在的原因。我调查了帮助中心的规则,这个问题在指导原则之内。我认为,搁置诸如此类的问题会积极地阻碍社区的参与。请重新考虑。
Lance Caraccioli 2014年

Answers:


8

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”软件包,因此该冲突冒了出来,并阻止了我们安装WebUpd8软件包-即使oracle-java7-installer和oracle-java8-installer都没有安装apt更改日志中提到的有问题的“ apt”二进制文件。

我继续为此提交了一个错误报告:https : //bugs.launchpad.net/ubuntu/+source/apt/+bug/1302736


7

Andy S在这里有潜在的问题,我希望尽快解决。请使用他提供的错误报告链接,并指出它也会影响您,以便获得更高的优先级。

如果您绝对不能等待,这里有一个临时性的解决方法,可以忽略依赖项问题并强制安装:

  • 从apt下载.deb软件包 sudo apt-get download oracle-java7-installer

  • 安装刚刚下载的.deb文件,而忽略apt抱怨的任何依赖项: sudo dpkg -i --ignore-depends=apt file-you-just-downloaded.deb

有两项注意事项:

  1. 您可以通过相应地更改上述命令,将其类似地用于Java 8。
  2. 至少暂时来说,您的apt会认为它的依赖关系已损坏,并请求删除oracle-java7-installer。您可以使用来还原apt-get -f install

1

解决此问题之前的另一种解决方法是从webupd8修改deb文件并sun-java6-jdkProvidesdeb控制文件中的行中删除。在superuser.com上的此答案中有一个方便的脚本。只需获取原始文件,在其上运行脚本,修改该Provides行并使用来安装修改后的文件sudo dpkg -i

我上传了修改后的程序包,但我强烈建议您使用原始文件并自己进行修改,因为您不应该在互联网上随意安装东西;)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.