Verschiedene Versionen derselben Bibliothek haben meinen Paketmanager beschädigt

Verschiedene Versionen derselben Bibliothek haben meinen Paketmanager beschädigt
OS: Debian stretch
linux kernel: 4.7.0-1-amd64

Ich habe unerfüllte Abhängigkeiten zwischen einigen Nvidia-Paketen. Sie scheinen dadurch verursacht zu werden, libnvidia-glcoreund libnvidia-eglcoredas Erzwingen über apt/dpkg/aptitude scheint nicht zu funktionieren. apt-get install -fgibt mir diese Ausgabe:

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:i386druckt folgendes:

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

Vor einiger Zeit habe ich versucht, einige Pakete aus dem experimentellen Zweig zu installieren und habe die Quelle in der Quelldatei gespeichert gelassen. Ich habe den Nvidia-Treiber-Build verwendet, der von Jessie-Backports abgerufen wurde. So sieht es /etc/apt/sources.listaus:

# 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

Aufgrund dieser Abhängigkeiten kann ich die Installation weder löschen noch neu installieren.

Was kann ich machen?

bearbeiten:

Ausgabe vonapt-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).

Antwort1

Ich glaube, ich habe endlich die ganze Nvidia-Sache bereinigt und es geschafft, einen völlig neuen Satz Pakete zu installieren.

Ich musste die Pakete, die die Fehlerabhängigkeiten aufwiesen, manuell löschen und hatte dann einige Probleme mit Restbibliotheken und -konfigurationen, die nach der Löschung noch installiert waren. nvidia-*Daher apt-gethabe ich auch darauf geachtet, alles zu entfernen, was unter libnvidia-*reguläre Ausdrücke fiel. Nachdem ich gelesen hatte, was deinstalliert werden würde, sah es jedoch nicht so aus, als würde dadurch etwas kaputt gehen.

Danach habe ich neugestartet und sichergestellt, dass ich alle temporären oder restlichen Pakete und Dateien gelöscht habe, habe die Nvidia-Treiber mit dem Jessie-Backports-Deb installiert, das ich habe /etc/apt/sourceslist(ich habe die Abhängigkeiten manuell selbst behoben und Aptitude daran gehindert, sich darum zu kümmern) und jetzt funktioniert alles. Danke, Dr. Greenthumb, du bist der Hammer

verwandte Informationen