Я хотел проверить мои установленные пакеты. Я создал помощник Python, вызывающий dpkg-query
, чтобы создать базу данных пакетов, используя словарь и списки Python. Помощник достаточно умен, чтобы проверить, действительно ли в словаре присутствуют зависимости, клонирующие базу данных установленных пакетов. Я получаю сообщение об ошибке с пакетом wings3d
: помощник уведомил меня, что пакет с именем erlang-abi-13.a
отсутствует. Synaptic говорит мне, что этот пакет не установлен. Он по-прежнему перечисляет этот пакет как wings3d
зависимость, но отображает его в зависимости, используя курсив вместо обычного шрифта.
Что это означает, когда Synaptic отображает зависимость, используя курсив? Как может отсутствовать зависимость, когда пакет, кажется, не нарушен?
Все пакеты, начинающиеся с erlang-abi
, являются виртуальными пакетами. Это будет видно из вывода apt-cache:
apt-cache show erlang-abi-15.b
N: Can't select versions from package 'erlang-abi-15.b' as it is purely virtual
N: No packages found
Ваш помощник не учитывает виртуальные пакеты, поэтому он не работает. Именно поэтому Synaptic показывает пакеты с курсивом .
Сделайте
apt-cache depends erlang-abi-13.a # see what depends upon it
и
apt-cache rdepends erlang-abi-13.a # see what it depends upon
Затем сделайте то же самое с wings3d. чтобы посмотреть, есть ли в списке erlang-abi-13.a.
Пакеты и требования могут быть немного перепутаны при обновлении дистрибутива. Это может быть причиной этого.