【问题标题】:Unable to install java in Ubuntu due to broken packages由于损坏的软件包,无法在 Ubuntu 中安装 java
【发布时间】:2021-02-12 17:03:38
【问题描述】:

我正在尝试在我的 ubuntu 软件中安装 java。每次我尝试安装 JRE 或 JDK 时都会显示:

~以下包有未满足的依赖关系: default-jre :取决于:default-jre-headless (= 1:1.6-43ubuntu2) 但不会安装 取决于:openjdk-6-jre (>= 6b23~pre11-1ubuntu1~) 但不会安装 E: 无法纠正问题,您持有破损的包裹。

基本上我尝试做的任何事情都是从一些损坏的包中停止。我尝试了一些 apt 和东西的清洁技术,但也没有任何帮助。提前谢谢你。

【问题讨论】:

  • 您好,您能概括一下您用于安装的步骤吗?
  • Java 6 和 7 不再受支持(并且已经有一段时间不支持了)。您使用的是什么版本的 ubuntu,为什么要安装 Java 6?
  • 听起来像是你应该在 Ubuntu 相关网站上提出的问题。
  • 我正在尝试在我的电脑上安装任何 java 版本,因为我无法安装新版本,所以我尝试了一些旧版本。我以某种方式找到了一条路径,现在它说:程序 'javac'可以在以下包中找到: * default-jdk * ecj * gcj-5-jdk * openjdk-8-jdk-headless * gcj-4.8-jdk * gcj-4.9-jdk * openjdk-9-jdk-headless 试试: sudo apt install 过去我安装了 ecj,但它不支持很多东西,比如列表或数组。有没有这样的包很好,还是我应该继续寻找?
  • 你用的是什么版本的ubuntu?然后去here

标签: java ubuntu package


【解决方案1】:

你可以试试apt-get install -f,应该能解决冲突。

如果是这样,并且没有更多冲突,那么您可以尝试安装apt-get install default-jre

【讨论】:

  • 第一个运行良好,但使用第二个命令我再次收到“您的包裹已损坏”消息
  • 是的,我已经尝试了很多次,但没有任何效果:(
  • dpkg --get-selections | grep hold 会产生任何结果吗?如果你持有包,它应该列出它们。另外,如果你再次运行apt-get install -f,它是否还需要修复任何东西或者它的确切输出是什么?
  • 第一个不返回任何东西。第二个产生这个:处理时遇到错误:oracle-java11-installer-local E:子进程/usr/bin/dpkg返回错误代码( 1)
【解决方案2】:

这个问题是 OpenJDK 和 Oracle 自己的 Ubuntu DEB 发行版之间的冲突,特别是如果您过去使用 webupd8 PPA 安装它。我通过强制覆盖解决了它:

sudo apt -o Dpkg::Options::="--force-overwrite" --fix-broken install

你也可以通过运行直接用dpkg强制它

sudo dpkg --configure --force-overwrite -a

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-02-27
    • 1970-01-01
    • 2014-08-18
    • 2019-03-27
    • 2019-01-08
    • 2017-09-18
    • 1970-01-01
    相关资源
    最近更新 更多