Ubuntu 12.04をインストールしたばかりで、いくつかのリポジトリを追加しました。apt-get update
を実行すると、gpgキーが見つかりませんでした。
次のコマンドは私には機能しないようです:
apt-get update 2> /tmp/keymissing; for key in $(grep "NO_PUBKEY" /tmp/keymissing |sed "s/.*NO_PUBKEY //"); do echo -e "\nProcessing key: $key"; gpg --keyserver subkeys.pgp.net --recv $key && Sudo gpg --export --armor $key | apt-key add -; done
この問題を修正するには?
このソリューションが気に入ったため、Ubuntuキーサーバーから不足しているキーを再ダウンロードしました。
Ubuntuの場合
私の場合
Reading package lists... Done
W: GPG error: http://ppa.launchpad.net precise
Release: The following signatures couldn't be verified because the public key is not available:
NO_PUBKEY 2EA8F35793D8809A
エラーメッセージに記載されている不足しているキーを追加するコマンドを次に示します。
Sudo apt-key adv --keyserver ha.pool.sks-keyservers.net --recv-keys 2EA8F35793D8809A
そこで、不足しているキー2EA8F35793D8809A
を取得し、keyserver.ubuntu.comに依頼して、aptにあるキーのリストに追加します。
Linuxミントの場合
あなたの キーサーバー は少し異なりますkeyserver.linuxmint.com
Sudo apt-key adv --recv-key --keyserver keyserver.linuxmint.com "missing key"
試す代替キーサーバーkeyserver.ubuntu.com
Y PPA manager
と呼ばれるソフトウェアがあります。これはGPGキーのエラーを修正するのに役立ちます。
Y PPAマネージャー
インストールする-
Sudo add-apt-repository ppa:webupd8team/y-ppa-manager
Sudo apt-get update
Sudo apt-get install y-ppa-manager
インストールしたら開始してから、advance
に移動し、「欠落しているすべてのGPGキーをインポートする」を選択します
apt-key adv --recv-keys
を使用した自動ダウンロードは、ファイアウォールの内側で機能しない場合があります。
この場合、Webブラウザーで buntu Key Server のWebページを開き、文字列0x<hexadecimal code of your missing key>
を検索します。
pubセクションのリンクを開きます。キーの内容(-----BEGIN PGP PUBLIC KEY BLOCK-----
から-----END PGP PUBLIC KEY BLOCK-----
)をファイルとして保存します。
次に実行します:
Sudo apt-key add <file-with-saved-key>
ソース: http://opensourceforgeeks.blogspot.in/2013/04/w-gpg-error-httpppalaunchpadnet-precise.html
最初に端末で次のコマンドを入力します
Sudo rm /var/lib/apt/lists/* -vf
次に、ターミナルで次のコマンドを入力してシステムを更新します
Sudo apt-get update && Sudo apt-get upgrade
この後、エラーは発生せず、すべて正常に動作するはずです。
新しいリポジトリを追加し、リポジトリリストを更新した後に発生するこのエラーメッセージ。これは、アドレスが無効になったサーバーが原因です。したがって、アドレスを適切なものに変更してください。
テキストエディターでファイル~/.gnupg/gpg.conf
を開きます。
ターミナルで:gedit ~/.gnupg/gpg.conf
次に、このファイルで、次の太字行(116行目)を見つけます(これは次のようにデフォルトになっているはずです)
[...]
keyserver hkp://keys.gnupg.net
#keyserver mailto:[email protected]
#keyserver ldap://keyserver.pgp.com
次に、次の太字行を追加して、最終的に次の結果を得ます。
(次のように2行目に#を追加して、古いアドレスをコメント化します)
[...]
keyserver http://keyserver.ubuntu.com
#
keyserver hkp://keys.gnupg.net
#keyserver mailto:[email protected]
#keyserver ldap://keyserver.pgp.com
ファイルを保存して、もう一度更新してみてください。
ターミナルで:Sudo apt-get update
Nelaarの回答に基づく:
Sudo apt-get update 2>&1 1>/dev/null | sed -ne 's/.*NO_PUBKEY //p' |
while read key; do
echo 'Processing key:' "$key"
Sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys "$key"
done
スクリプトは、すべてのエラーを一時ファイルにダンプし、それらをループして、不足しているキーをインポートします。
Sudo add-apt-repository ppa:webupd8team/y-ppa-manager
Sudo apt-get update
Sudo apt-get install y-ppa-manager
Open Y PPA Manager From Dash
まず、ターミナルで次のコマンドを入力します
Sudo rm /var/lib/apt/lists/* -vf
次に、ターミナルで次のコマンドを入力してシステムを更新します
Sudo apt-get update && Sudo apt-get upgrade
この後、エラーは発生せず、すべて正常に動作するはずです。
私のために働いたのは、最初にキーを削除してから再インストールすることでした。それを達成するために、私は次のことをしました。
root@ > ~: Sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 630239CC130E1A7FD81A27B140976EAF437D05B5
で削除
root@ > ~: Sudo apt-key del 630239CC130E1A7FD81A27B140976EAF437D05B5
次に、次を入力して再インストールします
root@ > ~: Sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 630239CC130E1A7FD81A27B140976EAF437D05B5
このようなエラーをbashスクリプトで自動的に修正したかったのです。興味のある方は、これでうまくいくはずです:
Sudo apt-get update 2> /tmp/keymissing
if [ -f /tmp/keymissing ]
then
for key in $(grep "NO_PUBKEY" /tmp/keymissing |sed "s/.*NO_PUBKEY //")
do
echo -e "\nProcessing key: $key"
Sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys $key
Sudo apt-get update
done
rm /tmp/keymissing
fi
Ppa( ppa:nathandyer/vocal-stable
)を追加することで同じ問題が発生し、リポジトリが破損しました。私はWeb Upd8の作者からこの問題を修正する方法について説明を受けました。ここで私が働いた彼の手順を紹介します。
何か問題が発生した場合に備えて、.gpg
キーをバックアップします。
バックアップを格納するフォルダーを作成しましょう。
mkdir ~/gpg-backups
これにより、/etc/apt/trusted.gpg.d/
フォルダー内のすべてのファイルがバックアップされます。
Sudo cp /etc/apt/trusted.gpg.d/*.* ~/gpg-backups/
ここで、すべての.gpg
キーを削除します。
Sudo rm /etc/apt/trusted.gpg.d/
Sudo cp /etc/apt/trustdb.gpg ~/gpg-backups/
Sudo rm /etc/apt/trustdb.gpg
ソフトウェアと更新の[認証]タブで、[デフォルトに戻す]をクリックしました
Y-ppaマネージャーをインストールして、欠落しているすべてのGPGキーをインポートします
Sudo add-apt-repository ppa:webupd8team/y-ppa-manager
Sudo apt-get update
Sudo apt-get install y-ppa-manager
参照:
このようなものがある場合:
# aptitude update
...
Ign http://archive.canonical.com wily/partner Translation-en_US
Fetched 422 kB in 3s (130 kB/s)
W: GPG error: http://ubuntu.volia.net wily InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 40976EAF437D05B5 NO_PUBKEY 3B4FE6ACC0B21F32
まず最初に:
# Sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3B4FE6ACC0B21F32
最後のコマンドの出力は次のとおりです。
gpg: keyblock resource `/etc/apt/trusted.gpg.d/webupd8team_ubuntu_experiments.gpg': resource limit
gpg: keyblock resource `/etc/apt/trusted.gpg.d/webupd8team_ubuntu_gthumb.gpg': resource limit
したがって、/etc/apt/trusted.gpg.d/
に移動して未使用のキーを削除し、apt-key adv
とaptitude update
を繰り返す必要があります
wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | Sudo apt-key add -
を実行します