Назад | Перейти на главную страницу

Нестабильный ящик Debian имеет старую версию пакета, отказывается обновляться, нарушая установку

Мне нужно установить python-twisted, так что ...

$ sudo aptitude install python-twisted
[[...]]
The following packages have unmet dependencies:
 python-twisted-mail: Depends: python-twisted-core (>= 10.1) but
10.0.0-3 is to be installed.
 python-twisted-news: Depends: python-twisted-core (>= 10.1) but
10.0.0-3 is to be installed.
 python-twisted-words: Depends: python-twisted-core (>= 10.1) but
10.0.0-3 is to be installed.
 python-twisted-names: Depends: python-twisted-core (>= 10.1) but
10.0.0-3 is to be installed.
The following actions will resolve these dependencies:
[[...]]

Ой. Таким образом, он не будет устанавливать python-twisted, потому что это зависит от ... эй, подожди секунду ... Давайте что-нибудь проверим ... http://packages.debian.org/sid/python-twisted-core говорит что последняя версия 10.1.0-1 ...

$ sudo aptitude update
[[...]]
$ aptitude show python-twisted-core
Package: python-twisted-core
New: yes
State: not installed
Version: 10.0.0-3
Priority: optional
[[...]]
$ apt-cache policy python-twisted-core
python-twisted-core:
  Installed: (none)
  Candidate: 10.0.0-3
  Version table:
     10.0.0-3 0
        500 http://ftp.us.debian.org unstable/main Packages

Ага. Так что aptitude по какой-то причине все еще считает 10.0.0-3 последней версией. А это - так - не так. Зачем? Я на каком-то дерьмовом зеркале или из-за мошеннических репозиториев?

$ cat /etc/apt/sources.list
deb http://ftp.us.debian.org/debian/ unstable main contrib non-free
deb-src http://ftp.us.debian.org/debian/ unstable main contrib non-free

Итак, я нахожусь на основном зеркале Debian, с момента обновления прошел день, так что с любой задержкой cron - нужно - к настоящему времени иметь дело ... и она все еще не работает. Я даже пробовал описанное выше на совершенно новой установке Debian Unstable, все еще в той же тональности. Теперь я официально понятия не имею, что мне делать. Возможно, специалисты по сбоям сервера могут помочь.

На основе вывода apt-cache policy python-twisted-core, apt не видит, что версия 10.1.0-1 существует. Он показывает версию 10.0.0-3 как устанавливаемую из ожидаемого источника.

Для справки, проблема могла в том, что вы забыли запустить apt-get update (или что-то подобное, например aptitude update) или что команда обновления не удалась по какой-либо причине, например из-за сетевой ошибки. Но я не думаю, что это случилось с тобой.

Проблема могла заключаться в том, что зеркало устарело. Но я проверил, вроде там такое же содержимое, как и у других зеркал.

Вы не говорите, какая у вас архитектура. Я предполагаю, что в вашей архитектуре еще нет более новой версии.

Часто для того, чтобы пакет появился во всех архитектурах, требуется несколько дней, потому что некоторые архитектуры обладают большей вычислительной мощностью для сборки, чем другие. Пока python-twisted-core не зависит от архитектуры, его исходный пакет - нет. Вы можете увидеть, какие архитектуры имеют какие версии, посмотрев на страница архитектурно-зависимого пакета из того же источника. Я вижу, что на сегодняшний день i386 имеет 10.1.0-1, но amd64 все еще имеет 10.0.0-3. python-twisted-mail взят из другого пакета, который быстро распространялся, потому что он зависит от архитектуры.

Это тот вид беспокойства, от которого вас защищает тестирование. Если вам действительно не нужна более новая версия, есть очень большая вероятность, что получение всех ваших пакетов, скрученных с помощью python, из тестирования, решит вашу проблему. Самый простой способ сделать это - добавить тестирование к вашему sources.list (поскольку пакеты из тестирования старше, чем пакеты из нестабильной версии, это не должно изменять то, что устанавливается, кроме случаев, когда вы даете явный запрос) и вручную выбирая версии 10.0.0-3 в интерактивном пользовательском интерфейсе aptitude.

Настоящая проблема, скрытая за кулисами, может быть объяснена на соответствующая ветка debian-user:

Спасибо, понятно. Проблема в том, что скрученный пакет с исходным кодом (который создает двоичный пакет, скрученный с помощью python) еще не был загружен на amd64, и даже несмотря на то, что скрученный с помощью python является аркой: весь пакет хранится в старой версии.

Раньше пакет arch: all синхронизировался на всех арках, но поскольку это часто приводило к деинсталляции, когда foo (arch: any) зависело от foo-common (arch: all) той же исходной версии, а foo еще не был построен, ftp-masters это изменили.

В этом случае возникает нежелательный побочный эффект, заключающийся в том, что пакеты из разные исходный код зависит от новой версии python-twisted-core, что делает их недоступными для установки на amd64.

Так что да. Как и в ответе Жиля, проблема заключалась в том, что пакет не был создан для amd64, но поскольку основные биты пакета не зависят от платформы, он был потерян при перемешивании. Думаю. Но не беспокойтесь, просто сделайте обходной путь, как описано в ответе Жиля, сообщите о своей проблеме в один из списков рассылки debian (например, debian-user), надеюсь, что они немного озадачили отчет об ошибке, и будьте терпеливы. Это тоже пройдет. Особенно в Сиде.