0.はじめに
色々と触っていたときに「sudo apt update」で以下のエラーが出てしまい、どうしよもなくなってしまったので、その時の対処方を備忘録として残しておきます。
E: ソース https://nvidia.github.io/libnvidia-container/stable/ubuntu18.04/amd64/ / に関してオプション Signed-By の値が競合します: /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg !=
E: ソースのリストを読むことができません。
何をやったらこうなったのか不明なため参考になるかわかりませんが、よかったら参考にしてください。
1.対処法
結論から言うとNVIDIA公式のトラブルシューティングに書いてありました!
一応手順を書いておきます↓
(エラーに書いてあるとおりですが、同じリポジトリへの別の参照が存在しているためこのエラーが出ているみたいです。)
・競合するリポジトリの参照
grep "nvidia.github.io" /etc/apt/sources.list.d/*
nvidia.github.ioの名前がついた一覧が表示されます。
・競合する参照を持つファイルのリストを取得
grep -l "nvidia.github.io" /etc/apt/sources.list.d/* | grep -vE "/nvidia-container-toolkit.list\$"
grepコマンド
・-v : パターンに一致しない行を出力
・-E : 拡張正規表現を使用(egrep コマンドと同じ動作)
・リスト化されたファイルを削除する
cd /etc/apt/
ls -la
rm sources.list.d
(ls -laは「sources.list.d」があるか確認のため)
以上! これで「sudo apt update」が使えるようになるはずです。
・
・
・
しかし、今度はdocker runができず↓
docker: Error response from daemon: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container
process: error during container init: error running hook #0: error running hhok: exit status 1, stdout* ,stdrr: Auto-detected mode as `legacy'
nvidia-container-cli* initialization error: nvm error: friver not loaded: unknown
nvidia-smiを実行してみても認識できておらず、設定のグラフィックを確認しても有効化グラフィックドライバーが使用しているGPUと違っていました。
そのため、以下コマンドを実行し、一度すべてのnvidiaパッケージを削除して再インストールを行います。
sudo apt --fix-broken install
sudo apt remove *nvidia*
sudo apt install nvidia-driver-530
ここから先はピンクの画面がでるためUbuntu 22.04 LTSにてDocker内でGPUを動かすための環境構築手順の2.2. NVIDIA driverインストールに書かれているとおりやればできます。
※docker runで以下のエラーが出た場合の対処法
docker: Error response from daemon: could not select device driver "" with capabilities: [[gpu]].
sudo apt-get install nvidia-container-runtime
curl -s -L https://nvidia.github.io/nvidia-container-runtime/gpgkey | sudo apt-key add -
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-container-runtime/$distribution/nvidia-container-runtime.list | sudo tee /etc/apt/sources.list.d/nvidia-container-runtime.list
sudo apt-get update
sudo apt-get install nvidia-container-runtime
service docker restart
2.参考文献
・NVIDIA公式のトラブルシューティング
・Ubuntu 22.04 LTSにてDocker内でGPUを動かすための環境構築手順
・docker: Error response from daemon: could not select device driver "" with capabilities: [[gpu]]. ERRO[0000] error waiting for container: context canceledを解決する