Come posso controllare l'elenco delle dipendenze per un pacchetto deb

73

Come posso controllare l'elenco delle dipendenze per un pacchetto deb. Sto usando Ubuntu 11.10 e ho eseguito il backup di tutti i pacchetti deb da var/cache/apt/archives . Voglio formattare il mio pc e reinstallare solo le applicazioni selezionate. Inoltre, come posso ottenere l'elenco dei pacchetti e delle dipendenze installati.

    
posta Vikramjeet 19.11.2011 - 08:55

4 risposte

53

Oltre al metodo dpkg , puoi controllare le dipendenze dei pacchetti nel repository:

apt-cache depends package-name

EDIT aggiornato con la raccomandazione di @ Tino. @ Il commento di Tigran non si applica più.

    
risposta data Oxwivi 19.11.2011 - 09:16
83

Questo ti mostrerà tutte le informazioni sul pacchetto:

dpkg -I package.deb
    
risposta data htorque 19.11.2011 - 09:03
2
Anche

apt-cache depends [Package-Name] funzionerà. Sebbene tu possa importare il pacchetto .deb dall'esterno del tuo elenco di fonti, cose come apt-cache showpkg [Package-Name] && apt-cache depends [Package-Name] potrebbe mostrare informazioni obsolete o non sincronizzarsi con il pacchetto installato effettivo dpkg -I [Package-Name] funzionerebbe meglio in quel caso.

    
risposta data Mziyabo Singwango 26.02.2017 - 16:58
0

Ecco una post-elaborazione sciatta e probabilmente non molto comprensiva che puoi eseguire su dpkg -I output per ottenere elementi di dipendenza come elenco:

Condensato per computer

# dpkg -I package.deb | python -c "import sys, re; t=re.split(r'\n(?= ?[\w]+:)|:', sys.stdin.read()); print '\n'.join([i.strip() for i in {key.strip(): value.strip() for key, value in zip(t[::2], t[1::2])}['Depends'].split(',')])"
#

Espanso per gli umani:

dpkg -I package.deb | python -c "
    import sys, re;
    # Split keys and values into pairs (zipped together later)
    t=re.split(
        r'\n(?= ?[\w]+:)|:', 
        sys.stdin.read()
    ); 
    # Newline separate each dependency
    print '\n'.join([
        # Trim each dependency value
        i.strip() for i in {
            # Build assoc array from package metadata
            key.strip(): value.strip() 
            for key, value in zip(t[::2], t[1::2])
        }['Depends'].split(',')
    ])
"
    
risposta data ThorSummoner 11.05.2015 - 20:43

Leggi altre domande sui tag