Примітка про можливий дублікат:
AFAIK, це не дублікат того, як я можу вирішити незадовільні залежності після додавання PPA? інакше будь ласка, доведіть це, вирішивши тестову проблему, яку я згадую нижче, використовуючи будь-яку відповідь звідти.
Фон:
Я зіткнувся з цією проблемою раніше, як виправити встановлення вина на Ubuntu 14.04.3LTS 64 біт . Це було вирішено ручним / людським оглядом усіх рекурсивних залежностей цільового пакету ( wine).
Відтворити проблему (тестовий випадок):
Давайте створимо таку ж ситуацію тихою спрощеною лише з 1 пакетом проблем.
- Встановіть свіжий Ubuntu 14.04 на VirtualBox.
- Відкрийте
software-properties-gtkта увімкнітьbackportsсховище. Отримати останній список пакетів
sudo apt-get updateВиконати,
apt-get -s install wineщоб підтвердити, щоwineможна встановити.Встановіть тривожний пакет
libcgmanager0із заднього списку$ apt-cache policy libcgmanager0 libcgmanager0: Installed: 0.24-0ubuntu5 Candidate: 0.24-0ubuntu7.5 Version table: 0.39-2ubuntu2~ubuntu14.04.1 0 100 http://dz.archive.ubuntu.com/ubuntu/ trusty-backports/main amd64 Packages 0.24-0ubuntu7.5 0 500 http://dz.archive.ubuntu.com/ubuntu/ trusty-updates/main amd64 Packages 0.24-0ubuntu7.1 0 500 http://security.ubuntu.com/ubuntu/ trusty-security/main amd64 Packages *** 0.24-0ubuntu5 0 500 http://dz.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages 100 /var/lib/dpkg/statusЗмусити
aptвстановитиlibcgmanager0версію0.39-2ubuntu2~ubuntu14.04.1sudo apt-get install libcgmanager0=0.39-2ubuntu2~ubuntu14.04.1
Тепер ми опиняємось у тій же ситуації з користувачем із зазначеного питання на задньому плані, установка вина не спрацьовує з невиконаною залежністю, показуючи лише пакети залежності першого рівня.
apt-get -s install wineReading 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: wine : Depends: wine1.6 but it is not going to be installed E: Unable to correct problems, you have held broken packages.apt-get -s install wine1.6Reading 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: wine1.6 : Depends: wine1.6-i386 (= 1:1.6.2-0ubuntu4) E: Unable to correct problems, you have held broken packages.apt-get -s install wine1.6-i386Reading 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: wine1.6-i386:i386 : Depends: libglu1-mesa:i386 but it is not going to be installed or libglu1:i386 Depends: libgphoto2-6:i386 (>= 2.5.2) but it is not going to be installed Depends: libgphoto2-port10:i386 (>= 2.5.2) but it is not going to be installed Recommends: libsane:i386 but it is not going to be installed E: Unable to correct problems, you have held broken packages.
Дотримуватися залежностей apt-get installодна за одною не практично .
Ідеальне рішення:
Справжнє питання тут
aptне вдалося встановитиlibcgmanager0:i386версію,0.39-2ubuntu2~ubuntu14.04.1оскільки сховище резервного списку має нижчий пріоритет,100менший за версію0.24-0ubuntu7.5зupdatesсховища500aptне вдалося встановитиlibcgmanager0:i386версію,0.24-0ubuntu7.5оскількиlibcgmanager0:amd64встановлена інша версія0.39-2ubuntu2~ubuntu14.04.1
Найшвидший виправлення полягає в тому, щоб змусити встановити ту ж версію i386 із заднього списку
sudo apt-get install libcgmanager0:i386=0.39-2ubuntu2~ubuntu14.04.1
або зменшити його (amd64) до будь-якої версії із звичайних сховищ
sudo apt-get install libcgmanager0=0.24-0ubuntu7.5
Способи / інструменти, які я спробував:
- Вимкнення PPA не має ніякого відношення до проблеми.
- Використання
aptitudeв інтерактивному режимі приносить лише рішення з багатьма видаленнями ( > 200 !!! ). - Використовуйте
apt-get installвручну, керуючись деревом залежності. Непрактично, оскільки залежності першого та другого рівнів не викликали змістовного повідомлення про конфлікт. debfosterможе генерувати рекурсивні залежності, але лише для вже встановленого пакету. Однакwineще не встановлено.
Тема / Мої інтереси:
Скажімо, я хочу встановити вино, не знаючи про проблему libcgmanager0упаковки (або саме libcgmanager0:amd64=0.39-2ubuntu2~ubuntu14.04.1того , що вже встановлено).
Я шукаю метод налагодження або спосіб дізнатися назву тривожного пакету і швидко зрозуміти, що відбувається.
Як налагодити проблеми, що не задовольняються, в цілому?
Можливо, є нові параметри в
dpkg/apt/,aptitudeякі простежують внутрішню залежність рішення. Що можна показатиlibcgmanager0у своєму результаті.Якщо на це немає ніякої канонічної відповіді, невже хто-небудь може показати мені кращий спосіб генерувати рекурсивний список залежностей або моделювати вирішувач залежності з більш детальною інформацією, яка може допомогти виправити проблему?
Чому всі залежності? Тому що я хочу перевірити вихід випущених нижче команд для всіх пакетів одночасно.
apt-cache policy <all-dependencies>apt-get -s install <all-dependencies>
libcgmanager, а в залежності? Ви згадали про рекурсивний перелік залежностей. Ви пробували apt-rdepends?
wine(або інший пакунок, що впливає) на -o Debug::pkgProblemResolver=yes?
backportsверсія?