apt-cache show показывает различные версии пакета

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

Но как сопоставить версию пакета с кодовым именем выпуска как стабильный / тестирующий / нестабильный?

[XY проблема Примечание] - что я пытаюсь и что происходит:

Попытка начальной загрузки моего Debian i386, чтобы также запустить исполняемые файлы amd64 (сохраняя i386 в качестве основной арки),

  • В качестве первого шага в освоении нового мира amd64 я попытался запустить программу,
  • Не удалось найти libssl.so.1.0.0,
  • Я пытался установить libssl1.0.0:amd64,
  • был остановлен несовместимостью libgcc1,
  • попытался установить libgcc1:amd64, получил ошибки о несовместимости,
  • обновил систему до более новых пакетов (например, apt-get upgrade показывает нули),
  • принудительно обновил пакеты, связанные с libgcc для i386, установив с указанием явных версий (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)
  • попытался установить libgcc1:amd64, получил меньше ошибок по сравнению с предыдущим, но все равно остановился из-за отсутствия libc6:amd64,
  • попытался установить libc6:amd64, остановился из-за большой несовместимости,
  • обнаружил (согласно информации apt-cache info), что для "моей" версии libc6 для i386 в настоящее время нет соответствующей версии amd64.
  • Смущает разные версии: все еще из "squeeze" (слишком старый), из "sid" (доступно только для ручной установки, но не для обновления). Почему нет "моей" версии библиотеки, хотя я только что полностью обновился?..

[/XY проблемная записка]

Обновление пробной 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

Похоже, моя libc6 - нечто среднее.

2 ответа2

2

Вы пробовали с apt-cache Мэдисон?

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

(Я запускаю тестирование Debian с нестабильным [Pin: 200] и экспериментальным [Pin: 1])

Также, когда вы устанавливаете пакеты из более ранней версии, попробуйте использовать --target-release:

apt-get install -t unstable iceweasel
1

Как получить кодовое имя («wheezy» или «sid») версии пакета?

Поскольку Debian является скользящим выпуском, к пакетам нигде не прикреплены sid или wheezy , единственный способ узнать, откуда вы установили пакет, - использовать apt-cache policy package .

О проблеме libc6:

Если вы хотите "обновить" с 32 до 64 бит, то это невозможно, или, скорее всего, вы сломаете систему.

Пакет libc6 является лордом всех зависимостей. Это тот, который в конечном итоге скажет, является ли ваша система 64 или 32-битной, и изменить это не легко. Старое руководство по миграции больше не будет работать, так как есть красота под названием Multiarch. Есть и другое руководство, но его слишком опасно, чтобы его можно было попробовать в производственном процессе (он же ваш домашний компьютер), и вы, вероятно, закончите с системой, которая не загружается (начните плакать, если она единственная) с единственным решением переустановки. Итак, вы хотите, чтобы 64-битная система была ядром, а 32-битная система уже установлена? Решения:

  1. Используйте ВМ
  2. Используйте LXC
  3. Переустановка
  4. Попробуй пересечь это
  5. Плачь потом переустанови

Это ваши единственные решения.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .