我的一个同事通过运行rm -rf /usr/* ,意外地删除了/ usr / *数据。 这是一个大问题。 我们在这台机器上有很多好的数据。 大部分的命令都不起作用。 无论如何,我可以恢复机器吗? 我不是真正的数据恢复专家。
请帮我指出一个解决scheme/程序。 关于那台机器的一些信息如下。 请让我知道是否需要更多信息。
-bash-3.00# uname -a Linux penguin 2.6.9-5.EL #1 Wed Jan 5 19:22:18 EST 2005 i686 i686 i386 GNU/Linux -bash-3.00# fdisk -l Disk /dev/hda: 80.0 GB, 80026361856 bytes 255 heads, 63 sectors/track, 9729 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Device Boot Start End Blocks Id System /dev/hda1 * 1 13 104391 83 Linux /dev/hda2 14 9729 78043770 8e Linux LVM -bash-3.00#
我的build议是:
首先,启动一个Live CD或恢复磁盘并备份您的数据。 你可能也想包含/ etc的系统configuration。
你可以尝试重新安装你所拥有的东西,留下你想保持不动的分区。 只要你没有把你的好的数据保存在任何系统分区(而且希望不在/ usr下),你应该能够在你的安装过程中保留这些数据。
如果一切都失败,请从头开始安装并从备份中恢复。
考虑改变你的同事的访问权限。
我假设你正在使用Redhat,因为这就是我正在使用的:
第1步 – 因为在/ usr(man hier)中不应该有任何实际的数据存储,所以你应该能够重新安装所有的系统二进制文件:
cd /root rpm -Va > filename rpm -qf `cat filename | awk '{print $3}'` | sort | uniq > filename2 yum reinstall `cat filename2`
如果你在/ usr中有一些没有被发行版安装的数据,那么忘记我刚才说的使用磁盘的一切将减less你能够恢复被删除数据的机会。
数据恢复的第一条规则: 停止使用磁盘
正如Gravitas所说,反删除是可能的,但是使用磁盘越多,释放扇区被新数据覆盖的机会就越大。 即使只是在闲置的启动系统上logging文件也足以减less你的恢复机会。 上面的build议是好的,但要确保你把它们作为一个从属的磁盘来做。 使用Live CD或通过在另一个系统上连接和安装磁盘。
至于程序。 如果你觉得这是一次性的,那就把它当成是一个教训。 如果您担心可能会重启,请更改root密码并实施严格控制的sudo( http://aplawrence.com/Basics/sudo.html )
之后,我不会相信系统,直到从头开始重新安装。 你可能会回到一个可行的状态,但它更安全。
如果你丢失了一两个文件,删除的工具可以工作,但是如果删除了这么大的一部分数据,我不认为追逐这将会是一个有效的时间使用。
复制来自另一个系统的文件的build议可能让你备份和去,但可能会让你的系统处于“不纯”状态,而不是所有的东西都回到它所属的地方。
我的build议是干净安装到另一个磁盘(或另一台计算机),然后手动挂载旧的驱动器(或用一张live CD启动旧电脑)并复制您的重要数据。
然后,把这当作一个警告,并且
尝试在其他地方安装与发行版相同的发行版(RHEL4),并在/ usr下手动复制重要的二进制文件和库。 尝试通过rpm -qa(rpm位于/ bin下,并将列表和可变的东西保存在/ var下,以便在一定程度上可能 )得到已安装软件包的列表。 从头开始重新安装是最好的select,但如果是重要的系统,这将会引发火灾。 那么周末就要到了,所以可能会很忙:)
关于预防:如果您创build名为“-i”(不带引号)的文件,将会阻止某人在该目录中rm -rf *,因为它会询问每个文件。 在testing目录中尝试。 你可以使用“touch -i”创build文件(双重hypen表示“不要将任何东西解释为选项”)。
您可以从其他相同的硬件和configuration服务器或机器复制整个/ usr目录。 它会工作。 但是只要确保你的符号链接和我们一样
我的build议是,在尝试重新安装,取消删除或恢复之前,您应该复制此光盘/光盘。 如果你有很好的备份,从备份中启动一张救援CD和恢复/ usr可能是相当安全的,但是如果你问这个问题,我假设你没有好的备份。 🙂
如果您希望在光盘上保留数据,请始终尝试在光盘副本上进行恢复,而不要使用原始光盘。