Получить информацию об установленных пакетах Ubuntu

480
mizipzor

Каков лучший инструмент, который для любого данного пакета, по возможности, обеспечивает следующую информацию:

  • Для чего используется пакет?
  • Когда это было установлено?
  • Был ли этот пакет установлен вручную или он требовался другим пакетом?
  • Существуют ли в настоящее время какие-либо пакеты, которые зависят от этого пакета, то есть что-то сломается, если он будет удален?
4

2 ответа на вопрос

4
Telemachus

Это большой вопрос. Вы могли бы подумать, что был бы один хороший, удобный инструмент, чтобы сказать вам такие вещи, но я этого не знаю. Я пойду один за другим и дам свои лучшие предложения.

  1. Для чего используется пакет?
  2. Когда это было установлено?
  3. Был ли этот пакет установлен вручную или он требовался другим пакетом?
  4. Существуют ли в настоящее время какие-либо пакеты, которые зависят от этого пакета, то есть что-то сломается, если он будет удален?
  1. В командной строке aptitude show packageили apt-cache show package предоставим описание пакета, а также много другой информации. Synaptic позволяет искать элемент различными способами и предоставляет описание пакета. (Описания, которые вы получаете от всех этих методов, идентичны. Я полагаю, что все они получают информацию из одного и того же места в .deb.)

  2. Такая простая вещь, но кроме копания в логах, я не могу придумать, как это сделать. Synaptic, похоже, не хранит эту информацию в качестве метаданных. (Это приведет к большой ошибке в списке желаний.) Вот один из способов сделать это:

    zgrep package /var/log/dpkg* 

    Это немного глупо, и это даст много выходных данных, но также должно дать вам желаемую дату. (Это нужно, zgrepтак как старые журналы будут архивироваться с огнестрельным оружием.) Кстати, вы должны иметь права root даже для поиска dpkgжурналов.

  3. Если вы запускаете aptitude show package установленный пакет, установите флажок «Автоматически установлен». Если он говорит да, он был введен как зависимость какого-то другого пакета. (Для записи есть вещи, которые вы можете сделать, чтобы вручную изменить этот параметр. То есть вы можете пометить пакет, который будет выглядеть установленным вручную, даже если он фактически был установлен как зависимость. Но по большей части результаты здесь должны быть действительным.) Вы также можете фильтровать поиски Synaptic для поиска вещей, установленных как зависимости.

  4. Грубый способ проверить это:

    aptitude -s remove package 

    -sФлаг имитирует команду. Вы можете запустить такую ​​команду как обычный пользователь, и нет никакой опасности нанести вред вашей системе. Это позволяет вам легко увидеть, что будет делать предложенное действие. Нужно иметь в виду, что такая проверка покажет вам грубую поломку, но не приведет к более широким ошибкам. Я имею в виду, что вы можете удалить пакет Foo, не нарушая вашу систему, но это может серьезно ограничить полезность пакета Bar. В общем, пакеты объединяются с помощью рекомендаций, чтобы предотвратить это, но это стоит иметь в виду. Вы также можете выполнять поиск зависимостей и обратных зависимостей, используя apt-cache, но я считаю, что симуляция - это самый яркий способ увидеть, что произойдет.

Еще один общий совет по поиску для Aptitude. В командной строке вы можете использовать эти поиски, чтобы быстро увидеть, что вы установили по выбору, а не то, что было установлено автоматически, как зависимость чего-то другого:

aptitude search '~i !~M' # Find things not installed as something else's dependency aptitude search '~i ~M' # Find things installed as something else's dependency 
Отличный ответ! Спасибо ... хотя похоже, что можно получить всю необходимую информацию, я бы предпочел иметь графический интерфейс, такой как Synaptic, но созданный для обзора, а не для установки / удаления / обновления. Суть вопроса заключается в том, чтобы ответить на вопрос: «Действительно ли мне нужен этот пакет?», Поскольку я собираюсь немного очистить ОС на этом компьютере. mizipzor 15 лет назад 0
1
BinaryMisfit

В Руководстве пользователя Debian есть раздел, посвященный APT, в котором описаны команды для поиска / запроса и опроса пакетов, установленных в данный момент и репозитория.

Например, команда ниже покажет подробную информацию о конкретном установленном приложении.

пакет apt-cache showpkg 

Похожие вопросы