Як отримати список встановлених файлів із пакета?


401

Я хочу знати, де я можу знайти свою встановлену програму, коли я встановив її на Ubuntu за допомогою менеджера пакетів.

Я встановив RabbitMQ і побіг, locate rabbitmqщо дало мені наступний результат:

/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

Яка програма? Деякі з них доступні через командний рядок, інші отримують гарну піктограму в меню програми. Будьте більш конкретні.
Ragnar123

Ви хочете знати, де знаходяться виконувані файли та конфігураційні файли, чи ви хочете його виконати і не знаєте, як?

гаразд!!! я насправді хочу знати, що як у Windows, якщо я встановлю програму, я можу бачити це в програмних файлах аналогічно в ubuntu, де знайти встановлений додаток ... Я щойно встановив RabbitMq і хочу знати, де він знаходиться, мені потрібно налаштувати його запуск .sh file

@ das_weezul: - так, я хочу знати все, що робиться в моєму вікні, коли я натискаю "Установити" від менеджера синаптичних пакетів ... я новачок в ubuntu ... тому будь-які посилання вітаються

1
Один з відповідей пропонує наступне. dpkg-query -c <package_name.deb>Ви не можете цього зробити у файлі дебюту. Я підозрюю, що плакат мав використовувати dpkg-debз тим самим, params dpkg-deb -c <filename.deb>який перераховує файли, як очікувалося.
Гажай

Відповіді:


600

Щоб побачити всі файли, встановлені пакетом у вашій системі, зробіть це:

dpkg-query -L <package_name>

Для перегляду файлів буде встановлено .deb-файл

dpkg-deb -c <package_name.deb>

Щоб побачити файли, що містяться в пакеті НЕ встановлено, зробіть це один раз (якщо ви ще не встановили apt-файл :

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

тоді

apt-file list <package_name>

Дивіться це питання для більш


2
Як коментував вище, гажай dpkg-query -c foo.deb. Але dpkg-deb -c foo.debпрацює.
Camille Goudeseune

4
Оновлення apt-file- це біль.
sjsam

1
Зауважте, що dpkg -Lне враховуються файли, які, можливо, були виключені --path-exclude=. Він перелічить їх, навіть якщо вони не були встановлені.
Стів

24

@drysdam dpkg -L <package_name>може бути найкращим для вашої негайної проблеми, але ви можете прочитати стандарт ієрархії файлової системи , який описує, де у файловій системі живуть різні типи файлів.

Це НЕ остаточне; це лише описовий виклад того, як все відбувається в основному.

Більш специфічним для Ubuntu є посібник з сервера Ubuntu , який опише все досить детально. (Так багато інших довідників змальовують занадто багато деталей, але це має бути краще.)


13

якщо ви хочете просто встановити один встановлений пакет, ви можете знайти ім'я пакета

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

потім використовуйте dpkg --listfiles

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

може залежати від версії, але мені довелося скористатисяdpkg -L <package>
JimB

dpkg -Lпрацює тільки на встановлених пакетах.
kenorb

11

Відповідь, надана @Gilles, дуже корисна (насправді, відповідь з часом покращувалася ).

Крім того, у мене є порада для тих, хто не хоче встановлювати жодний допоміжний пакет (як-от apt-file):

  • Перейдіть на сторінку http://packages.ubuntu.com/ ;
  • Перейдіть на сеанс пошукових каталогів пакунків ;
  • Введіть назву пакета у поле Ключове слово та виберіть Показувати лише точні збіги ;
  • Виберіть розподіл та натисніть кнопку Пошук .
  • Виберіть бажаний пакет на наступному екрані;
  • У кінці сторінки клацніть посилання на список файлів поруч із назвою архітектури;
  • На наступній сторінці буде показано список файлів вашого пакету.

Як приклад: 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' :-)
Ніколя Мелай

0

Ось один із способів зробити це для пакунків, які ви ще не встановили. Просто змініть "autoconf" нижче для пакету, який ви намагаєтеся отримати список файлів для:

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

0

Використовуйте synaptic-package-manager:

введіть тут опис зображення

Припускаючи, що ми хотіли б знайти файли пакета autotools-dev, у розділі "Швидкий фільтр" введіть autotools-dev, щоб знайти його. Пакет autotools-dev з'являється автоматично. Виберіть його, натиснувши на нього, а потім натисніть "Властивості". У діалоговому вікні, що з'являється, виберіть вкладку "Встановлені файли".

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.