apt-get updateしようとしたらGPG Keyの期限が切れてたので、更新したときの手順。

エラー内容


こんな感じで「期限が切れてるぜ!」とエラーが出る。

1
GPG error: http://nginx.org trusty InRelease: The following signatures were invalid: KEYEXPIRED 1471427554

期限が切れてる鍵を調べる


apt-key listコマンドで期限が切れている鍵を調べる。(ちなみにgpgコマンドでもできる)

1
2
3
$sudo apt-key list | grep expired

pub 2048R/7BD9BF62 2011-08-19 [expired: 2016-08-17]

今回の場合だと上記の7BD9BF62を控える。前の2048Rは不要。調べてないけど、2048Rはおそらく鍵のビット長と暗号化方式を表してると思う。

更新する


下記のコマンドで更新する。

1
$sudo apt-key adv --keyserver keys.gnupg.net --recv-keys 7BD9BF62

Executing: gpg --ignore-time-conflict  <長いので省略>
gpg: requesting key 7BD9BF62 from hkp server keys.gnupg.net
gpg: key 7BD9BF62: "nginx signing key <signing-key@nginx.com>" 10 new signatures
gpg: Total number processed: 1
gpg:         new signatures: 10

これで終わり。あとはもう一度apt-get updateしたらちゃんとエラー無く終わった。