多数のマシンにドッカーをインストールする方法を変更しています ここで指摘したように 。それはうまく機能しましたが、これは奇妙な動作をします。
キーをインポートしました:
Sudo apt-key adv --keyserver hkp://pgp.mit.edu:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --homedir /tmp/tmp.uUGtmucAUd --no-auto-check-trustdb --trust-model always --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyring /etc/apt/trusted.gpg.d/atareao-telegram.gpg --keyring /etc/apt/trusted.gpg.d/neovim-ppa-unstable.gpg --keyring /etc/apt/trusted.gpg.d/nilarimogard-webupd8.gpg --keyring /etc/apt/trusted.gpg.d/ondrej-php-7_0.gpg --keyring /etc/apt/trusted.gpg.d/shutter-ppa.gpg --keyring /etc/apt/trusted.gpg.d/trustdb.gpg --keyring /etc/apt/trusted.gpg.d/trusted.gpg --keyring /etc/apt/trusted.gpg.d/vincent-c-ponysay.gpg --keyring /etc/apt/trusted.gpg.d/webupd8team-y-ppa-manager.gpg --keyring /etc/apt/trusted.gpg.d/xorg-edgers-ppa.gpg --keyserver hkp://pgp.mit.edu:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
gpg: requesting key 2C52609D from hkp server pgp.mit.edu
gpg: [don't know]: invalid packet (ctb=01)
gpg: keydb_get_keyblock failed: eof
gpg: key 2C52609D: public key "Docker Release Tool (releasedocker) <[email protected]>" imported
gpg: Total number processed: 1
gpg: imported: 1 (RSA: 1)
それでもSudo apt-get update
はキーが見つからないため失敗します:
w: GPG error: https://apt.dockerproject.org ubuntu-trusty Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY F76221572C52609D
私は何が欠けていますか?
現在提供されている回答も試しましたが、trusted.gpgファイルを削除した後、キーを追加できません
root@fluttershy:/etc/apt# rm trusted.gpg
root@fluttershy:/etc/apt# apt-key update
gpg: [don't know]: invalid packet (ctb=01)
gpg: keydb_get_keyblock failed: eof
gpg: key 437D05B5: public key "Ubuntu Archive Automatic Signing Key <[email protected]>" imported
gpg: [don't know]: invalid packet (ctb=01)
gpg: keydb_get_keyblock failed: eof
gpg: key FBB75451: public key "Ubuntu CD Image Automatic Signing Key <[email protected]>" imported
gpg: [don't know]: invalid packet (ctb=01)
gpg: keydb_get_keyblock failed: eof
gpg: key C0B21F32: public key "Ubuntu Archive Automatic Signing Key (2012) <[email protected]>" imported
gpg: [don't know]: invalid packet (ctb=01)
gpg: keydb_get_keyblock failed: eof
gpg: key EFE21092: public key "Ubuntu CD Image Automatic Signing Key (2012) <[email protected]>" imported
gpg: Total number processed: 4
gpg: imported: 4 (RSA: 2)
root@fluttershy:/etc/apt#
gpgはinvalid packet (ctb=01)
/keydb_get_keyblock failed: eof
で失敗します。これは通常、GPGキーリングが破損していることを意味します。問題を修正する最も簡単な方法は、問題を削除するか、バックアップから復元することです。
便利なコマンドをいくつか次に示します。
現在APTキーリングにあるすべてのキーをリストするには:
apt-key list
APT自動バックアップからtrusted.gpg
を復元するには:
cp /etc/apt/trusted.gpg{~,}
trusted.gpg
を削除し、Ubuntuアーカイブのキーを使用して再作成するには:
rm /etc/apt/trusted.gpg
apt-key update
すべてのコマンドで/etc/apt/trusted.gpg
を使用しましたが、/etc/apt/trusted.gpg.d/
の中に他のキーリングがあるかもしれないことに注意してください。
出力を調べるとわかるように、APTはすべてのキーリングを同時に使用します。
Executing: gpg [...] \
--keyring /etc/apt/trusted.gpg \
--primary-keyring /etc/apt/trusted.gpg \
--keyring /etc/apt/trusted.gpg.d/atareao-telegram.gpg \
--keyring /etc/apt/trusted.gpg.d/neovim-ppa-unstable.gpg \
--keyring /etc/apt/trusted.gpg.d/nilarimogard-webupd8.gpg \
[...]
損傷したキーリングが1つあるとGPGが悲しくなり、キーリング(良いキーリングも)のいずれも信頼されません。その結果、考慮されるキーはありません。
具体的には、Dockerキーリング58118E89F3A912897C070ADBF76221572C52609D
キーサーバーを追加するには:
Sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D