Come posso ottenere un elenco di file installati da un pacchetto?


401

Voglio sapere dove posso trovare la mia applicazione installata quando l'ho installata su Ubuntu usando Gestione pacchetti.

Ho installato RabbitMQ e ho funzionato, il locate rabbitmqche mi ha dato il seguente risultato:

/home/anupamg/.m2/repository/com/rabbitmq
/home/anupamg/.m2/repository/com/rabbitmq/amqp-client
/home/anupamg/.m2/repository/com/rabbitmq/amqp-client/1.7.2
/home/anupamg/.m2/repository/com/rabbitmq/amqp-client/1.7.2/_maven.repositories
/home/anupamg/.m2/repository/com/rabbitmq/amqp-client/1.7.2/amqp-client-1.7.2.jar
/home/anupamg/.m2/repository/com/rabbitmq/amqp-client/1.7.2/amqp-client-1.7.2.jar.lastUpdated
/home/anupamg/.m2/repository/com/rabbitmq/amqp-client/1.7.2/amqp-client-1.7.2.jar.sha1
/home/anupamg/.m2/repository/com/rabbitmq/amqp-client/1.7.2/amqp-client-1.7.2.pom
/home/anupamg/.m2/repository/com/rabbitmq/amqp-client/1.7.2/amqp-client-1.7.2.pom.lastUpdated
/home/anupamg/.m2/repository/com/rabbitmq/amqp-client/1.7.2/amqp-client-1.7.2.pom.sha1
/home/anupamg/Downloads/rabbitmq-server-generic-unix-2.4.0.tar.gz

Quale applicazione? Alcuni sono accessibili tramite la riga di comando, altri ottengono una bella icona nel menu dell'applicazione. Sii più preciso.
Ragnar123,

Vuoi sapere dove risiedono gli eseguibili e i file di configurazione o vuoi eseguirlo e non sai come?

ok!!! Voglio davvero sapere che, come in Windows, se installo l'applicazione, posso vederlo nei file di programma in modo simile in Ubuntu, dove localizzare l'applicazione installata ... Ho appena installato RabbitMq e voglio sapere dove risiede, devo configurarne l'esecuzione File .sh

@ das_weezul: - Sì, voglio sapere tutte le cose che vengono fatte nella mia scatola quando faccio clic su Installa dal gestore di pacchetti sinaptici ... Sono un principiante su Ubuntu ... quindi tutti i collegamenti sono i benvenuti

1
Una delle risposte suggerisce quanto segue dpkg-query -c <package_name.deb>Non è possibile farlo in un file deb. Ho il sospetto che il poster intendesse utilizzare dpkg-debcon lo stesso params dpkg-deb -c <filename.deb>che elenca i file come previsto.
gazhay,

Risposte:


600

Per vedere tutti i file che il pacchetto ha installato sul tuo sistema, procedi come segue:

dpkg-query -L <package_name>

Per vedere i file verrà installato un file .deb

dpkg-deb -c <package_name.deb>

Per vedere i file contenuti in un pacchetto NON installato, fallo una volta (se non hai già installato apt-file :

sudo apt-get install apt-file
sudo apt-file update

poi

apt-file list <package_name>

Vedi questa domanda per di più


2
Come ha commentato Gazhay sopra, dpkg-query -c foo.debfallisce. Ma dpkg-deb -c foo.debfunziona.
Camille Goudeseune,

4
L'aggiornamento apt-fileè dolore.
sjsam,

1
Si noti che dpkg -Lnon tiene conto dei file che potrebbero essere stati esclusi con --path-exclude=. Li elencherà anche se non sono stati installati.
Steve,

24

@drysdam dpkg -L <package_name>potrebbe essere il migliore per il tuo problema immediato, ma potresti leggere il Filesystem Hierarchy Standard , che descrive dove vivono diversi tipi di file nel filesystem.

E ' non è definitiva; è solo un resoconto descrittivo del modo in cui le cose "principalmente" sono.

Più specifica di Ubuntu è la Guida del server Ubuntu , che descriverà tutto in modo sufficientemente dettagliato. (Quindi molte altre guide ignorano troppi dettagli, ma questo dovrebbe essere migliore.)


13

se si desidera solo un singolo pacchetto installato, è possibile trovare il nome del pacchetto

$ apt-cache search rabbitmq
...
librabbitmq-dev
...

quindi usa dpkg --listfiles

$ dpkg --listfiles librabbitmq-dev
/usr/lib/x86-64/librabbit... 
. . . 

potrebbe dipendere dalla versione ma ho dovuto usaredpkg -L <package>
JimB

dpkg -Lfunziona solo su pacchetti installati.
Kenorb,

11

La risposta data da @Gilles è molto utile (in realtà, la risposta è stata migliorata nel tempo ).

Inoltre, ho un suggerimento per quelli che non vogliono installare alcun pacchetto ausiliario (come il apt-file):

  • Vai su http://packages.ubuntu.com/ ;
  • Vai alla sessione Cerca nelle directory dei pacchetti ;
  • Inserisci il nome del tuo pacchetto nel campo Parola chiave e seleziona Mostra solo corrispondenze esatte ;
  • Seleziona la tua distribuzione e fai clic sul pulsante Cerca .
  • Seleziona il pacchetto desiderabile nella schermata successiva;
  • Alla fine della pagina, fare clic sul collegamento dell'elenco dei file accanto al nome dell'architettura;
  • La pagina successiva mostrerà l'elenco dei file del pacchetto.

Ad esempio: http://packages.ubuntu.com/trusty/amd64/multipath-tools/filelist


1
curl -s https://packages.ubuntu.com/$(lsb_release -cs)/$(dpkg --print-architecture)/<<PACKAGE NAME>>/filelist | sed '1,/pfilelist/d;/<\/div>/,$d' :-)
Nicolas Melay,

0

Ecco un modo per farlo per i pacchetti che non hai ancora installato. Basta cambiare "autoconf" di seguito per il pacchetto che si sta tentando di ottenere l'elenco dei file per:

mkdir tmp
cd tmp
apt-get download autoconf
ar x *.deb
tar tf data.*
cd ..
rm -r tmp

0

Usa il synaptic-package-manager:

inserisci qui la descrizione dell'immagine

Supponendo che vorremmo localizzare i file del pacchetto autotools-dev, sotto 'Filtro rapido' inserisci autotools-dev per localizzarlo. Il pacchetto autotools-dev appare automaticamente. Selezionare facendo clic su di esso e quindi premere 'Proprietà'. Nella finestra di dialogo visualizzata, seleziona la scheda "File installati".

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.