首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >查找与软件相关的文件

查找与软件相关的文件
EN

Stack Overflow用户
提问于 2010-02-16 21:24:05
回答 4查看 265关注 0票数 1

我有一个疑问。我正在做一个与Linux系统还原概念相关的项目。在那里,我计划在失败的情况下执行应用程序智能回滚。有没有办法找出系统中的应用程序使用的所有文件是什么?

好的。我会说得更清楚一点。例如,考虑firefox应用程序。当它被安装时,许多文件被从.deb文件写入到/etc,/usr,/opt等文件夹中。在windows中,所有文件都安装在程序文件下的一个文件夹中,而在linux中没有。那么有没有办法找出属于某个软件的文件呢?

谢谢。

EN

回答 4

Stack Overflow用户

发布于 2010-02-16 21:30:51

好吧,这可以涵盖几件事。

如果您的意思是,您的应用程序的安装提供了哪些文件?那么答案是,使用适当的包管理,以rpm/deb/...的形式提供您的软件。不管是什么包,和unstallation都会处理剩下的事情。

如果您的意思是,我们的应用程序引用了哪些库?然后您可以使用ldd,这将告诉您在执行此应用程序时使用了哪些动态库。

如果您的意思是,我的应用程序正在使用哪些文件?然后查看lsof (lsof =列出打开的文件)(或者ls /proc//fd/)的输出,这将显示应用程序打开的所有文件描述符(文件、套接字、管道、tty等)

或者,您可以使用上述所有功能。

您无法跟踪的一件事(除非您自己记录)是您的应用程序在其生命周期内创建了哪些文件。

票数 5
EN

Stack Overflow用户

发布于 2010-02-16 21:31:35

要确定随应用程序一起安装的所有文件,取决于包管理器。我接触过的所有应用程序(apt、pacman)都具有这种功能。

要确定应用程序当前打开的所有文件,请使用lsof。

票数 1
EN

Stack Overflow用户

发布于 2010-02-16 21:32:55

嗯,那要看情况...

大多数Linux系统都有某种类型的包管理软件,比如debian和ubuntu中的aptitude。在那里,您可以了解属于某个数据包的信息。你也许可以利用这些信息。但这并不包括在应用程序运行时创建的文件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2273139

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档