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

1312
Vi.

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 - нечто среднее.

0
Если нет критической информации, которую я не знаю, двоичный файл AMD64 НИКОГДА не будет работать на машине i386, 64-разрядная может работать 32-разрядной, но не наоборот. 10 лет назад 0
В настоящее время я использую систему i386_32 в ядре i386_64. Работает нормально. Но я хочу начать медленную миграцию на 64-битные. Следующий шаг - библиотеки. Vi. 10 лет назад 0
@Slowki, если у него 64-битное ядро ​​(с 64-битным процессором) и зависимости amd64, тогда проблем не возникает [Как запустить 32-битную программу в 64-битной версии Ubuntu?] (http://askubuntu.com/a/359184) Braiam 10 лет назад 0
@Braiam, зачем менять название? На основной вопрос уже дан ответ («политика apt-cache» - я не знал об этом раньше). Теперь обсуждение относительно не связанных вещей. Vi. 10 лет назад 0

2 ответа на вопрос

2
Carlos C Soto

Вы пробовали с 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 '' iceweasel experimental/main iceweasel unstable/main iceweasel testing/main 

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

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

apt-get install -t unstable iceweasel 
Хорошо, только справочная страница документирует это D :! Braiam 10 лет назад 0
также apt-show-version может помочь в этом Carlos C Soto 10 лет назад 0
`apt-show-version libc6` ->` libc6 / testing uptodate 2.17-97`; `apt-show-version libc6: i386` ->` libc6: i386 не установлен (даже недоступен) `... Знает ли он даже о multiarch? Vi. 10 лет назад 0
Моя apt-show-version - это 0.22.3, это мой вывод: # apt-show-version libc6 libc6: amd64 / testing 2.17-97 обновление libc6: i386 / testing 2.17-97 обновление Carlos C Soto 10 лет назад 0
Поддержка multiarch в apt-show-version была добавлена ​​в версии 0.21. В стабильной текущей версии 0.20. Может быть, `apt-get install -t testing apt-show-version`? Carlos C Soto 10 лет назад 0
1
Braiam

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

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

О проблеме libc6:

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

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

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

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

Установка libc6: amd64 не должна быть опасной, потому что system is i386, поэтому в настоящее время ничто не зависит от libc6: amd64. Но версии libc6: amd64 и libc6: i386 должны совпадать. Но я не могу найти нужную версию для amd64 и в настоящее время не знаю, почему ... Vi. 10 лет назад 0
Резервная копия системы моего основного ноутбука, поэтому я ожидаю, что смогу вернуться в случае необходимости. Vi. 10 лет назад 0
Не может быть одновременно libc6: i386 и libc6: amd64? Зачем нужен этот мультиарх в этом случае? Я хочу иметь возможность устанавливать и / или запускать программы только для i386 и amd64 ... Vi. 10 лет назад 0
«Multiarch - это термин, используемый для обозначения способности системы устанавливать и запускать приложения с несколькими различными двоичными целями в одной и той же системе». -> Выглядит как раз то, что мне нужно, ожидайте от меня «Например, запуск i386 Приложение -linux-gnu в системе amd64-linux-gnu. полностью изменено: i386 должен некоторое время оставаться первичным, а amd64 является дополнительным. Как я ожидаю установить какой-либо пакет amd64, если большинство из них зависит от libc6: amd64, который не может быть установлен по проекту (`Breaks: libc6: amd64`)? Vi. 10 лет назад 0
В качестве первой программы для проверки x86_64 я попытался запустить `eureqa_0_99_2_X11_x86-64`. Не удалось с отсутствующей библиотекой `libssl.so.1.0.0`. (Кажется, что сама libc6 действительно доступна в `/ lib64`). Я попытался установить libssl1.0.0: amd64, но это не удалось, потому что он не может найти базовые операции amd64 ... Vi. 10 лет назад 0
позвольте нам [продолжить это обсуждение в чате] (http://chat.stackexchange.com/rooms/11823/discussion-between-vi-and-braiam) Vi. 10 лет назад 0

Похожие вопросы