Как узнать о пакете как его основном пакете или зависимости от другого пакета?
Я хотел бы знать об информации о пакете, как я уже упоминал в моем вопросе.
Например, в моей системе установлен пакет. Поэтому я хочу знать, является ли это основной пакет или зависимость от какого-либо другого пакета.
Спасибо.
4 ответа
Используйте 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
Ответ на аналогичный вопрос предполагает использование 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
перечисляет все обратные зависимости независимо от того, установлены ли они.
apt-get удалить
Вероятно, самый простой способ получить информацию, которую вы ищете, это попытаться удалить данный пакет. Если пакет зависит от других установленных пакетов, они будут перечислены для удаления.
Например, если я попробую 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
чтобы узнать, какие файлы из каких пакетов смотрите в этой статье.
Если вы предпочитаете, вы также можете зайти в менеджер пакетов synapic.
Если он не установлен, запустите
sudo apt-get install synaptic
Просто найдите свой пакет, щелкните по нему правой кнопкой мыши и выберите свойства.
Оттуда вы можете найти его зависимости и зависимости, между прочим...