Ubuntu 18.04 LTS でこの apt の問題を修正するにはどうすればいいですか?

Ubuntu 18.04 LTS でこの apt の問題を修正するにはどうすればいいですか?

システムアップデートエラーメッセージ: パッケージシステムは壊れている サードパーティのリポジトリを使用しているかどうかを確認します。使用している場合は、問題の原因となることが多いため、無効にします。さらに、ターミナルで次のコマンドを実行します: apt-get install -f を試行すると、sudo apt-get istall -fエラー メッセージが表示されます:

(Reading database ... 172407 files and directories currently installed.)
Preparing to unpack .../libnvidia-gl-390_390.59-0ubuntu0~gpu18.04.1_i386.deb ...
diversion of /usr/lib/i386-linux-gnu/libGL.so.1 to /usr/lib/i386-linux-gnu/libGL.so.1.distrib by nvidia-340
dpkg-divert: error: mismatch on package
  when removing 'diversion of /usr/lib/i386-linux-gnu/libGL.so.1 by libnvidia-gl-390'
  found 'diversion of /usr/lib/i386-linux-gnu/libGL.so.1 to /usr/lib/i386-linux-gnu/libGL.so.1.distrib by nvidia-340'
dpkg: error processing archive /var/cache/apt/archives/libnvidia-gl-390_390.59-0ubuntu0~gpu18.04.1_i386.deb (--unpack):
 new libnvidia-gl-390:i386 package pre-installation script subprocess returned error exit status 2
Preparing to unpack .../libnvidia-gl-390_390.59-0ubuntu0~gpu18.04.1_amd64.deb ...
diversion of /usr/lib/x86_64-linux-gnu/libGL.so.1 to /usr/lib/x86_64-linux-gnu/libGL.so.1.distrib by nvidia-340
dpkg-divert: error: mismatch on package
  when removing 'diversion of /usr/lib/x86_64-linux-gnu/libGL.so.1 by libnvidia-gl-390'
  found 'diversion of /usr/lib/x86_64-linux-gnu/libGL.so.1 to /usr/lib/x86_64-linux-gnu/libGL.so.1.distrib by nvidia-340'
dpkg: error processing archive /var/cache/apt/archives/libnvidia-gl-390_390.59-0ubuntu0~gpu18.04.1_amd64.deb (--unpack):
 new libnvidia-gl-390:amd64 package pre-installation script subprocess returned error exit status 2
Errors were encountered while processing:
 /var/cache/apt/archives/libnvidia-gl-390_390.59-0ubuntu0~gpu18.04.1_i386.deb
 /var/cache/apt/archives/libnvidia-gl-390_390.59-0ubuntu0~gpu18.04.1_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

これをどうすれば修正できますか?

答え1

まず.debファイルを削除します

sudo rm /var/cache/apt/archives/libnvidia-gl-390_390.59-0ubuntu0~gpu18.04.1_i386.deb

sudo rm /var/cache/apt/archives/libnvidia-gl-390_390.59-0ubuntu0~gpu18.04.1_amd64.deb

次に、キャッシュ内のダウンロードしたファイルをすべて消去します。

sudo apt-get clean
sudo apt-get autoremove && sudo apt-get autoclean
sudo apt-get install -f
sudo apt-get update

最後に、sudo apt-get installを使用してアプリケーションの新しいコピーをインストールしてみてください。

答え2

エラー メッセージの関連部分は次のとおりです。

when removing 'diversion of /usr/lib/i386-linux-gnu/libGL.so.1 by libnvidia-gl-390'
  found 'diversion of /usr/lib/i386-linux-gnu/libGL.so.1 to /usr/lib/i386-linux-gnu/libGL.so.1.distrib by nvidia-340'

「転用」はdpkgのものです。Nvidia-340パッケージはこれらの転用を作成し、削除したことはありません。確認するには、

dpkg-divert --list nvidia-340

指定された各迂回がリストされます。

diversion of /usr/lib/x86_64-linux-gnu/libGL.so.1 to /usr/lib/x86_64-linux-gnu/libGL.so.1.distrib by nvidia-340
...

これらの転用を削除するには、転用されたファイル名を(ルートが必要)に渡す必要があります。

dpkg-divert --remove /usr/lib/x86_64-linux-gnu/libGL.so.1

古い迂回をクリーンアップしたら、新しい Nvidia ドライバー パッケージのインストールがapt成功するはずです。

関連情報