1867 文字
9 分
AIの言う通りにCUDAをaptで更新したら --fix-broken がループした話
この記事について

Claude(Anthropic)との共同編集により作成されました。

要約
  • LLaMA Factory / vLLM のために CUDA をアップデートしようとして泥沼にはまった
  • AI が教えた apt 手順を鵜呑みにしたのが失敗の始まり。Ubuntu 公式の NVIDIA 系(580)と NVIDIA CUDA apt リポジトリ由来の依存(570)が混在して競合した
  • sudo apt --fix-broken install が同じエラーを延々と繰り返すループに突入
  • runfile + tarball 方式に切り替えて脱出した
  • 挫けそうなとき・焦っているときこそ AI ではなく自分の頭で判断しなければいけない

CUDA をアップデートしようとして、AI に教わった手順を信じ続けたまま環境を壊しかけた話をする。


発端: LLaMA Factory と vLLM を動かしたい#

手元の Ubuntu 24.04 マシンで LLaMA Factory と vLLM を動かしたかった。既存の CUDA バージョンが少し古く、どちらのツールも動くか微妙なラインだったので更新することにした。

AI に「Ubuntu 24.04 で CUDA を更新したい」と聞くと、きれいな手順が返ってきた。

Terminal window
wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2404/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt update
sudo apt install cuda-toolkit-12-8 cudnn-cuda-12

ドキュメントとして整理された手順。知らなければ正しいと信じてしまう見た目をしている。


最初の躓き: パッケージが見つからない#

cuda-keyring の dpkg まではうまくいった。ところが apt install cuda-toolkit-12-8 で止まった。

E: Unable to locate package cuda-toolkit-12-8

「パッケージ名が違うのかな」と AI に聞く。別の候補を教えてもらう。また試す。また「見つからない」。

この時点で少し立ち止まるべきだった。でも「AI が言うんだから正しいはず、自分の環境の問題だろう」と思い込んでいた。


泥沼: —fix-broken がループし始める#

apt update を何度もかけているうちに、リポジトリが変わったのか、今度は別のエラーが出てきた。

dpkg: error processing package libnvidia-compute-570 (--configure):
trying to overwrite '/usr/bin/nvidia-bug-report.sh', which is also in package libnvidia-common-580

Ubuntu 標準リポジトリで入れていた NVIDIA ドライバー系(580 系)と、NVIDIA CUDA apt リポジトリが引き込もうとしている依存(570 系)が /usr/bin/nvidia-bug-report.sh を取り合って競合していた。

sudo apt --fix-broken install を叩く。同じエラー。もう一度叩く。同じエラー。

ループに入っていた。

--fix-broken は「壊れた依存関係を直す」コマンドのはずが、570 系のインストールを毎回試みては 580 系との競合で失敗し、同じ状態に戻り続けていた。


焦りの中でも AI に頼り続けた#

ここで冷静になれれば良かった。が、焦りと「なぜか動くはずなのに」という感覚が重なって、AI に「--fix-broken がループする」と状況を伝えながら追加の指示を求め続けた。

返ってくる手順をまた実行する。同じループ。また聞く。また試す。

今振り返ると、この時間がいちばん無駄だった。AI は自分の手元でコマンドを実行できない。ログを読ませて状況を伝えることはできるが、「本当にこの環境で何が起きているか」を判断するのは最終的に自分しかいない。


脱出: 自分で環境をクリアにして公式サイトへ#

ループに気づいたのは、焦りでまた最初の dpkg コマンドを打ってしまったときだった。

Terminal window
sudo dpkg -i cuda-keyring_1.1-1_all.deb # また同じのを叩いてしまった
sudo apt update

「あ、同じところをぐるぐるしてる」と気づいた。ここでようやく AI に次の手順を聞くのをやめた。

