Jak uzyskać listę zainstalowanych plików z pakietu?

401

Chcę wiedzieć, gdzie mogę znaleźć zainstalowaną aplikację po zainstalowaniu jej w systemie Ubuntu przy użyciu menedżera pakietów.

Zainstalowałem RabbitMQ i uruchomiłem, locate rabbitmqco dało mi następujący wynik:

/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
Anupam Gupta
źródło
Jaką aplikację? Niektóre są dostępne za pośrednictwem wiersza poleceń, inne mają ładną ikonę w menu aplikacji. Bądź bardziej dokładny.
Ragnar123
Czy chcesz wiedzieć, gdzie znajdują się pliki wykonywalne i pliki konfiguracyjne, czy chcesz je wykonać i nie wiesz jak?
dobrze!!! tak naprawdę chcę wiedzieć, że jak w systemie Windows, jeśli instaluję aplikację, widzę to w plikach programu podobnie w Ubuntu, gdzie mogę znaleźć zainstalowaną aplikację ... Właśnie zainstalowałem RabbitMq i chcę wiedzieć, gdzie się znajduje, muszę skonfigurować jego działanie plik .sh
@ das_weezul: - tak Chcę wiedzieć o wszystkich rzeczach, które są wykonywane na moim urządzeniu, kiedy kliknę zainstalować z menedżera pakietów synaptic ... jestem nowicjuszem na Ubuntu ... więc wszelkie linki są mile widziane
1
Jedna z odpowiedzi sugeruje, że dpkg-query -c <package_name.deb>nie można tego zrobić z plikiem deb. Podejrzewam, że plakat miał być używany dpkg-debz tym samym, params dpkg-deb -c <filename.deb>który zawiera listę plików zgodnie z oczekiwaniami.
gazhay

Odpowiedzi:

600

Aby zobaczyć wszystkie pliki zainstalowane w systemie, wykonaj następujące czynności:

dpkg-query -L <package_name>

Aby zobaczyć pliki, zostanie zainstalowany plik .deb

dpkg-deb -c <package_name.deb>

Aby zobaczyć, że pliki zawarte w pakiecie NIE są zainstalowane, zrób to raz (jeśli nie zainstalowałeś jeszcze apt-file :

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

następnie

apt-file list <package_name>

Zobacz to pytanie, aby uzyskać więcej

Społeczność
źródło
2
Jak powiedział wyżej gazhay, dpkg-query -c foo.debzawodzi. Ale dpkg-deb -c foo.debdziała.
Camille Goudeseune,
4
Aktualizacja apt-fileto ból.
sjsam
1
Pamiętaj, że dpkg -Lnie uwzględnia plików, które mogły zostać wykluczone --path-exclude=. Spisuje je, nawet jeśli nie zostały zainstalowane.
Steve
24

@drysdam dpkg -L <package_name>może być najlepszym rozwiązaniem dla twojego bezpośredniego problemu, ale możesz przeczytać Standard Hierarchii Systemów Plików , który opisuje, gdzie w systemie plików znajdują się różne typy plików.

To nie jest ostateczne; jest to tylko opisowa relacja o tym, jak wyglądają rzeczy „głównie”.

Bardziej specyficzny dla Ubuntu jest Przewodnik po Ubuntu Server , który opisuje wszystko wystarczająco szczegółowo. (Tyle innych przewodników połyskuje zbyt wieloma szczegółami, ale powinno być lepiej.)

Sarnold
źródło
13

jeśli chcesz tylko jednego zainstalowanego pakietu, możesz znaleźć nazwę pakietu

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

następnie użyj dpkg --listfiles

$ dpkg --listfiles librabbitmq-dev
/usr/lib/x86-64/librabbit... 
. . . 
Don Bright
źródło
może zależeć od wersji, ale musiałem użyćdpkg -L <package>
JimB
dpkg -Ldziała tylko na zainstalowanych pakietach.
kenorb
11

Odpowiedź udzielona przez @Gilles jest bardzo przydatna (w rzeczywistości odpowiedź poprawiła się z czasem ).

Ponadto mam wskazówkę dla tych, którzy nie chcą instalować żadnego pakietu pomocniczego (takiego jak apt-file):

  • Idź do http://packages.ubuntu.com/ ;
  • Przejdź do sesji katalogów pakietów wyszukiwania ;
  • Wstaw nazwę pakietu w polu Słowo kluczowe i wybierz opcję Pokaż tylko dokładne dopasowania ;
  • Wybierz swoją dystrybucję i kliknij przycisk Wyszukaj .
  • Wybierz żądany pakiet na następnym ekranie;
  • Na końcu strony kliknij link do listy plików obok nazwy architektury;
  • Następna strona pokaże listę plików twojego pakietu.

Jako przykład: http://packages.ubuntu.com/trusty/amd64/multipath-tools/filelist

Rarylson Freitas
źródło
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

Oto jeden ze sposobów, aby to zrobić w przypadku pakietów, które nie zostały jeszcze zainstalowane. Po prostu zmień „autoconf” poniżej dla pakietu, dla którego próbujesz uzyskać listę plików:

mkdir tmp
cd tmp
apt-get download autoconf
ar x *.deb
tar tf data.*
cd ..
rm -r tmp
Jake
źródło
0

Użyj synaptic-package-manager:

wprowadź opis zdjęcia tutaj

Zakładając, że chcielibyśmy zlokalizować pliki pakietu autotools-dev, w polu „Szybki filtr” wpisz autotools-dev, aby go zlokalizować. Pakiet autotools-dev pojawia się automatycznie. Wybierz go, klikając go, a następnie naciśnij „Właściwości”. W wyświetlonym oknie dialogowym wybierz kartę „Zainstalowane pliki”.

Luigi Capo Di Istria
źródło