Come posso sapere quali programmi contiene un pacchetto apt-get?

17

Vorrei sapere che cosa alcune specifiche pacchetti installazioni, ad esempio, quando si installa ncurses , ho trovato che la chiave TAB si espande:

sudo apt-get install ncurses-

per mostrare:

ncurses-base      ncurses-doc       ncurses-hexedit
ncurses-bin       ncurses-examples  ncurses-term

Come faccio a sapere quali, diciamo, ncurses-term installazioni? Sono interessato principalmente ai programmi, ma anche le librerie e qualsiasi altro tipo di file potrebbero essere utili.

Il metodo della riga di comando , se possibile, sarebbe preferibile ( qualsiasi altro accettato).

    
posta Sopalajo de Arrierez 16.03.2014 - 22:53

3 risposte

20

Ecco alcune opzioni, che elencano tutti i file installati da un pacchetto:

A. Elenco di tutti i file inclusi in un pacchetto

  1. Per pacchetti installati

    dpkg -L ncurses-term
    
  2. Per tutti i pacchetti, installati o meno

    apt-file -F list ncurses-term
    

    Il -F gira di pattern matching in modo che vengano restituiti solo i pacchetti con il nome esatto . Potrebbe essere necessario installare apt-file con sudo apt-get install apt-file e quindi aggiornare il suo database con sudo apt-file update .

B. Elenco di solo file eseguibili inclusi in un pacchetto

  1. Per pacchetti installati

    Installa dlocate ( sudo apt-get dlocate ) ed esegui:

    dlocate -lsbin ncurses-term 
    

    Come spiegato in man dlocate :

      

    -lsbin Elenca il percorso completo / i nomi dei file eseguibili (se presenti) nel pacchetto

    Se non si desidera installare pacchetti aggiuntivi, è possibile farlo manualmente. Raccogli semplicemente l'elenco di file e trova quelli che hanno il bit eseguibile impostato:

    apt-file -F list ncurses-term | cut -d ' ' -f 2 | 
        while read file; do [[ -x $file && -f $file ]] && echo "$file"; done
    

    Il piccolo scriptlet sopra mostrerà solo il percorso ( cut -d ' ' -f 2 ) e poi lo passerà attraverso un ciclo while che controlla se il file è eseguibile ( -x $file ) e se è un file regolare, nessuna directory o symlink ( -f $file ) e stampa il suo nome solo se supera entrambi i test.

  2. Per tutti i pacchetti, installati o meno

    Non c'è modo di sapere per elencare solo gli eseguibili inclusi in un pacchetto disinstallato. Tuttavia, dal momento che la maggior parte degli eseguibili sono installati su bin directory, puoi ottenerne la maggior parte analizzando l'output:

     apt-file -F list ncurses-term | grep -Ew "bin|sbin"
    

    L'opzione -w corrisponde a parole intere, quindi non devi installare le cose, ad esempio trashbin o altro.

NOTA : nessuno dei comandi sopra riportati produrrà alcun output per ncurses-term , ma questo perché questo pacchetto non installa file eseguibili. I comandi funzionano comunque, provate con un pacchetto diverso.

    
risposta data terdon 16.03.2014 - 23:16
4

Potresti usare apt-file:

sudo apt-file update        
apt-file list package_name
    
risposta data Sylvain Pineau 16.03.2014 - 23:13
3

Esiste la possibilità di utilizzare il browser (quindi non richiede l'accesso a un sistema APT). Ad esempio, per elencare il contenuto del pacchetto del pacchetto "ncurses-term", digita

link

nella barra degli indirizzi del browser (sostituisci "wheezy" se necessario) per Debian o

link

per Ubuntu (sostituisci "saucy" se necessario).

    
risposta data Michael Kremser 17.03.2014 - 09:34

Leggi altre domande sui tag