競合しているのは libnvidia-common-580(Ubuntu 標準)と libnvidia-compute-570(NVIDIA CUDA apt リポジトリの依存)。同じファイル(/usr/bin/nvidia-bug-report.sh など)を両方が持とうとしていて、apt がにっちもさっちもいかなくなっていた。

apt の世界でこれを解消するのは難しい。なので、競合している CUDA 系・NVIDIA 系のパッケージをとにかく片っ端から削除して、環境をクリアにしようとした。apt --purge remove を何度も打ち、autoremove もかけ、少しずつ整理していった。

その後、NVIDIA 公式サイトを自分で開いて、CUDA 12.8 の runfile のコマンドをそのままコピーした。AI が生成した URL ではなく、公式ページに載っているものを使う。そこに AI が教えてくれたオプション(--toolkit --silent --override)を組み合わせた。

Terminal window
wget https://developer.download.nvidia.com/compute/cuda/12.8.0/local_installers/cuda_12.8.0_570.86.10_linux.run
sudo sh cuda_12.8.0_570.86.10_linux.run --toolkit --silent --override

--toolkit でドライバーをスキップし、--override で既存環境との衝突を回避する。apt の依存解決を完全に迂回できるので、580 系と 570 系の競合は関係なくなる。

cuDNN はそのまま tarball で問題なく入った。

nvcc --versionrelease 12.8 を返したとき、思わず安堵した。


反省: AI を信じることと自分で判断することのバランス#

何が悪かったか。

「Ubuntu 公式の NVIDIA パッケージ系」と「NVIDIA CUDA apt リポジトリ由来のパッケージ」を混在させるリスクを、AI に教わった手順を実行する前に自分で考えなかった。

CUDA のセットアップは環境依存が強い。ドライバーのインストール方法(ubuntu-drivers か NVIDIA 公式か)、既存パッケージの状態、Ubuntu のバージョン……同じコマンドでも環境によって結果が変わる。AI が提示する手順は「多くの場合うまくいく」ものであって、自分の環境を診断した結果ではない。

もう一つ。ループが始まった時点で「手順を変える判断」をするのが遅すぎた。

「同じことをやり続けて違う結果を期待するのは狂気の定義だ」という言葉がある。皮肉にも、ループに気づいたのは焦って最初の dpkg コマンドをまた打ったときだった。もっと早く気づいて、AI に追加の手順を聞く前に「なぜループしているか」を自分で考えるべきだった。

AI は強力なアシスタントだが、「今この環境で何が起きているか」を見極める判断は自分にしかできない。特に環境が壊れかけているときほど、焦って AI の指示に頼り続けてはいけない。挫けそうなとき・焦っているときこそ、一度立ち止まって自分の頭で考える強さが必要だった。


教訓まとめ#

  • Ubuntu 公式の NVIDIA パッケージと NVIDIA CUDA apt リポジトリは混在させない。 ドライバーは ubuntu-drivers で管理し、CUDA/cuDNN は runfile + tarball で入れるのが安全
  • apt --fix-broken install が同じエラーで繰り返すなら、手順ではなく方針を変える
  • AI の手順はあくまで出発点。 実行前に「この環境に当てはまるか」を確認し、ループに入ったら自分で根本原因を読み解く
  • 焦っているときほど AI への依存を疑う。 環境が崩れかけているときの判断は自分でしなければならない

参考文献#

  1. NVIDIA CUDA Installation Guide for Linux https://docs.nvidia.com/cuda/cuda-installation-guide-linux/
  2. NVIDIA CUDA Toolkit Downloads https://developer.nvidia.com/cuda-downloads
  3. NVIDIA cuDNN Linux x86_64 Tarball Index https://developer.download.nvidia.com/compute/cudnn/redist/cudnn/linux-x86_64/
AIの言う通りにCUDAをaptで更新したら --fix-broken がループした話
https://yurudeep.com/posts/aicoding/2026/20260423/
作者
ひらノルム
公開日
2026-04-23
ライセンス
CC BY-NC-SA 4.0