web-dev-qa-db-ja.com

apt-getアンインストール中の「パッケージが見つかりません」エラー

私は実行して古いCUDAインストールをきれいにしようとしています

Sudo apt-get purge nvidia-*

しかし、私はエラーを取得します

E: Unable to locate package nvidia-diag-driver-local-repo-ubuntu1604-390.46_1.0-1_AMD64.deb
E: Couldn't find any package by glob 'nvidia-diag-driver-local-repo-ubuntu1604-390.46_1.0-1_AMD64.deb'
E: Couldn't find any package by regex 'nvidia-diag-driver-local-repo-ubuntu1604-390.46_1.0-1_AMD64.deb'

インストールの完了後、debファイルを以前に削除しました。 .debファイルを再ダウンロードしてdpkg -iを実行しようとしましたが、それでもエラーは修正されません。

dpkg -l | grep nvidia

ii  nvidia-390                                      390.48-0ubuntu0~gpu16.04.3                   AMD64        NVIDIA binary driver - version 390.48
ii  nvidia-390-dev                                  390.48-0ubuntu0~gpu16.04.3                   AMD64        NVIDIA binary Xorg driver development files
rc  nvidia-diag-driver-local-repo-ubuntu1604-390.46 1.0-1                                        AMD64        nvidia-diag-driver-local repository configuration files
ii  nvidia-modprobe                                 390.46-0ubuntu1                              AMD64        Load the NVIDIA kernel driver and create device files
ii  nvidia-opencl-icd-390                           390.48-0ubuntu0~gpu16.04.3                   AMD64        NVIDIA OpenCL ICD
ii  nvidia-prime                                    0.8.2                                        AMD64        Tools to enable NVIDIA's Prime
ii  nvidia-settings                                 396.18-0ubuntu0~gpu16.04.1                   AMD64        Tool for configuring the NVIDIA graphics driver
3
Jesse Chan

あなたは globbing ディレクトリ内の現在のファイルです。あなたが実行しているものの代わりに、試してください:

Sudo apt-get purge nvidia-\*
# or...
Sudo apt-get purge 'nvidia-*'

これを示す主な手がかりは次のとおりです。blah.deb出力のapt-get purgeなどの名前のパッケージを削除しようとしました。もちろん、パッケージは通常はという名前ではありません...

意味を確認するには、現在のディレクトリでls -lを確認してください。一致する.debファイルが表示されます。現在のディレクトリにこれらのファイルがない場合、「nvidia- *」は変更されずにapt-get purgeコマンドにパススルーします。

覚えておくと良いルール:意図しないシェルのグロビングやその他の展開を防ぐために、引数を単一引用符で囲む'を常に保護するのが最善です。

7
dpb