우분투 18.04 LTS에서 이 적절한 문제를 해결하는 방법은 무엇입니까?

우분투 18.04 LTS에서 이 적절한 문제를 해결하는 방법은 무엇입니까?

시스템 업데이트 오류 메시지: 패키지 시스템이 고장났어요 타사 저장소를 사용하고 있는지 확인하세요. 그렇다면 문제의 일반적인 원인이므로 비활성화하십시오. 또한 터미널에서 다음 명령을 실행합니다: 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성공합니다.

관련 정보