在“rm -R /*”之后做什么

sto*_*rca 2 bash ubuntu rm

我在 root 下在我的网站上工作,我犯了一个 linux 用户可以做的最糟糕的事情:rm -R /*而不是rm -R ./*. 当我看到它花费了太长时间时,我已经停止了这个过程......我设法用 USB 密钥重新安装了 lubuntu,这是一个好主意还是有其他方法可以扭转这个大错误?

感谢任何答案

Bir*_*abs 5

简短的回答:没有。

长答案:取决于文件系统以及如何rm实现。rm 可能只是取消链接文件;inode(标记为“已删除”)和数据可能仍会保留。即使 inode 被硬删除,数据也可能保留。但无论是哪种情况:都存在风险,即您从那时起的操作已经将数据写入旧数据或软删除 inode 的位置。即使是临时文件,或文件描述符(例如套接字或进程)或页面文件[好吧,除非那个东西有自己的分区],这也可能发生。

我不建议尝试重新链接软删除的 inode,或从您的数据推断如何重建硬删除的 inode。当然,对于不可替代的记忆,这可能是值得的(将驱动器交给数据取证专家),但是磁盘上的某处几乎可以保证损坏。我当然不会尝试在像这样恢复的磁盘上运行生产系统。

我推荐以下之一:

  • 从定期安排的备份中恢复
  • 擦除所有内容并重新开始(您将所有网站文件存储在源代码控制下并远程存储,对吗?)
  • 重新部署你的 Docker 镜像(这一个不可变的部署,对吧?)