«Ошибка GPG: недопустимы следующие подписи: KEYEXPIRED»

32

Ошибка при попытке обновить список пакетов.

W: GPG error: http://download.opensuse.org ./ Release: The following signatures were invalid: KEYEXPIRED 1436387333
E: Some index files failed to download. They have been ignored, or old ones used instead.
mr_azad
источник

Ответы:

11
GPG error: http://download.opensuse.org ./ Release: The following signatures were invalid: KEYEXPIRED 1436387333

Это говорит о том, что срок действия вашего ключа GPG для этого репозитория истек, что означает одно из двух: либо ваша система имеет неправильную дату, либо срок действия ключа истек. В последнем случае вам необходимо связаться с сопровождающим хранилища и импортировать новый ключ (возможно, удаляя старый), как только хранилище обновит свои ключи, чтобы подписать файлы.

Вы можете спокойно игнорировать эти сообщения, если вы не используете пакеты этих репозиториев. Сообщение может быть удалено, если вы удалите репозиторий из вашего source.listфайла / каталога.

Braiam
источник
... предложить добавить подтверждение того, что системные часы по крайней мере достаточно точны. Если система думает, что это 2020 год, я уверен, что это привело бы к ошибкам с истекшим сроком действия ключа.
Дероберт
37

Я не получаю ответы выше, мои системные часы были в порядке. У меня сработало следующее:

sudo apt-key list | grep "expired: "
sudo apt-key adv --keyserver keys.gnupg.net --recv-keys [KEY]

Ключ является частью за косой чертой: 0000X/<this part is the key>

Или используйте этот лайнер:

sudo apt-key list  | grep "expired: " | sed -ne 's|pub .*/\([^ ]*\) .*|\1|gp' | xargs -n1 sudo apt-key adv --keyserver keys.gnupg.net --recv-keys 
Питер
источник
1
Спасибо, исправил проблему для меня с MySQL, но использовал --keyserver pgp.mit.edu. Источник: bugs.mysql.com/bug.php?id=85029
Крейг ван
7

Этот PPA был удален и больше не существует. Вы должны найти другой источник для пакетов, установленных через ppa samrog131.

Тем временем выполните следующие команды, чтобы разрешить ситуацию.

Во-первых, чтобы удалить просроченный ключ:

sudo apt-key del 1436387333

Затем, чтобы удалить ppa:

sudo rm /etc/apt/sources.list.d/samrog131*
sudo apt-get clean
sudo apt-get update

Если вам нужно добавить ключ, смотрите здесь .

sudo apt-get upgrade

Вы можете запустить:

sudo apt-get dist-upgrade

в зависимости от вашей ситуации. Если вы не уверены, смотрите здесь .

mchid
источник
Это ничего не решит. APT будет пытаться забрать пакеты из PPA снова, и не на него снова
Braiam
@Braiam На самом деле, это решает проблему ошибки 404 для пропавшего samrog131 ppa, который вы удалили из вопроса.
mchid
У нас есть дубликаты, которые уже охватывают эту проблему , вы не ответили на вопрос полностью, так как вы проигнорировали самую важную часть, которая была ошибкой GPG. Пожалуйста, не редактируйте вопрос снова.
Брайам
@Braiam почему бы и нет, просто чтобы это выглядело так, будто мой ответ ничего не решает?
mchid
1) Если пользователь добавил ppa непосредственно в sources.list, ваш ответ потерпит неудачу, фактически он потерпит неудачу, если add-ppa-repository не использовался и OP просто назвал файл по-другому. 2) Если вы удалите ключ, теперь предупреждение будет заменено ошибкой, так как ключ не найден, что создает дополнительные проблемы.
Брайам
2

Как показано ранее Во-первых, чтобы удалить просроченный ключ:

sudo apt-key del 1436387333 Затем перейдите на сайт:

http://download.opensuse.org/repositories/home:/sarimkhan/xUbuntu_14.04/

и загрузите «Release.key». Затем импортируйте ключ, используя программу обновления программного обеспечения ubuntu14.04 или менеджер синаптических пакетов.

Анирбан Дас
источник
2

Ни один из них не работал для меня:

$ sudo apt-key adv --keyserver hkp://pgp.mit.edu:80 --recv-keys 5072E1F5

или

$ sudo apt-key adv --keyserver pgp.mit.edu --recv-keys 5072E1F5

или

$ sudo apt-key adv --keyserver pgp.mit.edu --recv-keys A4A9406876FCBD3C456770C88C718D3B5072E1F5

Источники для них: https://bugs.mysql.com/bug.php?id=85029 и https://bugs.mysql.com/bug.php?id=94378.

Я выполнил одну подозрительную операцию в отчаянии (говоря «у» вместо «N» ниже), которая, я думаю, не требовалась вообще:

$ sudo apt-get install mysql-apt-config

Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be upgraded:
  mysql-apt-config
1 upgraded, 0 newly installed, 0 to remove and 294 not upgraded.
Need to get 35.6 kB of archives.
After this operation, 0 B of additional disk space will be used.
WARNING: The following packages cannot be authenticated!
  mysql-apt-config
Install these packages without verification? [y/N] y
Get:1 http://repo.mysql.com/apt/ubuntu/ trusty/mysql-apt-config mysql-apt-config all 0.8.13-1 [35.6 kB]
Fetched 35.6 kB in 0s (229 kB/s)      
Preconfiguring packages ...
dpkg-deb: error: archive '/var/cache/apt/archives/mysql-apt-config_0.8.13-1_all.deb' has premature member 'control.tar.xz' before 'contro
l.tar.gz', giving up
dpkg: error processing archive /var/cache/apt/archives/mysql-apt-config_0.8.13-1_all.deb (--unpack):
 subprocess dpkg-deb --control returned error exit status 2
Errors were encountered while processing:
 /var/cache/apt/archives/mysql-apt-config_0.8.13-1_all.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

И последовал за этим:

$ sudo apt-get update

что не помогло.

Я все еще получил ту же ошибку.

Наконец, сработало следующее :

$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 5072E1F5

Я предполагаю (вслепую), что, возможно, pgp.mit.edu изменил их структуру или, возможно, «MySQL Release Engineering» (run apt-key list) перенес свои ключи на сервер ключей Ubuntu или что-то подобное (я понятия не имею, как ключи поддерживается).

Этот комментарий к дублирующейся ветке говорит о том же.

Надеюсь, это сэкономит кому-то время и силы.

site80443
источник
Последний шаг сработал для моей Ubuntu 14.04 LTS, где все остальные шаги были неудачными.
a4aravind
1

Так просто, как это должно работать:

apt-key adv --refresh-keys

Зачем использовать sedи xargsесли gpgможно сортировать вещи для себя?

sanmai
источник
я получил следующую ошибку: gpg: сервер ключей не известен (используйте опцию --keyserver) gpg: не удалось обновить сервер ключей:
неверный
0

Это решение работало лучше всего для меня.

wget -nv https://download.owncloud.org/download/repositories/stable/Ubuntu_16.04/Release.key -O Release.key

sudo apt-key add - < Release.key

После того, как эти команды были выполнены, я смог обновить и обновить, как ожидалось.

probie
источник
0

GUI-ориентированный ответ:

Перейдите к /etc/apt/sources.list.d в вашем файловом менеджере и дважды щелкните sources.list.

Это должно открыть диалоговое окно «Программное обеспечение и обновления». Нажмите «Другое программное обеспечение», найдите оскорбительный ppa, нажмите «Удалить». Это остановило ошибку на моем конце.

SteveHeist
источник