Ich habe die folgenden Pinnings festgelegt:
Package: linux-image-amd64
Pin: release a=wheezy-backports
Pin-Priority: 1001
Package: *
Pin: release a=wheezy-backports
Pin-Priority: 499
Ich erhalte folgenden Fehler:
$ sudo apt-get install linux-image-amd64
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
linux-image-amd64 : Depends: linux-image-3.16.0-0.bpo.4-amd64 but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
Die Richtlinien scheinen korrekt zu sein:
$ apt-cache policy linux-image-amd64
linux-image-amd64:
Installed: 3.2+46
Candidate: 3.16+63~bpo70+1
Package pin: 3.16+63~bpo70+1
Version table:
3.16+63~bpo70+1 1001
499 http://ftp.nl.debian.org/debian/ wheezy-backports/main amd64 Packages
*** 3.2+46 1001
500 http://ftp.nl.debian.org/debian/ wheezy/main amd64 Packages
100 /var/lib/dpkg/status
$ apt-cache policy linux-image-3.16.0-0.bpo.4-amd64
linux-image-3.16.0-0.bpo.4-amd64:
Installed: (none)
Candidate: 3.16.7-ckt4-3~bpo70+1
Version table:
3.16.7-ckt4-3~bpo70+1 0
499 http://ftp.nl.debian.org/debian/ wheezy-backports/main amd64 Packages
Ich verstehe den Fehler also nicht. Was mache ich falsch?
Ich versuche, mit Puppet alle Wheezy-Maschinen auf den Backports-Kernel zu aktualisieren (ein Neustart ist geplant), weshalb ich ihn korrekt lösen möchte. Ich konnte mich manuell bei allen Servern anmelden, um Folgendes auszuführen:
sudo apt-get install -t wheezy-backports linux-image-amd64
Was funktioniert, ist aber nicht so bequem.
AKTUALISIEREN
Wie gewünscht:
/etc/apt/preferences.d$ cat linux-image
Package: linux-image-*
Pin: release a=wheezy-backports
Pin-Priority: 1001
Package: *
Pin: release a=wheezy-backports
Pin-Priority: 499
/etc/apt/preferences.d$ sudo apt-get update
Hit http://debian.kumina.nl wheezy-kumina Release.gpg
.
.
.
Reading package lists... Done
/etc/apt/preferences.d$ sudo apt-get install linux-image-amd64
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
linux-image-amd64 : Depends: linux-image-3.16.0-0.bpo.4-amd64 but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
/etc/apt/preferences.d$ aptitude why-not linux-image-3.16.0-0.bpo.4-amd64
Unable to find a reason to remove linux-image-3.16.0-0.bpo.4-amd64.
debian
apt
debian-wheezy
package-management
pinning
Tim Stoop
quelle
quelle
Depends: kmod | module-init-tools, linux-base (>= 3~), debconf (>= 0.5) | debconf-2.0, initramfs-tools (>= 0.110~) | dracut (>= 0.40+1-1~) | linux-initramfs-tool
. Wenn Siedracut
zum Beispiel verwenden, hat Wheezy eine Version020-2 0
, während Backports haben040+1-1 0
. In diesem Fall müssen Sie die Priorität des Dracut-Pakets erhöhen, damit es auch aus Backports entnommen werden kann.-t wheezy-backports
. Diese Durchsetzung installiert jedoch auch alle neueren Versionen für nicht installierte Abhängigkeiten von Backports, unabhängig davon, ob stabile Versionen ausreichen oder nicht. Wenn Sie nur eine begrenzte und kontrollierte Anzahl von Paketen aus Backports installieren müssen, müssen Sie die Abhängigkeiten verfolgen und manuell anheften. Wenn Sie sich nicht darum kümmern, machen Sie es einfach voll-t *backports
.Ich weiß, es ist nicht bequem, aber es ist der richtige Weg, um Dinge zu tun, ohne in Zukunft Probleme zu haben (IMHO natürlich).
quelle
-t
besteht darin, das Paket seine Abhängigkeiten installieren zu lassen. "Mach genau das, was du brauchst". - Es ist ein Ansatz für eine Weile: Mach, was du weißt, wenn du brauchstÄndern Sie die oberste Zeile in Ihren Einstellungen in
Lauf
Versuchen Sie erneut zu installieren. Wenn Sie immer noch den Fehler erhalten, überprüfen Sie
quelle
aptitude
Resolver interaktiv verwenden, um das Problem zu identifizieren. Vielleichtlinux-*
um andere Abhängigkeiten aufzunehmen? Ist es möglichAPT::Default-Release "wheezy-backports";
, die Konfiguration vorübergehend zu ergänzen ?