如何从webupd8团队的PPA(Oracle JDK 8/9)更新,因其GPG密钥不一致而导致问题?

几天前,我在执行apt-get update时开始出现以下错误:
E: Repository 'http://ppa.launchpad.net/webupd8team/java/ubuntu bionic InRelease' changed its 'Label' value from 'Oracle Java (JDK) 8 / 9 Installer PPA' to 'Oracle Java (JDK) 8 Installer PPA' 
N: This must be accepted explicitly before updates for this repository can be applied. See apt-secure(8) manpage for details.

根据WebUpd8那个页面那个页面那个页面那个页面的说法,我似乎不再需要这个密钥了。
如果我删除这个密钥
/etc/apt/trusted.gpg.d/webupd8team_ubuntu_java.gpg
pub   rsa1024 2010-05-04 [SC]
      7B2C 3B08 89BF 5709 A105  D03A C251 8248 EEA1 4886
uid   [ unknown] Launchpad VLC

使用apt-key del命令,我(显然)会得到以下结果
W: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: http://ppa.launchpad.net/webupd8team/java/ubuntu bionic InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY C2518248EEA14886

感谢您对此事的进一步帮助。

这是我的问题的一部分,但在看到这条消息之前,我收到了Failed to fetch http://ppa.launchpad.net/webupd8team/java/ubuntu/pool/main/o/oracle-java8-installer/oracle-java8-installer_8u181-1~webupd8~1_all.deb 404 Not Found。Michał Knapiński在这里的回答解决了我的两个问题。它修复了404错误,并要求我接受标签更改。 - Stephen Ostermiller
我发现理解“(已停产)”部分同样重要,还可以参考下面Evan的回答,引用自https://launchpad.net/~webupd8team/+archive/ubuntu/java。 - hans_meine
4个回答

这个命令应该能解决问题:
sudo apt-get --allow-releaseinfo-change update
sudo apt-get update

祝你有一个愉快的一天。

8抱歉,对我来说没有起作用。我又遇到了同样的错误。 - Mario
6对我来说很有效:Ubuntu 18.04 - Mario Stefanutti
2这对我也起作用。你仍然会收到关于标签更改的第一条消息,但不会收到第二条“必须明确接受”的消息。 - EricS
15在运行上述命令后,执行“sudo apt-get update”。- 对我有效。Ubuntu 18.04 - Drew
2@Drew,之后运行sudo apt-get update对于解决我的问题至关重要。谢谢。 - Austin Dean
工作了18.04。 - sayalok
像魔术一样有效。谢谢你,Thomas! - Svitlana
没有对我起作用,但是以下的方法可以:"sudo add-apt-repository ppa:webupd8team/java" - devguy

软件和更新 -> 其他软件 -> 移除webupd8team PPA。
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update 对我来说有效。

4谢谢,删除/etc/apt/sources.list.d中的webupd8文件有帮助。 - Mario

我认为你们都忽略了根本的问题... PPA不再起作用:

root@ced-looker1:/etc/apt/sources.list.d# add-apt-repository ppa:webupd8team/java 自2019年4月16日起,Oracle JDK许可协议已更改。

新的Oracle Java SE Oracle技术网络许可协议与以前的Oracle JDK许可有很大不同。新许可协议允许某些使用,例如个人使用和开发使用,不收费 - 但以前的Oracle JDK许可授权的其他使用可能不再可用。请在下载和使用此产品之前仔细阅读条款。有关常见问题解答,请参阅此处:https://www.oracle.com/technetwork/java/javase/overview/oracle-jdk-faqs.html

现在,Oracle Java下载需要登录Oracle帐户才能下载Java更新,例如最新的Oracle Java 8u211 / Java SE 8u212。由于这个原因,我无法用最新的Java更新PPA(旧链接被Oracle破坏)。 出于这个原因,此PPA已停止使用(除非我找到绕过此限制的方法)。


这是引用的官方来源链接:https://launchpad.net/~webupd8team/+archive/ubuntu/java - hans_meine

在Mint 19上对我有效的步骤:
  1. sources.list.d 中删除 webupd8 ppa

    cd /etc/apt/sources.list.d
    rm webupd8team-java-bionic.list
    
  2. 使用我们上面的朋友发布的命令:

    sudo apt-get --allow-releaseinfo-change update
    
  3. 然后重新添加 ppa 并更新。