Например, используя Aptitude:
$ aptitude show gimp linux-headers-3.2.0-2-686-pae
Package: gimp
New: yes
State: installed
Automatically installed: no
<snip>
Package: linux-headers-3.2.0-2-686-pae
New: yes
State: installed
Automatically installed: yes
<snip>
Это показывает два примера пакетов в моей системе. Поле « Автоматически установлено » показывает, установлено ли оно вручную или перетаскивается зависимостью.
Эта информация доступна APT, как вы подозреваете. В зависимости от того, какой инструмент вы хотите использовать, он будет найден в разных местах, но, скорее всего, он будет называться "Автоматически установлен" со значением «Да / Нет».
Информация о конкретной упаковке, которая перетащилась в конкретную упаковку
Вы можете использовать apt-rdepends
(доступно в основных репозиториях), чтобы перечислить прямые или обратные зависимости для пакета. Пример:
$ apt-rdepends -rp --state-follow=Installed \
--state-show=Installed linux-headers-3.2.0-3-686-pae
Reading package lists... Done
Building dependency tree
Reading state information... Done
linux-headers-3.2.0-3-686-pae
Reverse Depends: linux-headers-686-pae (3.2+45) [Installed]
linux-headers-686-pae
(Первые две строки представляют собой одну команду, разделенную для удобства чтения).
Это показывает, что linux-headers-3.2.0-3-686-pae
был перетащен linux-headers-686-pae
, который, в свою очередь, не имеет каких-либо обратных зависимостей в моей системе. Посмотрите на man apt-rdepends
для доступных переключателей.
Обновление: чтобы немного расширить: не очень полезно точно знать , какой пакет A перетаскивается в пакет B, поскольку с тех пор мог быть установлен пакет C, который также зависит от B, и, следовательно, удаление A не должно / не приведет к удалению B. apt-rdepends
будет в этом случае перечислять, что A и C зависят от B, но не указывает, были ли A или C изначально ответственны за установку B.