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