明确接受PPA“标签”的更改


88

当我apt-get update在Ubuntu 17.10上运行时,收到以下错误:

E: Repository 'http://ppa.launchpad.net/ondrej/php/ubuntu artful InRelease' changed its 'Label' value from '*****
The main PPA for PHP (5.6, 7.0, 7.1) with many PECL extensions *****' to '*****
The main PPA for supported PHP versions with many PECL extensions *****'
N: This must be accepted explicitly before updates for this repository can be applied.
See apt-secure(8) manpage for details."

手册页并未真正指向解决方案。我的问题是,我如何明确接受更改?


8
FWIW,apt-get有点贬值,请使用apt。sudo apt update
Panther

Answers:


194

如果发布存储库会有所帮助,但是,尽管如此,您还是可以通过2种方法来解决此问题。

首先是使用apt而不是apt-getapt优于apt-get在最近的Ubuntu版本的交互使用; 并apt应在理论上,解决这个问题为您服务。

sudo apt update
sudo apt upgrade

您的第二个选择是使用 --allow-releaseinfo-change

sudo apt-get --allow-releaseinfo-change update

如果这些选项不能解决问题,请发布您的存储库,您使用的是混合存储库还是固定存储,最后,告诉我们,这是升级吗?


1
使用第二个命令时出现错误:#sudo apt-get --allow-release-info-change update E:与其他选项结合使用时,命令行选项--allow-release-info-change不被理解
Roel范德帕

4
使用sudo apt update修复了该问题。系统提示我:“您是否要接受这些更改并继续从此存储库更新?[是/否]”。
鲁宾·O·基雅芬

2
apt-get命令工作对我来说,与--allow-releaseinfo-change 之后的更新命令。
旋转

如果您以apt非交互方式调用(例如,shell没有控制终端),则这些选项均无效。即使--yes没有控制终端,该选项也会被忽略。只有从gnome终端(或xterm或任何终端)运行这些命令,这些选项才起作用。
bgoodr

它很棒!
卡米尔·纳迦

54

您需要使用apt而不是apt-get。它将要求您以交互方式接受更改。只需运行:

sudo apt update

它应该问你:

Do you want to accept these changes and continue updating from this repository? [y/N] 

7

如果要部署它,例如一次在许多服务器上运行,请执行:

apt-get update --allow-releaseinfo-change
apt-get update
apt-get install packagename
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.