在 Linux 中安装应用程序期间跟踪文件的安装位置

在 Linux 中安装应用程序期间跟踪文件的安装位置

我需要从某个供应商(即 nvidia、cisco...)安装一些专有软件包。我有一些二进制安装文件,它在安装过程中将文件复制到我的文件系统(到/usr/share/,,,...)。但我不知道具体是什么以及在哪里。当我想安装这个应用程序时,没有卸载二进制文件,并且删除应用程序文件可能会出现问题。/etc//usr/bin/

Linux 中是否有一些工具可以跟踪文件的复制位置?

我想找到一些不依赖Linux发行版的通用解决方案。我的愿景是类似的track ./install.bin,输出将是被操纵的文件。

在系统上我没有类似的工具定位

答案1

最简单的方法:find.

最简单的方法(最简单的意思,无需安装额外的工具,易于输入)是在安装之前和之后保存所有文件的列表,然后比较列表。

你可以输入

find / -xdev \( -name home -o -name mnt -o -name proc --o -name dev o -name sys \) -prune -o -print | sort > /root/files-before-install

然后安装你的程序并

find / -xdev \( -name home -o -name mnt -o -name proc -o -name dev -o -name sys \) -prune -o -print | sort > /root/files-after-install

(请注意最后的其他文件名)

之后您可以像这样比较文件:

diff /root/files-before-install /root/files-after-install

这将只显示新文件,而不显示更改的文件 - 这会更复杂检测。您的安装程序也有非零的机会创建一个名为“home”、“mnt”、“sys”、“proc”或“dev”的文件或目录,我们会忽略这些文件或目录,但是这种机会我认为相当低。

答案2

检查安装工作原理与您所描述的完全一样:它监视安装程序进程执行的文件系统更改,并提供一种将它们全部回滚的方法。

有多种方法可以将安装记录转换为多个平台(.deb、RPM 等)的常规包,但即使您不希望这样做,或者您的包管理器不受直接支持,该工具也很有用。

相关内容