как узнать о пакете как об основном пакете или о зависимостях от другого пакета? [дубликат]

На этот вопрос уже есть ответ здесь:

Я хотел бы знать об информации о пакете, как я уже упоминал в своем вопросе.

Например, в моей системе установлен пакет. Поэтому я хочу знать, является ли это основным пакетом или зависимостью от другого пакета.

Спасибо.

2
задан 9 August 2012 в 21:29

4 ответа

Если хотите, вы также можете войти в менеджер пакетов синапсов.
Если он не установлен, запустите

sudo apt-get install synaptic

Просто найдите свой пакет, щелкните по нему правой кнопкой мыши и выберите свойства.
Оттуда вы можете найти его зависимости и зависимости, между прочим ...

0
ответ дан 9 August 2012 в 21:29

Используйте 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 является верхним уровнем.

0
ответ дан 9 August 2012 в 21:29

Мик описал, как можно найти зависимости пакета (те пакеты, от которых он зависит).

Я полагаю, что 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 remove

Вероятно, самый простой способ получить искомую информацию - попытаться удалить рассматриваемый пакет. Если пакет зависит от других установленных пакетов, они будут перечислены для удаления.

Например, если я попробую 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
0
ответ дан 9 August 2012 в 21:29

Одним из способов является использование 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, чтобы узнать, какие файлы из каких пакетов, см. в этой статье .

0
ответ дан 9 August 2012 в 21:29

Другие вопросы по тегам:

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