Почему APT хочет обновить уже обновленный пакет?

Если вы скопировали -вставили команду откуда-то, вы, вероятно, получили символ Unicode вместо ASCII (em -тире вместо -или не -разрывающий пробел вместо пробела и т. д. ). Однако, если бы это было длинное -тире или что-то подобное, оно не рассматривалось бы как аргумент опции (, а рассматривалось бы как нераспознанная опция ). Поскольку --install /usr/bin/javaпредставлен как один аргумент в ошибке, пробел между ними, вероятно, не является пробелом ASCII, а пробелом Unicode .

1
20.04.2020, 14:54
1 ответ

Это происходит из-за того, что установленный вами пакет не соответствует пакетам, доступным в репозиториях, даже если они имеют одинаковые версии. (Как выяснил AB , это, по-видимому, основано на установленном размере пакета :, если версия установленного пакета идентична версии, доступной в репозиториях, но его установленный размер отличается, aptзахочет заменить пакет версией, доступной в репозиториях. Установленный размер указан в Packagesдля удаленных пакетов и /var/lib/dpkg/statusдля установленных пакетов. Все это, конечно, также зависит от приоритетов выводов пакетов.)

Всякий раз, когда вы собираете пакет локально, особенно если вы вносите в него изменения, рекомендуется обновлять журнал изменений, как если бы вы выполняли -не сопровождающую загрузку:

dch -n "Summary of your changes"
dch -r ignored

Таким образом, aptне будет пытаться заменить ваш пакет пакетами в репозиториях, пока последние не будут обновлены.

3
19.03.2021, 02:27

Теги

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