На этот вопрос уже есть ответ здесь:
Я хотел бы знать об информации о пакете, как я уже упоминал в своем вопросе.
Например, в моей системе установлен пакет. Поэтому я хочу знать, является ли это основным пакетом или зависимостью от другого пакета.
Спасибо.
Если хотите, вы также можете войти в менеджер пакетов синапсов.
Если он не установлен, запустите
sudo apt-get install synaptic
Просто найдите свой пакет, щелкните по нему правой кнопкой мыши и выберите свойства.
Оттуда вы можете найти его зависимости и зависимости, между прочим ...
Используйте apt-rdepends
После установки
sudo apt-get install apt-rdepends
вы можете использовать его для отображения всех пакетов, которые зависят от интересующего вас пакета.
Например, если вы хотите знать все пакеты, которые зависят от xorg, и их состояние, просто выполните
apt-rdepends -r xorg -p
, и он вернет следующее
tmashos@tmashos-wks:~$ apt-rdepends -r xorg -p
Reading package lists... Done
Building dependency tree
Reading state information... Done
xorg
Reverse Depends: kubuntu-active (1.7) [NotInstalled]
Reverse Depends: kubuntu-desktop (1.254) [NotInstalled]
Reverse Depends: ltsp-client (5.3.7-0ubuntu2) [NotInstalled]
Reverse Depends: lubuntu-core (0.38) [NotInstalled]
Reverse Depends: mythbuntu-desktop (0.77) [NotInstalled]
Reverse Depends: ubuntu-desktop (1.267) [Installed]
Reverse Depends: ubuntu-sugar-remix (0.5) [NotInstalled]
Reverse Depends: ubuntustudio-desktop (0.100) [NotInstalled]
Reverse Depends: xubuntu-desktop (2.152) [NotInstalled]
kubuntu-active
kubuntu-desktop
Reverse Depends: edubuntu-desktop-kde (12.02.1) [NotInstalled]
Reverse Depends: kubuntu-full (1.254) [NotInstalled]
Reverse Depends: kubuntu-netbook (1.254) [NotInstalled]
edubuntu-desktop-kde
kubuntu-full
kubuntu-netbook
ltsp-client
lubuntu-core
Reverse Depends: lubuntu-desktop (0.38) [NotInstalled]
lubuntu-desktop
mythbuntu-desktop
ubuntu-desktop
Reverse Depends: edubuntu-desktop (12.02.1) [NotInstalled]
edubuntu-desktop
ubuntu-sugar-remix
ubuntustudio-desktop
xubuntu-desktop
tmashos@tmashos-wks:~$
Вы можете видеть, что xorg установлен, потому что у меня установлено ubuntu-desktop
. Также показано, что зависит от ubuntu-desktop
(edubuntu-desktop
). Поскольку у меня не установлено edubuntu-desktop
, вы можете видеть, что ubuntu-desktop
является верхним уровнем.
Мик описал, как можно найти зависимости пакета (те пакеты, от которых он зависит).
Я полагаю, что GrSr пытается выяснить, имеет ли какой-либо данный пакет какие-либо обратные зависимости - то есть, зависят ли какие-либо пакеты от него.
Ответ на аналогичный вопрос предполагает использование apt-cache rdepends
. Например:
mac9416@lee:~$ apt-cache rdepends ffmpeg
ffmpeg
Reverse Depends:
libavcodec-extra-52
youtube-dl
libavcodec52
imagemagick
ffmpeg-dbg
videotrans
tovid
recorditnow
mytharchive
libavcodec-extra-52
kmediafactory
iriverter
idjc
dvdwizard
dvdrip
dvd95
dvd-slideshow
zoomer
zoneminder
xwax
winff
videoporama
ubuntustudio-video
stopmotion
soundkonverter
rtmpdump
python-scitools
pacpl
mythexport
motion
luciole
lives
libsynfig0
libavbin0
kmplayer
kino
kdenlive
jsymphonic
imagination
gvb
get-iplayer
gallery2
clive
bitpim
libavcodec52
imagemagick
ffmpeg-dbg
Еще более драматичным примером будет apt-cache rdepends python
. много пакетов зависит от Python.
К сожалению, apt-cache rdepends
перечисляет все обратных зависимостей независимо от того, установлены ли они.
Вероятно, самый простой способ получить искомую информацию - попытаться удалить рассматриваемый пакет. Если пакет зависит от других установленных пакетов, они будут перечислены для удаления.
Например, если я попробую sudo apt-get remove apt
:
The following packages will be REMOVED:
apport apport-gtk apt-transport-https apt-xapian-index aptdaemon aptitude apturl command-not-found computer-janitor computer-janitor-gtk gdebi gdebi-core gnome-codec-install jockey-common jockey-gtk
language-selector language-selector-common libept1 network-manager network-manager-gnome python-apport python-aptdaemon python-aptdaemon-gtk python-debian software-properties-gtk synaptic tasksel
tasksel-data ubuntu-minimal ubuntu-standard ubuntustudio-desktop update-manager update-manager-core update-notifier update-notifier-common
Очевидно, много пакетов зависит от APT. С другой стороны, если я попробую sudo apt-get remove youtube-dl
:
The following packages will be REMOVED:
youtube-dl
Никакие установленные пакеты не зависят от youtube-dl. Это «основной пакет», а не зависимость.
Я настоятельно рекомендую добавить аргумент -s
или --simulate
к любой команде apt-get remove
, используемой для этой цели, если вы действительно не хотите удалить пакет ! Это гарантирует, что вы случайно не дадите разрешение удалить то, что хотели сохранить. Например:
sudo apt-get remove apt -s
sudo apt-get remove youtube-dl -s
Одним из способов является использование apt-cache
, которое можно использовать для запроса многих пакетов или поиска их. важно отметить, что с apt-cache
он будет возвращать данные по запрашиваемому пакету , установлен ли или нет.
С помощью, например, apt-cache show skype
вы можете просмотреть всю информацию о пакете; для просмотра сводной информации о пакете используйте apt-cache showpkg skype
, который покажет зависимости , а также обратные зависимости , которые представляют собой пакеты, зависящие от Skype. Однако, чтобы просмотреть только те пакеты, от которых зависит Skype, например, используйте apt-cache depends skype
:
apt-cache depends skype
skype
Depends: libasound2
Depends: libc6
Depends: libgcc1
Depends: libqt4-dbus
Depends: libqt4-network
Depends: libqtcore4
Depends: libqtgui4
Depends: libstdc++6
Depends: libx11-6
Depends: libxext6
Depends: libxss1
Depends: libxv1
Есть много других полезных функций из apt-cache
, документированных в man apt-cache
, таких как способность показывать доступные версии и текущий приоритет версий; чтобы увидеть эту информацию, введите apt-cache policy skype
.
Чтобы узнать, как использовать dpkg
, чтобы узнать, какие файлы из каких пакетов, см. в этой статье .