Как найти, какой пакет требуется другой пакет?

Я ищу, какой пакет с более длинным пакетом зависел от rsync. Теперь apt-get autoremove хочет удалить rsync поэтому я предполагаю, что он был установлен как часть зависимости, а не вручную, и мне любопытно, какой пакет зависел от него.

Могу ли я искать в журналах что-то вроде «X требует Y, поэтому я также установлю Y» ? Или он даже сохраняет, какая обратная зависимость требовала его, точно так же, как в нем хранится, что он не был установлен пользователем?

apt не помнит, какая обратная зависимость заставила его установить rsync , но он регистрирует все свои действия в /var/log/apt , поэтому вы можете найти зависимость там:

 zgrep rsync /var/log/apt/history.log* 

Найдите строку, в которой говорится, что rsync был установлен автоматически; один из неавтоматических пакетов должен быть источником установки.

Вы также можете проверить обратные зависимости rsync , например, aptitude , apt-rdepends -r или reverse-dependsubuntu-dev-tools ) или grep-dctrl .

Обратите внимание, что rsync может быть кандидатом на удаление, а не потому, что пакет в зависимости от него был удален, но из-за того, что какой-либо пакет, из-за которого он был установлен, больше не зависит от него. Это несколько сложнее проследить …

Как указано в cas , вы можете сказать apt чтобы сохранить rsync , независимо от того, какой пакет зависит от него, пометив его как установленный вручную, используя либо apt-get install rsync (который на самом деле не установит rsync если он уже установлен) или apt-mark manual rsync .