如何列出用户在全新安装后创建的所有文件?

如何列出用户在全新安装后创建的所有文件?

我有一台闲置的机器,我希望在该机器上全新安装 Linux。机器上可能有重要文件。

如何列出用户在全新安装后创建的所有文件?

我原本想简单地查找所有文件,/然后使用 for 循环进行迭代,最后rpm -q --whatprovides列出用户创建的所有文件(即未在任何 rpm 的清单中列出的文件)。我认为这可行……但速度可能非常慢,需要 8 个小时以上。我得试试。

我列出了 rpm,但我认为这也适用于任何 Linux 发行版...但短期内我首先需要一个 rpm 解决方案。

答案1

rpm -qla将快速列出来自 rpm 的所有文件。您可以对两个列表进行排序并将它们与 进行比较comm。但是,用户编辑过的 rpm 中的配置文件(例如/etc/exports.您可以使用rpm -qVa它来验证安装的文件是否已更改,但它会忽略注定要更改的文件,例如/etc/shadow.通常最好保留一份完整的副本,/etc以防万一。您仍然需要担心特定的软件包,例如 mysql 和文件/var......

答案2

两种方式,看你的需要:

  • 你可以使用时间(change-time) 文件,使用该find命令查找最近更改的文件,并从中查找相应的包。这可以找到不属于包的文件,例如,如果您在/var.

  • 您可以使用rpm -qai来获取所有软件包的安装日期,并获取最近安装的软件包的报告,并从该列表中使用rpm -ql列出已安装的每个软件包的文件。

    例如,CentOS:按安装/更新日期列出已安装的 RPM?指出该--last选项按日期对列表进行排序rpm -qa,您只需根据初始安装的时间过滤列表即可限制软件包。

相关内容