如何从包中获取已安装文件的列表?

339

当我使用软件包管理器在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
    
Anupam Gupta 29.03.2011 - 11:57

6 答案

490

要查看软件包安装到系统上的所有文件,请执行以下操作:

dpkg-query -L <package_name>

要查看文件,将安装.deb文件

dpkg-deb -c <package_name.deb>

要查看未安装的软件包中包含的文件,请执行一次(如果尚未安装 apt-file 已经:

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

然后

apt-file list <package_name>

有关更多信息,请参阅此问题

    
给出答案 drysdam 29.03.2011 - 12:06
21

@drysdam dpkg -L <package_name> 可能是您最直接问题的最佳选择,但您可能希望阅读文件系统层次结构标准 ,它描述了文件系统中不同类型文件的位置。

权威;它只是对"大多数"事物的描述方式的描述。

更具体的Ubuntu是 Ubuntu服务器指南,它将详细描述所有内容。 (许多其他指南都掩盖了太多细节,但这应该会更好。)

    
给出答案 sarnold 29.03.2011 - 12:12
11

如果您只想要一个已安装的软件包,可以找到软件包名称

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

然后使用dpkg --listfiles

$ dpkg --listfiles librabbitmq-dev
/usr/lib/x86-64/librabbit... 
. . . 
    
给出答案 don bright 18.04.2014 - 02:30
11

@Gilles给出的答案非常有用(实际上,随着时间的推移得到了改进)。

此外,我有一个不想安装任何辅助包的提示(如 apt-file ):

  • 转到链接;
  • 转到搜索包目录会话;
  • 关键字字段中插入您的包名称,然后选择仅显示完全匹配;
  • 选择发布,然后点击搜索按钮。
  • 在下一个屏幕中选择所需的包裹;
  • 在页面末尾,点击您的架构名称旁边的文件列表链接;
  • 下一页将显示您的包裹的文件列表。

例如:链接

    
给出答案 Rarylson Freitas 23.03.2014 - 05:18
-1

这是为尚未安装的软件包执行此操作的一种方法。只需更改下面的"autoconf",找到您要获取的文件列表:

mkdir tmp
cd tmp
apt-get download autoconf
ar x *.deb
tar tf data.*
cd ..
rm -r tmp
    
给出答案 Jake 22.11.2016 - 23:36
-1

使用 synaptic-package-manager

假设我们想要找到autotools-dev软件包的文件,在"快速过滤器"下输入autotools-dev来定位它。 autotools-dev包会自动出现。单击选择它,然后按"属性"。在出现的对话框中,选择"已安装的文件"选项卡。

    
给出答案 Luigi Capo Di Istria 30.03.2017 - 17:36
-6

使用 which 命令。有时,输出会列出一个链接,在这种情况下,您可以在该链接上使用 ls -l 来查找原始可执行文件。

给出答案 BZ1 29.03.2011 - 12:03

阅读有关标签的其他问题