Сегодня я выполнил sudo apt upgrade
, а затем, в качестве двойной проверки, выполнил sudo apt update
. Последнее завершилось с помощью:
Hit:5 http://dl.google.com/linux/chrome/deb stable InRelease
Get:6 https://repo.skype.com/deb stable InRelease [4,502 B]
Err:6 https://repo.skype.com/deb stable InRelease
The following signatures were invalid: EXPKEYSIG 1F3045A5DF7587C3 Skype Linux Client Repository <se-um@microsoft.com>
Fetched 4,502 B in 5s (894 B/s)
Reading package lists... Done
Building dependency tree
Reading state information... Done
All packages are up to date.
W: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: https://repo.skype.com/deb stable InRelease: The following signatures were invalid: EXPKEYSIG 1F3045A5DF7587C3 Skype Linux Client Repository <se-um@microsoft.com>
W: Failed to fetch https://repo.skype.com/deb/dists/stable/InRelease The following signatures were invalid: EXPKEYSIG 1F3045A5DF7587C3 Skype Linux Client Repository <se-um@microsoft.com>
W: Some index files failed to download. They have been ignored, or old ones used instead.
Пытаясь решить эту проблему, я вызвал sudo apt remove skypeforlinux
, а затем сделал еще одно sudo apt update
. Обновление снова завершилось сообщением о недействительной подписи.
Как я могу решить эту проблему с неверной подписью?
$ uname -mrs
Linux 5.4.0-77-generic x86_64
$ lsb_release -d
Description: Ubuntu 20.04.2 LTS
Срок действия ключа подписи истек, и только через несколько дней Microsoft сгенерировала новый ключ. Замена ключа в вашей системе не происходит автоматически, и вам необходимо удалить старый ключ и добавить новый.
Есть два способа решения проблемы: первый - с помощью традиционной команды apt-key add
, второй - добавив вручную новый ключ в связку ключей.
# Решение действует до Ubuntu 21.04 (включая ее)
Вы можете удалить уже не действующий ключ:
sudo apt-key del 1F3045A5DF7587C3
и затем заново добавить новый действующий ключ:
curl https://repo.skype.com/data/SKYPE-GPG-KEY | sudo apt-key add -
Выполнив sudo apt update && sudo apt upgrade
, вы не должны увидеть никаких ошибок.
# Решение действительно в Ubuntu 21.04 и последующих выпусках
Когда вы пытаетесь добавить ключ репозитория APT с помощью apt-key
в Ubuntu, вы можете увидеть следующее сообщение:
Warning: apt-key is deprecated. Вместо этого управляйте файлами ключей в trusted.gpg.d (см. apt-key(8)).
На странице руководства apt-key упоминается, что:
использование apt-key устарело, за исключением использования apt-key del в скриптах мейнтейнера для удаления существующих ключей из основной связки ключей.
Итак, если вы используете версию Ubuntu до 21.04, вы можете использовать apt-key del
и apt-key add
, но для следующих версий вы должны вручную добавить ключ в связку ключей (в Ubuntu 21.04 оба решения работают отлично: я тестировал оба).
Вы можете удалить недействительный ключ:
sudo apt-key del 1F3045A5DF7587C3
Скачайте ключ и добавьте его в связку ключей:
curl https://repo.skype.com/data/SKYPE-GPG-KEY | gpg --dearmor | sudo tee /etc/apt/trusted.gpg.d/skype-stable-archive-keyring.gpg
Откройте файл skype-stable.list
...
sudo nano /etc/apt/sources.list.d/skype-stable.list
... и измените первую строку таким образом:
deb [arch=amd64 signed-by=/etc/apt/trusted.gpg.d/skype-stable-archive-keyring.gpg] https://repo.skype.com/deb stable main
Запустив sudo apt update && sudo apt upgrade
, вы не должны увидеть ошибок.