
OS: Debian stretch
linux kernel: 4.7.0-1-amd64
일부 nvidia 패키지 간에 충족되지 않은 종속성이 있습니다. 이는 apt/dpkg/aptitude에 의해 발생하는 것으로 보이며 libnvidia-glcore
강제 libnvidia-eglcore
로 적용해도 작동하지 않는 것 같습니다. apt-get install -f
나에게 다음과 같은 출력을 제공합니다.
root@debdesk:~# apt-get upgrade -f
Reading package lists... Done
Building dependency tree
Reading state information... Done
Correcting dependencies... Done
Calculating upgrade... Done
The following packages have been kept back:
libslang2 libslang2-dev linux-headers-4.7.0-1-amd64
linux-headers-4.7.0-1-common linux-image-4.7.0-1-amd64
The following packages will be upgraded:
libnvidia-eglcore libnvidia-glcore
2 upgraded, 0 newly installed, 0 to remove and 5 not upgraded.
13 not fully installed or removed.
Need to get 0 B/12.5 MB of archives.
After this operation, 28.0 MB disk space will be freed.
Do you want to continue? [Y/n] y
Reading changelogs... Done
(Reading database ... 251496 files and directories currently installed.)
Preparing to unpack .../0-libnvidia-glcore_367.44-2_amd64.deb ...
Unpacking libnvidia-glcore:amd64 (367.44-2) over (352.79-10~bpo8+2) ...
dpkg: error processing archive /tmp/apt-dpkg-install-sOf2cJ/0-libnvidia-glcore_367.44-2_amd64.deb (--unpack):
trying to overwrite shared '/usr/share/bug/libnvidia-glcore/script', which is different from other instances of package libnvidia-glcore:amd64
dpkg-deb: error: subprocess paste was killed by signal (Broken pipe)
Preparing to unpack .../1-libnvidia-eglcore_367.44-2_amd64.deb ...
Unpacking libnvidia-eglcore:amd64 (367.44-2) over (352.79-10~bpo8+2) ...
dpkg: error processing archive /tmp/apt-dpkg-install-sOf2cJ/1-libnvidia-eglcore_367.44-2_amd64.deb (--unpack):
trying to overwrite shared '/usr/share/doc/libnvidia-eglcore/changelog.Debian.gz', which is different from other instances of package libnvidia-eglcore:amd64
Errors were encountered while processing:
/tmp/apt-dpkg-install-sOf2cJ/0-libnvidia-glcore_367.44-2_amd64.deb
/tmp/apt-dpkg-install-sOf2cJ/1-libnvidia-eglcore_367.44-2_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
apt-cache policy libnvidia-glcore libnvidia-glcore:i386
다음을 인쇄합니다.
libnvidia-glcore:
Installed: 352.79-10~bpo8+2
Candidate: 367.44-2
Version table:
367.44-2 500
500 http://ftp.de.debian.org/debian stretch/non-free amd64 Packages
500 http://httpredir.debian.org/debian stretch/non-free amd64 Packages
*** 352.79-10~bpo8+2 100
100 http://httpredir.debian.org/debian jessie-backports/non-free amd64 Packages
100 /var/lib/dpkg/status
libnvidia-glcore:i386:
Installed: 367.44-2
Candidate: 367.44-2
Version table:
*** 367.44-2 500
500 http://ftp.de.debian.org/debian stretch/non-free i386 Packages
500 http://httpredir.debian.org/debian stretch/non-free i386 Packages
100 /var/lib/dpkg/status
352.79-10~bpo8+2 100
100 http://httpredir.debian.org/debian jessie-backports/non-free i386 Packages
얼마 전 나는 실험적 브랜치에서 일부 패키지를 설치하려고 시도했고 소스 파일에 소스를 저장해 두었습니다. 나는 jessie-backports에서 가져온 nvidia-driver 빌드를 사용하고 있습니다. 다음은 다음과 /etc/apt/sources.list
같습니다.
# deb cdrom:[Debian GNU/Linux stretch-DI-alpha7 _Stretch_ - Official Snapshot amd64 NETINST Binary-1 20160630-14:29]/ stretch main
#deb cdrom:[Debian GNU/Linux stretch-DI-alpha7 _Stretch_ - Official Snapshot amd64 NETINST Binary-1 20160630-14:29]/ stretch main
deb http://ftp.es.debian.org/debian/ stretch main
deb-src http://ftp.es.debian.org/debian/ stretch main
deb http://ftp.de.debian.org/debian experimental main
deb http://security.debian.org/debian-security stretch/updates main
deb-src http://security.debian.org/debian-security stretch/updates main
deb http://ftp.de.debian.org/debian stretch main non-free
deb http://httpredir.debian.org/debian/ stretch main contrib non-free
deb http://httpredir.debian.org/debian jessie-backports main contrib non-free
이러한 종속성 때문에 설치를 제거하거나 다시 설치할 수 없습니다.
어떡해?
편집하다:
출력apt-get purge libnvidia-eglcore libnvidia-glcore
Reading package lists... Done
Building dependency tree
Reading state information... Done
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
libegl-nvidia0 : Depends: libnvidia-eglcore (= 367.44-2) but it is not going to be installed
libgl1-nvidia-glx : Depends: libnvidia-glcore (= 367.44-2) but it is not going to be installed
libgles-nvidia1 : Depends: libnvidia-eglcore (= 367.44-2) but it is not going to be installed
libgles-nvidia2 : Depends: libnvidia-eglcore (= 367.44-2) but it is not going to be installed
libglx-nvidia0 : Depends: libnvidia-glcore (= 367.44-2) but it is not going to be installed
nvidia-driver-libs : Depends: libnvidia-glcore (= 367.44-2) but it is not going to be installed
Recommends: nvidia-driver-libs-i386
xserver-xorg-video-nvidia : Depends: libnvidia-glcore (= 367.44-2) but it is not going to be installed
Recommends: nvidia-settings (>= 367) but it is not going to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).
답변1
그래서 마침내 nvidia 전체를 제거하고 완전히 새로운 패키지 세트를 설치할 수 있었던 것 같습니다.
오류 종속성을 제공하는 패키지를 수동으로 제거해야 했고 제거 후에도 여전히 설치되어 있는 잔여 libs 및 구성에 몇 가지 문제가 있었기 nvidia-*
때문에 정규식에 포함되지 않은 apt-get
모든 항목도 제거했습니다. libnvidia-*
제거될 항목을 읽은 후에는 무엇이든 깨질 것 같습니다.
그 후 재부팅하고 임시 또는 잔여 패키지와 파일을 모두 지우고 내가 가지고 있는 jessie-backports deb를 사용하여 nvidia 드라이버를 설치했는지 확인했습니다 /etc/apt/sourceslist
(수동으로 종속성을 수정하고 이를 처리할 적성을 피함). 이제 모든 것이 제대로 작동합니다. Greenthum 박사님, 고마워요, 당신은 정말 최고예요