linux - 查找与软件相关的文件

标签 linux file package

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

好的。我会说清楚一点。例如考虑 firefox 应用程序。安装时,许多文件从 .deb 文件写入/etc、/usr、/opt 等文件夹。在 Windows 中,所有文件都安装在程序文件下的一个文件夹中,而在 Linux 中则不是。那么有没有办法找出属于软件的文件呢?

谢谢。

最佳答案

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

如果您的意思是,您的应用程序安装时提供了哪些文件?那么答案是,使用合适的包管理,以 rpm/deb/... 任何包的形式提供您的软件,其余的将由卸载完成。

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

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

或者您可以使用以上所有内容。

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

关于linux - 查找与软件相关的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2273139/

相关文章:

linux - VS 代码无法在 Linux 上加载我的统一项目

c++ - 在订阅时发送环形缓冲区的全部内容,然后发送新数据

file - 读写文件时如何在flutter中修复 "FileSystemException: Cannot open file"?

python - 将某些功能拆分为函数、模块和包的推荐方法?

linux - Debian wheezy 上的括号 Sprint 40

ios - 将存储的struct数据修改为其他结构

linux - 如何找出目录或文件所在的挂载/分区? (Linux 服务器)

r - 从自定义目录加载R软件包

database - 实现 laravel 数据库系统以管理帖子读取/共享/编辑权限的最佳方法

linux - Perl 编译错误 - make : [pod/perltoc. pod] 段错误