Wie erhalte ich den Codenamen („Wheezy“ oder „Sid“) einer Paketversion?

Wie erhalte ich den Codenamen („Wheezy“ oder „Sid“) einer Paketversion?

apt-cache showzeigt verschiedene Versionen des Pakets

# apt-cache show libc6:i386
Package: libc6
Version: 2.17-97
Architecture: i386
...

Package: libc6
Status: install ok installed
Version: 2.17-7
Architecture: i386
Multi-Arch: same
...

Package: libc6
Version: 2.13-38
Architecture: i386
...

# apt-get show libc6:amd64
Package: libc6
Version: 2.17-97
Architecture: amd64
...

Package: libc6
Version: 2.13-38
Architecture: amd64
...

Aber wie ordnet man eine Paketversion einem Release-Codenamen wie „stabil“/„testend“/„unstabil“ zu?

[XY-Problemnotiz] - was ich versuche zu tun und was passiert:

Ich versuche, mein i386-Debian so zu booten, dass es auch amd64-Binärdateien ausführt (i386 als primäre Architektur beibehalten).

  • Als ersten Schritt in der neuen amd64-Welt versuchte ich, ein Programm auszuführen,
  • libssl.so.1.0.0 konnte nicht gefunden werden,
  • Ich habe versucht, libssl1.0.0:amd64 zu installieren,
  • wurde durch libgcc1-Inkompatibilität gestoppt,
  • habe versucht, libgcc1:amd64 zu installieren, bekam Fehler wegen Inkompatibilität,
  • das System auf neuere Pakete aktualisiert (wie z. B. apt-get upgradezeigt Nullen),
  • zwangsweises Upgrade von i386-libgcc-bezogenen Paketen durch Installation mit expliziter Versionsangabe ( apt-get install libstdc++6=4.8.2-1 gcc-4.8-base=4.8.2-1 libgcc1=1:4.8.2-1 libgfortran3=4.8.2-1 libquadmath0=4.8.2-1 libgcc-4.8-dev=4.8.2-1 libgomp1=4.8.2-1 libitm1=4.8.2-1 libatomic1=4.8.2-1 libasan0=4.8.2-1 libstdc++-4.8-dev=4.8.2-1)
  • habe versucht, libgcc1:amd64 zu installieren, habe weniger Fehler als vorher bekommen, aber es wurde trotzdem gestoppt, weil libc6:amd64 fehlte,
  • habe versucht, libc6:amd64 zu installieren, wurde jedoch durch massive Inkompatibilitäten gestoppt,
  • habe (laut apt-cache info) festgestellt, dass für „meine“ i386-Version von libc6 derzeit keine entsprechende amd64-Version verfügbar ist.
  • Verwirrt durch die verschiedenen Versionen: welche ist noch von „Squeeze“ (zu alt), welche ist von „Sid“ (nur für manuelle Installation verfügbar, nicht für Upgrades). Warum gibt es nicht „meine“ Version einer Bibliothek, obwohl ich gerade ein vollständiges Upgrade durchgeführt habe? …

[/XY Problemhinweis]

AktualisierenVersucht apt-cache policy:

# apt-cache policy libc6:i386
libc6:
  Installed: 2.17-7
  Candidate: 2.17-7
  Version table:
     2.17-97 0
         10 http://ftp.de.debian.org/debian/ sid/main i386 Packages
         10 http://ftp.mgts.by/debian/ testing/main i386 Packages
 *** 2.17-7 0
        100 /var/lib/dpkg/status
     2.13-38 0
        900 http://ftp.mgts.by/debian/ wheezy/main i386 Packages

Sieht aus, als wäre meine libc6 etwas dazwischen.

Antwort1

Wie erhalte ich den Codenamen („Wheezy“ oder „Sid“) einer Paketversion?

Da es sich bei Debian um ein Rolling Release handelt, sind die Pakete nirgends mit sidoder wheezyangehängt. Die einzige Möglichkeit, herauszufinden, von wo Sie das Paket installiert haben, ist die Verwendung von apt-cache policy package.

Zum libc6-Problem:

Wenn Sie von 32 auf 64 Bit „upgraden“ möchten, ist dies nicht möglich oder es besteht eher die Gefahr, dass Sie das System beschädigen.

Das libc6Paket ist die Mutter aller Abhängigkeiten. Es ist dasjenige, das letztendlich sagt, ob Ihr System 64 oder 32 Bit ist, und es zu ändern ist nicht einfach. Das alteLeitfaden zur Migrationwird nicht mehr funktionieren, da es eine Schönheit namens Multiarch gibt.Es gibt einen anderen LeitfadenAberes ist zu gefährlichin der Produktion (also auf Ihrem Heim-PC) ausprobiert werden und Sie werden wahrscheinlich mit einem nicht mehr bootfähigen System enden (fangen Sie an zu weinen, wenn es Ihr einziges ist), wobei die einzige Lösung eine Neuinstallation ist. Sie möchten also ein System mit 64-Bit bis zum Kern und haben bereits 32-Bit installiert? Lösungen:

  1. Verwenden einer VM
  2. Verwenden Sie ein LXC
  3. Neu installieren
  4. Versuchen Sie, es zu überqueren
  5. Weinen und dann neu installieren

Das sind Ihre einzigen Lösungen.

Antwort2

Haben Sie es mit apt-cache madison versucht?

eclipxe@localhost:~# apt-cache madison iceweasel
 iceweasel |     25.0-1 | http://ftp.debian.org/debian/ experimental/main amd64 Packages
 iceweasel | 24.1.0esr-1 | http://ftp.debian.org/debian/ unstable/main amd64 Packages
 iceweasel | 17.0.9esr-1~deb7u1 | http://ftp.debian.org/debian/ testing/main amd64 Packages

eclipxe@localhost:~# apt-cache madison iceweasel | awk '{print $1,$6}'
iceweasel experimental/main
iceweasel unstable/main
iceweasel testing/main

(Ich führe Debian-Tests mit den Versionen „Unstable“ [Pin: 200] und „Experimental“ [Pin: 1] aus.)

Versuchen Sie außerdem, --target-release zu verwenden, wenn Sie Pakete einer höheren Version installieren:

apt-get install -t unstable iceweasel

verwandte Informationen