come sapere di un pacchetto come pacchetto principale o dependecie di un altro pacchetto? [duplicare]

2

Vorrei sapere informazioni sui pacchetti come ho menzionato nella mia domanda.

Ad esempio, C'è un pacchetto installato nel mio sistema. Quindi voglio sapere se è un pacchetto principale o una dipendenza da qualche altro pacchetto.

Grazie.

    
posta Ten-Coin 09.08.2012 - 19:29

4 risposte

2

Mik ha descritto come si possono trovare le dipendenze di un pacchetto (quei pacchetti da cui dipende).

Credo che GrSr stia cercando di scoprire se un determinato pacchetto ha delle dipendenze inverse, cioè se tutti i pacchetti dipendono da esso.

apt-cache rdepends

Risposta a domanda simile suggerisce l'uso di apt-cache rdepends . Ad esempio:

[email protected]:~$ 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

Un esempio ancora più drammatico sarebbe apt-cache rdepends python . Un lotto di pacchetti dipende da Python.

Purtroppo, apt-cache rdepends elenca le tutte dipendenze inverse indipendentemente dal fatto che siano installate.

apt-get remove

Probabilmente il modo più semplice per acquisire le informazioni che stai cercando è provare a rimuovere il pacchetto in questione. Se il pacchetto dipende da altri pacchetti installati, verranno elencati per la rimozione.

Ad esempio, se provo 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

Ovviamente un lotto di pacchetti dipende da APT. Sul  Dall'altra parte, se provo sudo apt-get remove youtube-dl :

The following packages will be REMOVED:
  youtube-dl

Nessun pacchetto installato dipende da youtube-dl. È un "pacchetto principale" piuttosto che una dipendenza.

Una parola di cautela

I altamente ti consigliamo di aggiungere l'argomento -s o --simulate a qualsiasi comando apt-get remove utilizzato per questo scopo, a meno che tu voglia veramente rimuovere un pacchetto ! Ciò garantirà che non accetti involontariamente il permesso di rimuovere qualcosa che volevi conservare. Ad esempio:

sudo apt-get remove apt -s
sudo apt-get remove youtube-dl -s
    
risposta data mac9416 09.08.2012 - 20:23
2

Usa apt-rdepends

Una volta installato

sudo apt-get install apt-rdepends

puoi usarlo per mostrare tutti i pacchetti che dipendono dal pacchetto che ti stai chiedendo.

Ad esempio, se vuoi conoscere tutti i pacchetti che dipendono da xorg e dal loro stato, fai semplicemente

apt-rdepends -r xorg -p

e restituirà il seguente

[email protected]:~$ 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
[email protected]:~$ 

Puoi vedere che xorg è installato perché ho ubuntu-desktop installato. Mostra anche cosa dipende da ubuntu-desktop ( edubuntu-desktop ). Poiché non ho installato edubuntu-desktop , puoi vedere che ubuntu-desktop è il livello più alto.

    
risposta data tgm4883 09.08.2012 - 20:11
1

Un modo è usare apt-cache , che puoi usare per interrogare molti pacchetti o cercarli. È importante notare che con apt-cache restituirà i dati sul pacchetto interrogato se è installato o meno.

Con, ad esempio, apt-cache show skype puoi visualizzare tutte le informazioni sul pacchetto; per visualizzare le informazioni di riepilogo sul pacchetto usa apt-cache showpkg skype , che mostrerà le dipendenze e anche le dipendenze inverse , che sono pacchetti che dipendono da Skype. Tuttavia, per visualizzare solo i pacchetti da cui dipende Skype, ad esempio, usa 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

Ci sono molte altre utili funzioni di apt-cache documentate in man apt-cache come la possibilità di mostrare le versioni disponibili e la priorità attuale delle versioni; per vedere queste informazioni inserisci apt-cache policy skype .

Per sapere come usare dpkg per scoprire quali file provengono da quali pacchetti, vedi questo articolo .

    
risposta data user76204 09.08.2012 - 19:59
0

Se preferisci, puoi anche accedere al gestore di pacchetti synapic.
Se non è installato, esegui

sudo apt-get install synaptic

Cerca il tuo pacchetto, fai clic con il tasto destro del mouse e scegli le proprietà.
Da lì puoi trovare le sue dipendenze e dipendenze, tra le altre cose ...

    
risposta data aChipmunk 09.08.2012 - 20:08

Leggi altre domande sui tag