アルゴリズムとかオーダーとか

仕事で勉強したことなどをまとめてます

cudaのGPG Keyが無効になってたので綺麗?に削除してみた

久々にMyPCで機械学習を動かそうとしたら、cuda周りでエラーが発生した。nvidiaのドライバーも新しくしたので、入れなおそうと思ってupdateしたけど、GPG key周りでエラーが発生してうまくアップデートができなかった。

なので、まずは古いcuda関連のライブラリを削除してみた。Ubuntuとapt周りは詳しくないけど、エラーは出なくなったので手順を残しておく。

環境

発生したエラー

sudo apt update -y を実行したら下記のエラーが発生した。

W: GPG error: http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64  InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY A4B469963BF863CC
E: The repository 'http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64  InRelease' is no longer signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.


こちらの記事を参照したら、どうやらNVIDIAリポジトリーキーが更新されたとのこと。
www.nemotos.net

なので、上記記事を参考に、更新をこころみたがうまくいかなかった。
ので、まずは現在インストールされているcudaを綺麗に消して、 sudo apt update -y でエラーが出ないようにした。

cudaを綺麗に削除する

nvidiaリポジトリはPPAなので、下記の記事を参考にしながら削除を試みたけど、うまくいかなかった。
hibiki-press.tech


ので、直接listファイルを削除することにした。以下のコマンドを実行してcuda 関連のPPAファイルを削除する。

$ sudo rm -f /etc/apt/sources.list.d/cuda*

次に、apt-keyに登録されている鍵を削除する。まずは鍵のIDを調べる。

$ sudo apt-key list | grep -2 cuda
Warning: apt-key output should not be parsed (stdout is not a terminal)
pub   rsa4096 2017-09-28 [SCE]
      C95B 321B 61E8 8C18 09C4  F759 DDCA E044 F796 ECB0
uid           [ unknown] NVIDIA CORPORATION (Open Source Projects) <cudatools@nvidia.com>

pub   rsa4096 2016-05-24 [SC]

apt-keyで鍵を削除する場合は後ろの8桁を指定するらしいので、以下のコマンドで削除した。

sudo apt-key del F796ECB0

で、後はautoremoveでライブラリを削除したら完了。

$ sudo apt autoremove


結構力業だと自分でも思うので、マネする人は自己責任でお願いします。

正しい削除の仕方はどうやればよかったんだろうか・・・・?