确定apt-get install <package>的目标位置?


50

对于某些应用程序,使用“哪个”命令可以很容易地找到应用程序的安装位置。但是,某些应用程序(例如Tomcat)在我的定位中有些不足。

我要求一种可应用于任何apt-get安装的特殊方法,以查找二进制文件,库和支持文件的安装位置。

这个问题的原因是我安装了Tomcat7,似乎可以找到它,并且有要执行的自定义列表。


请注意,此后不久,我通过安装apache2,然后访问默认页面@ localhost:8080,找到了tomcat7的安装位置,但该页面上显示的内容不止于此。通过文件夹浏览器中的“搜索:”选项搜索文件系统,发现更多。
Sn3akyP3t3'5年

Answers:


76

您可以运行命令dpkg -L package以列出软件包中的所有文件。例如,dpkg -L ubuntu-minimal将仅列出几个与打包有关的小文件,因为它只是一个空的元打包,依赖于其他打包。

dpkg -L tomcat7

可能就是您想要的。


那正是我想要的!由于我一直忽略这样做,因此我将不得不阅读man dpkg。
Sn3akyP3t3'5年

这是一个陌生的Java库的救命稻草!我什至不知道要查找的文件名locate。现在,我可以更新我的类路径。
2015年

您好朋友,您知道在fedora 29中使用另一种方法吗?
christianbueno.1

16

您可以使用以下dpkg命令列出已安装软件包的内容,该命令是APT工具在内部调用的低级软件包操作命令:

dpkg -L tomcat7

您可能要在输出中搜索;使用grep命令。例如,要查看配置文件(位于下/etc):

dpkg -L tomcat7 | grep /etc

您要修改的文件可能与主程序tomcat7包相关。在包内部及其依赖关系中搜索更为复杂。您要查找的文件可能在名为的软件包中tomcat7-something。显示它们的最简单方法是使用apt-file命令,该命令默认情况下未安装(使用来安装apt-get install apt-file)。

apt-file list tomcat7

apt-file列出Ubuntu中所有软件包中的文件名(根据您启用的软件包源),无论是否安装。您也可以使用它来搜索文件:

$ apt-file search RequestInfoExample.java
tomcat7-examples: /usr/share/tomcat7-examples/examples/WEB-INF/classes/RequestInfoExample.java

安装东西之前,我将不得不尝试apt-file。谢谢!
Sn3akyP3t3'5年

3

我通常要做的是:

  • 启动Synaptic(您需要先安装它)

  • 找到我感兴趣的包裹

  • 右键单击,选择属性

  • 查看已安装文件的列表

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.