Из руководств:
Команда почему находит цепочку зависимостей, которая устанавливает пакет, названный в командной строке, как указано выше. Обратите внимание, что зависимость, которую aptitude создает в этом случае, является лишь предположением. Это связано с тем, что ни один пакет, установленный в данный момент на этом компьютере, не зависит от пакета kdepim и не рекомендует его; если бы была более сильная зависимость, aptitude показала бы это.
Напротив, почему-не находит цепочку зависимостей, приводящую к конфликту с целевым пакетом:
В моем случае (Ubuntu 14.04.2 LTS \n \l
) я пытаюсь установить libdbus-1-3:i386
$ sudo apt-get install libdbus-1-3:i386
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
libdbus-1-3:i386 : Depends: libc6:i386 (>= 2.10) but it is not going to be installed
unity-control-center : Depends: libcheese-gtk23 (>= 3.4.0) but it is not going to be installed
Depends: libcheese7 (>= 3.0.1) but it is not going to be installed
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
Я пытался aptitude why
и aptitude why-not
, надеясь получить больше информации о том, почему установка не удалась.
$ sudo aptitude why libdbus-1-3:i386
p upstart:i386 Provides upstart
p upstart:i386 Depends libdbus-1-3:i386 (>= 1.2.16)
$ sudo aptitude why-not libdbus-1-3:i386
Unable to find a reason to remove libdbus-1-3:i386.
$ sudo aptitude why libc6:i386
p sqlite3:i386 Provides sqlite3
p sqlite3:i386 Depends libc6:i386 (>= 2.4)
$ sudo aptitude why-not libc6:i386
p sqlite3:i386 Provides sqlite3
p sqlite3:i386 Depends libc6:i386 (>= 2.4)
p libc6:i386 Conflicts libc6-xen:i386
p libc6:i386 Provides libc6-xen:i386
Но я не могу понять смысл вывода. Может кто-нибудь помочь мне?
why
Короче говоря, aptitude
why
управляйте попыткой сказать, почему пакет должен быть установлен или уже установлен в системе. Например, в моей системе (Ubuntu 16.04), когда я работал aptitude why nautilus-data
, Это говорит
i unity-settings-daemon Depends nautilus-data (>= 2.91.3-1)
Что означает unity-settings-daemon
зависит от nautilus-data
и вот почему это установлено, обозначено i
слева большая часть столбца стороны.
Снова, когда я работал aptitude why edubuntu-desktop
, Это говорит,
Unable to find a reason to install edubuntu-desktop.
Поскольку ни один из моих установленных пакетов не зависит или рекомендует (зависит и рекомендует, внутренний термин Кв.), edubuntu-desktop
why-not
why-not
противоположность why
. Это пытается найти причину, почему данный пакет не должен быть установлен или должен быть удален, если уже установлено.
Например, когда я ввел aptitude why-not mate-power-manager:i386
, Это говорит
i mate-power-manager Conflicts mate-power-manager:i386
что означает мой установленный mate-power-manager:amd64
будет конфликтовать с mate-power-manager:i386
(Поскольку моя система является amd64 установкой, вот почему она явно не упоминала amd64
).
Соответствующая часть страницы руководства очень ясна. Но включая это будет делать ответ слишком долго. Вот руководство способности
Когда Вы пытались установить libdbus-1-3:i386
, сообщения, здесь говоря
The following packages have unmet dependencies:
libdbus-1-3:i386 : Depends: libc6:i386 (>= 2.10) but it is not going to be installed
unity-control-center : Depends: libcheese-gtk23 (>= 3.4.0) but it is not going to be installed
Depends: libcheese7 (>= 3.0.1) but it is not going to be installed
пакет libdbus-1-3:i386
требует libc6:i386 (>= 2.10)
но это не может быть установлено. Также пакет unity-control-center
в зависимости от libcheese-gtk23 (>= 3.4.0)
и libcheese7 (>= 3.0.1)
не может быть установлен.
Причина, почему не может быть установлен, может быть, многие, включая определенную версию, требуемую для тех пакетов, отсутствуют или будут конфликтовать с существующей версией, установленной и т.д.