LINUX.ORG.RU
решено ФорумAdmin

[debian][apt] Узнать имя пакета, обновление которого приводит к установке другого пакета


0

1

Debian testing/sid. В системе не установлен pulseaudio. Но при очередном обновлении системы с помощью aptitude full-upgrade обновление какого-то пакета приводит к автоматической доустановке всего pulseaudio. Требуется узнать имя этого пакета до проведения процедуры обновления.

Есть ли уже готовое простое решение, или нужно писать скрипт для анализа всех зависимостей?

Спасибо.

попробуй запустить какой-нить синаптик, выбрать обновление всех пакетов, а потом снять галочку с pulseaudio

xapienz ()

Есть вероятность, что сработает

aptitude search ~U~Ddepends:pulseaudio
но я сомневаюсь.

Ещё можно попробовать как-то так

aptitude search ~U -F'%p' | while read pkg; do apt-cache depends $pkg | grep -B30 pulseaudio; done
Этот вариант, скорее всего, сработает.

GotF ★★★★★ ()

aptitude --show-why -v -s full-upgrade ?

AITap ★★★★★ ()

Интерактивный режим аптитуды, пометить все доступные обновления, навести на пульсу, смотреть в информационном поле, вкладка «Why installed»

si0 ★★★ ()

Всем спасибо!

Виновником оказался пакет gnome-media, случайно оставшийся в системе ещё со времён второго гнома. Теперь в нём зависимость от pulseaudio стала recommends вместо suggests, т.е. более жёсткая (если не ошибаюсь), и aptitude его хотел доставить.

Метод AITap оказался лучшим. Метод si0 не пробовал, но думаю, что это тоже рабочий интерактивный эквивалент. Метод GotF тоже работает. Метод xapienz с synaptic не сработал (предположительно потому, что зависимость всё же не абсолютно жёсткая, хотя я мог и что-то не так сделать).

Slimer ()
Ответ на: комментарий от Slimer

Хотя, конечно, метод с synaptic всё же позволит избежать установки pulseaudio. Так что его тоже можно использовать. Хороший хак ;)

Slimer ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.