背景:NVIDIAグラフィックカードを購入してドライバをインストールしてみました。私は途中で何かを台無しにし、コンピュータをCinnamonバックアップモードで実行しています(Ubuntuがありますが、Unityを削除してCinnamonに置き換えました)。最初から始めたいです(以前はグラフィックカードなしでCore i3を使用していました)。
質問:入力するとsudo dpkg -l | grep -i nvidia
結果一覧が表示されます。
ところで、入力してみるとsudo apt-get remove --purge nvidia-*
一致する項目が見つからないと思います。
同様の結果を得たいくつかの異なる方法を試しました。今回も不要なファイルをすべて削除して再起動したかったです。
不要なNVIDIAファイルをすべて削除するには?
答え1
ここでは特に便利ではありません(コメントに沿ってエスケープの問題を解決できます)。ただし、行全体を検索したい場合は、dpkg -l
次のように実行してawk
からapt-get purge
最小限の基準に入ることができます。
sudo apt-get purge $(dpkg -l | awk '$2~/nvidia/ {print $2}')
何かをする前にメッセージが表示されますが、以下を使用してテストできる場合があります。
apt-get -s purge $(dpkg -l | awk '$2~/nvidia/ {print $2}')
答え2
問題は、*
シェルがそれを拡張していることです今後に渡されていますapt-get
。現在のディレクトリに名前で始まるファイルまたはディレクトリがある可能性があり、表示するには、nvidia-
次の手順を実行しますapt-get
。
$ ls -l
-rw-r--r-- 1 terdon terdon 0 Jul 16 17:22 nvidia-foo
$ sudo apt-get -s purge nvidia-*
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package nvidia-foo
これは、前のsudo apt-get -s purge nvidia-foo
ように実際に実行される内容がnvidia-*
拡張されるためです。これが常にglobを引用しなければならない理由です。nvidia-foo
apt-get
$ sudo apt-get -s purge 'nvidia-*'
答え3
GRUBにのみアクセスできる場合:
- コンピュータを再起動してください
Advanced options for Ubuntu
GRUBブートメニューから選択- 選ぶ
Ubuntu ..... (recovery mode)
dpkg
[修復]メニューから[破損したパッケージの回復]を選択します(これにより、削除するためにNVIDIAプロセスが停止します)。はいを選択します。完了したらEnterキーを押します(問題が見つかった場合も同様)。- 選択
root
(修復メニューのルートシェルプロンプトにドラッグアンドドロップ) - ルートパスワードを入力してください
- タイプ:
apt-get remove --purge nvidia-*
- 完了したら、次のように入力してください。
reboot
- 通常どおり起動すると、Ubuntuログイン画面が表示されます。