LoginSignup
3
0

More than 1 year has passed since last update.

E: パッケージ XXXX.deb が見つかりません というエラーを解決する

Last updated at Posted at 2021-06-17

概要

NVIDIA関係のライブラリを再インストールするために一旦すべて削除しようとした際,パッケージ nvidia-machine-learning-repo-ubuntu1804_1.0.0-1_amd64.deb が見つかりませんというエラーによって正常に削除できなくなった.

パッケージが消せない
$sudo apt remove nvidia-*
# 英語環境での出力
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package nvidia-machine-learning-repo-ubuntu1804_1.0.0-1_amd64.deb
# 日本語環境での出力
パッケージリストを読み込んでいます... 完了
依存関係ツリーを作成しています                
状態情報を読み取っています... 完了
E: パッケージ nvidia-machine-learning-repo-ubuntu1804_1.0.0-1_amd64.deb が見つかりません

原因と解決方法

エラー中に述べられているパッケージ名nvidia-machine-learning-repo-ubuntu1804_1.0.0-1_amd64.debがなぜかファイル名(~.deb)の形式をしていることからもわかるとおり,このエラーが出る場合はカレントディレクトリの直下にファイル名がnvidia-から始まるファイルがある.つまり,apt remove [ワイルドカードを含む表現]となっているときに,ファイル名がその表現に含まれる文字列になっているファイルがあるとこのエラーが出る.

今回は

$ls
Desktop Document ... nvidia-machine-learning-repo-ubuntu1804_1.0.0-1_amd64.deb

となってしまっていた.nvidia-*にマッチするファイルを持たない適当なディレクトリに移動して実行すれば解決.

所感

カレントディレクトリ内のXXXX.debファイルからaptでパッケージをインストールする際に注意することとして以下のような話がある.

$sudo apt install XXXX.deb

だとXXXX.debがパッケージ名として解釈されE: パッケージ XXXX.deb が見つかりませんというエラーになるので,

$sudo apt install ./XXXX.deb

としなければならない

このことから,今回のapt removeの引数がnvidia-*であり./から始まるパス表現ではなかったためにファイル名として解釈されることはないだろうと考えていたが,ワイルドカードを使うと事情は異なるようだ.このエラーが出たらまずは冷静になってlsするようにしたい.

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0