Как получить список установленных файлов из пакета?


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 файл

@ das_weezul: - да, я хочу знать все, что делается с моей коробкой, когда я нажимаю установить из диспетчера пакетов synaptic ... я новичок в Ubuntu ... поэтому любые ссылки приветствуются

1
Один из ответов предполагает следующее: dpkg-query -c <package_name.deb>Вы не можете сделать это с файлом 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работает.
Камиль Гудесюн

4
Обновление apt-file- это боль.
sjsam

1
Обратите внимание, что dpkg -Lне учитываются файлы, которые могли быть исключены с --path-exclude=. Он перечислит их, даже если они не были установлены.
Стив

24

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

Это не является окончательным; это просто описательный отчет о том, как обстоят дела с «главным образом».

Более конкретным для Ubuntu является Руководство по Ubuntu Server , в котором все будет описано достаточно подробно. (Многие другие руководства затушевывают слишком много деталей, но это должно быть лучше.)


13

если вам нужен только один установленный пакет, вы можете найти имя пакета

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

затем используйте dpkg --listfiles

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

может зависеть от версии, но я должен был использоватьdpkg -L <package>
JimB

dpkg -Lработает только на установленных пакетах.
Кенорб

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.