web-dev-qa-db-ja.com

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)

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

5
khalil rhouma

最初に使用して.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を使用して、アプリケーションの新しいコピーをインストールしてください。

4
vishwa

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

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

古い転換をクリーンアップしたら、aptを使用して新しいNvidiaドライバーパッケージをインストールできます。

0
Gerry Boland