Wie erhalte ich eine Liste der installierten Dateien aus einem Paket?


401

Ich möchte wissen, wo ich meine installierte Anwendung finden kann, wenn ich sie mit dem Paket-Manager auf Ubuntu installiert habe.

Ich habe RabbitMQ installiert und lief locate rabbitmqmit folgendem Ergebnis:

/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

Welche Bewerbung? Einige sind über die Befehlszeile zugänglich, andere erhalten ein hübsches Symbol im Anwendungsmenü. Sei genauer.
Ragnar123

Möchten Sie wissen, wo sich die ausführbaren Dateien und Konfigurationsdateien befinden, oder möchten Sie sie ausführen und wissen nicht, wie?

okay!!! Ich möchte eigentlich wissen, dass wie in Windows, wenn ich eine Anwendung installiere, ich es in Programmdateien sehen kann, ähnlich wie in Ubuntu, wo die installierte Anwendung zu finden ist. Ich habe gerade RabbitMq installiert und möchte wissen, wo es sich befindet. Ich muss seinen Lauf konfigurieren .sh Datei

@ das_weezul: - Ja, ich möchte alle Dinge wissen, die mit meiner Box geschehen, wenn ich vom synaptic package manager auf install klicke. Ich bin ein Neuling auf Ubuntu, also sind alle Links willkommen.

1
Eine der Antworten schlägt Folgendes vor: dpkg-query -c <package_name.deb>Sie können dies nicht mit einer Deb-Datei tun. Ich vermute, das Plakat soll dpkg-debmit dem gleichen verwendet werden, params dpkg-deb -c <filename.deb>das die Dateien erwartungsgemäß auflistet.
Gazhay

Antworten:


600

Gehen Sie folgendermaßen vor, um alle Dateien anzuzeigen, die das Paket auf Ihrem System installiert hat:

dpkg-query -L <package_name>

Um die Dateien zu sehen, wird eine .deb-Datei installiert

dpkg-deb -c <package_name.deb>

Gehen Sie folgendermaßen vor, um die Dateien in einem NICHT installierten Paket anzuzeigen (falls Sie apt-file noch nicht installiert haben) :

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

dann

apt-file list <package_name>

Siehe diese Frage für mehr


2
Wie Gazhay oben kommentiert hat, dpkg-query -c foo.debschlägt fehl. Funktioniert aber dpkg-deb -c foo.deb.
Camille Goudeseune

4
Aktualisieren apt-fileist Schmerz.
Samstag,

1
Beachten Sie, dass dpkg -LDateien, die mit ausgeschlossen wurden , nicht berücksichtigt werden --path-exclude=. Es listet sie auf, obwohl sie nicht installiert wurden.
Steve

24

@drysdam ist dpkg -L <package_name>möglicherweise die beste Lösung für Ihr unmittelbares Problem, aber Sie möchten vielleicht den Dateisystem-Hierarchiestandard lesen , in dem beschrieben wird, wo sich verschiedene Dateitypen im Dateisystem befinden.

Es ist nicht endgültig; es ist nur ein beschreibender Bericht darüber, wie die Dinge "meistens" sind.

Ubuntu-spezifischer ist das Ubuntu Server-Handbuch , in dem alles ausreichend detailliert beschrieben wird. (So ​​viele andere Anleitungen beschönigen zu viele Details, aber das sollte besser sein.)


13

Wenn Sie nur ein einzelnes installiertes Paket möchten, können Sie den Paketnamen finden

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

dann benutze dpkg --listfiles

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

dpkg -L <package>
Könnte

dpkg -Lfunktioniert nur bei installierten Paketen.
Kenorb

11

Die Antwort von @Gilles ist sehr nützlich (tatsächlich wurde die Antwort im Laufe der Zeit verbessert ).

Außerdem habe ich einen Tipp für diejenigen, die kein Hilfspaket (wie das apt-file) installieren wollen :

  • Gehen Sie zu http://packages.ubuntu.com/ ;
  • Wechseln Sie zur Sitzung Paketverzeichnisse durchsuchen.
  • Geben Sie Ihren Paketnamen in das Keyword- Feld ein und wählen Sie Nur exakte Übereinstimmungen anzeigen.
  • Wählen Sie Ihre Distribution aus und klicken Sie auf die Schaltfläche Suchen .
  • Wählen Sie im nächsten Bildschirm das gewünschte Paket aus.
  • Am Ende der Seite klicken Sie in der Liste der Dateien verknüpfen neben Ihre Architektur Namen;
  • Auf der nächsten Seite wird die Liste der Dateien Ihres Pakets angezeigt.

Ein Beispiel: 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

Hier ist eine Möglichkeit, dies für Pakete zu tun, die Sie noch nicht installiert haben. Ändern Sie einfach "autoconf" unten für das Paket, für das Sie die Liste der Dateien abrufen möchten:

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

0

Verwenden Sie die synaptic-package-manager:

Bildbeschreibung hier eingeben

Angenommen, wir möchten die Dateien des Pakets autotools-dev lokalisieren, geben Sie unter 'Schnellfilter' autotools-dev ein, um es zu lokalisieren. Das autotools-dev-Paket wird automatisch angezeigt. Wählen Sie es aus, indem Sie darauf klicken und dann auf "Eigenschaften" klicken. Wählen Sie im erscheinenden Dialog die Registerkarte 'Installierte Dateien'.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.