Для конкретного пакета я могу узнать, почему он установлен?
Итак, могу ли я увидеть или установить его вручную или установить его как зависимость другого пакета? Или что он установлен как часть дистрибутива?
Быстрое и короткое рассуждение о том, почему был установлен определенный пакет, можно найти, введя следующую команду в терминале (Applications -> Accessories -> Terminal):
aptitude why <package-name>
Заменить именем пакета вас интересует. Например, ввод aptitude why libgoo-canvas-perl выводит следующее:
i shutter Suggests libgoo-canvas-perl
Это в основном означает, что пакет shutter в этом случае предложил libgoo-canvas-perl установить. К тому времени, набрав aptitude why shutter, я могу подойти к цепочке зависимостей.
Однако есть оговорка. Я часто замечаю, что aptitude находит наиболее правдоподобное объяснение ситуации, которая не может быть фактическим, но тем не менее даст вам ключ к дальнейшему поиску.
В моем случае shutter предлагает libgoo-canvas-perl - однако предлагаемые пакеты не устанавливаются автоматически по умолчанию. Тем не менее, он пробегает мою память об «опыте», не имея возможности редактировать скриншоты с помощью shutter, что привело меня к установке вручную ligbgoo-canvas-perl
Наконец, вы можете узнать, был ли установлен пакет автоматически (это означает, что система управления пакетами была обязательной для просмотра зависимостей и рекомендаций других пакетов, которые вы попросили установить), выполнив следующую команду.
aptitude show <package-name>
Здесь будет выводиться строка, как показано ниже (3-я строка выходного файла):
Automatically installed: no
Для получения дополнительной информации о запуске info aptitude (в терминале) или посетите страницу вики-страницы Aptitude
. Чтобы узнать, когда был установлен конкретный пакет, есть 2 варианта:
Менеджер синаптического пакета поддерживает журнал истории всей активности. Чтобы просмотреть файл журнала истории, выберите «История» в меню «Файл». Вы можете найти Install (помните об этом), чтобы перечислить все записи, касающиеся установки. Однако это покажет только пакеты, установленные с помощью Synaptic. Выполните следующую команду в терминале. Это приведет к поиску журналов dpkg для записей истории установки. Тем не менее, существует максимальный предел того, сколько из этих журналов сохранено, поэтому, если пакет, который вы ищете, был установлен давно, вы можете его не найти. Подробнее здесьzcat -f /var/log/dpkg.log* | grep "\ install\ " | grep -i <package-name>
Да, вы можете, и это довольно очевидная команда. Предполагая, что у вас установлен aptitude, вы можете открыть тип объявления терминального окна:
aptitude why package
Это должно дать список пакетов, зависящих от этого конкретного пакета. Если это установленный вручную пакет, он скажет что-то вроде «Невозможно найти причину для установки пакета».
Вот простой способ, который не полагается на aptitude, который 10.10 больше не отправляет по умолчанию.
Обратите внимание: вам нужен root-доступ для запуска этих команд.Откройте Synaptic и попытайтесь удалить его.
Если появляется диалоговое окно с просьбой удалить другие пакеты, это пакеты, которые (рекурсивно) зависит от него.
apt-get remove package_name_goes_here -s
Опять же, пакеты, которые будут удалены в результате, - это все те, которые (рекурсивно) зависят от него. (Параметр -s сообщает apt-get, что на самом деле не удаляет пакет.)