Сегодня при попытке сделать apt-get update получил сообщение:
W: Произошла ошибка при проверке подписи. Репозиторий не обновлён и будут использованы предыдущие индексные файлы. Ошибка GPG: http://apt.postgresql.org precise-pgdg Release: Следующие подписи неверные: KEYEXPIRED 1381654177
W: Не удалось получить http://apt.postgresql.org/pub/repos/apt/dists/precise-pgdg/Release
W: Некоторые индексные файлы не скачались. Они были проигнорированы или вместо них были использованы старые версии.
В wiki PostgreSQL Global Development Group (PGDG) я обнаружил новость от 10.10.2013 о том, что «новый pgdg-keyring увеличивает дату пригодности ключа». «Отлично!», — подумал я: «Как же мне обновить пакет, если я даже список пакетов с их сервера забрать не могу?»
Спасибо господину Jared Beck и его заметке Please update your PGDG apt-key! В ней описываются разные варианты ошибки, а так же даётся рецепт её устранения.
Для того чтобы обновить apt-ключ для PGDG необходимо:
- Найти его имя в списке ключей:
sudo apt-key list
/etc/apt/trusted.gpg
--------------------
pub 1024D/437D05B5 2004-09-12
uid Ubuntu Archive Automatic Signing Key <ftpmaster@ubuntu.com>
sub 2048g/79164387 2004-09-12pub 1024D/FBB75451 2004-12-30
uid Ubuntu CD Image Automatic Signing Key <cdimage@ubuntu.com>pub 4096R/C0B21F32 2012-05-11
uid Ubuntu Archive Automatic Signing Key (2012) <ftpmaster@ubuntu.com>pub 4096R/EFE21092 2012-05-11
uid Ubuntu CD Image Automatic Signing Key (2012) <cdimage@ubuntu.com>pub 4096R/ACCC4CF8 2011-10-13 [годен до: 2016-02-24]
uid PostgreSQL Debian Repository/etc/apt/trusted.gpg.d//apt.postgresql.org.gpg
----------------------------------------------
pub 4096R/ACCC4CF8 2011-10-13 [просрочен с: 2013-10-13]
uid PostgreSQL Debian Repository - Удалить его:
sudo apt-key del ACCC4CF8
- Добавить новый от PostgreSQL Global Development Group:
wget --quiet -O - http://apt.postgresql.org/pub/repos/apt/ACCC4CF8.asc | sudo apt-key add -
Всё, теперь можно выполнять:
sudo apt-get update
sudo apt-get upgrade
И помимо системных обновлений будут обновлены пакеты PostgreSQL.