0

apt-cache show shows various versions of the package

# 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
...

But how to map a package version to release codename like stable/testing/unstable?

[XY problem note] - what I try to to and what happens:

Trying bootstrap my i386 debian to also run amd64 binaries (keeping i386 as primary arch),

  • As a first step in trying the new amd64 world, I tried to run a program,
  • It failed to find libssl.so.1.0.0,
  • I tried to install libssl1.0.0:amd64,
  • got stopped by libgcc1 incompatibility,
  • tried installing libgcc1:amd64, got errors about incompatibility,
  • upgraded the system to more recent packages (such as apt-get upgrade shows zeroes),
  • forcibly upgraded i386 libgcc-related packages by installing with explicit versions specified (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)
  • tried installing libgcc1:amd64, got less errors comparing to before, but still stopped by absence of libc6:amd64,
  • tried installing libc6:amd64, got stopped by massive incompatibilities,
  • found (according to apt-cache info) that for "my" i386 version of libc6 there's currently no corresponding amd64 version available.
  • Confused by various versions: which is still from "squeeze" (too old), which is from "sid" (available only for manual installation, not for upgrading). Why there's no "my" version of a library even though I just upgraded fully?..

[/XY problem note]

Update Tried 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

Looks like my libc6 is something in-between.

Vi.
  • 17,755

2 Answers2

2

Have you tryed with apt-cache madison ?

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

(I'm running debian testing with unstable [Pin: 200] and experimental [Pin: 1])

Also, when you're installing packages from a higher version try to use --target-release:

apt-get install -t unstable iceweasel
1

How to get codename (“wheezy” or “sid”) of a package version?

Since Debian is a rolling release, packages doesn't have sid or wheezy attached anywhere, the only way to know from where you installed the package is using apt-cache policy package.

About libc6 problem:

If you want to "upgrade" from 32 to 64-bits then it's not possible, or more like it's likely that you will break the system.

The libc6 package is the mother lord of all dependencies. Is the one that ultimately will tell if your system is 64 or 32 bits, and change it is not easy. The old guide to migrate will not work anymore since there is a beauty called Multiarch. There's another guide but it's too dangerous to be tried in production (aka your home PC) and you will probably end with an unbootable system (start crying if it's your only) with the only solution of a reinstall. So, you want a system 64-bits to the core and have a 32-bits already installed? Solutions:

  1. Use a VM
  2. Use a LXC
  3. Reinstall
  4. Try to cross it over
  5. Cry then reinstall

Those are your only solutions.

Vi.
  • 17,755
Braiam
  • 4,777