AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 77277
Accepted
Nick Bolton
Nick Bolton
Asked: 2009-10-23 09:45:26 +0800 CST2009-10-23 09:45:26 +0800 CST 2009-10-23 09:45:26 +0800 CST

我可以从“rm /*”中恢复吗?

  • 772

我正在运行 Debian……而且,我不小心以 root 身份运行了“rm /*”(万岁!)——幸运的是我没有使用 -r,所以目录仍然完好无损。但是,在尝试启动时,我得到...

run-init: /sbin/init: No such file or directory
Kernel panic - not syncing: Attempted to kill init!

...但是,在检查另一台机器的驱动器后,我可以确认它/sbin/init 存在。唯一缺少的是根目录中的文件,我已经替换了符号链接(initrd.img 和 vmzlinuz)......

也许还有一些我需要替换的链接?

debian
  • 4 4 个回答
  • 5007 Views

4 个回答

  • Voted
  1. David Pashley
    2009-10-23T10:01:40+08:002009-10-23T10:01:40+08:00

    你真的跑了吗

    # rm /
    

    或者

    # rm /*
    

    因为如果你运行前者,你不应该删除任何文件,因为 rm 不会删除目录,除非你添加-r.

    我建议运行:

    # update-initramfs -c -k all
    # update-grub
    

    但我认为这不会解决您的问题。您可能还想检查您的 /boot/grub/menu.lst 以确保它引用了正确的内核和 initramfs 映像。

    • 5
  2. Michael Dillon
    2009-10-23T10:57:15+08:002009-10-23T10:57:15+08:00

    我曾经想在一个正在运行的系统(SCO Xenix 或 SCO UNIX)上输入,rm folder/*但不小心输入了。rm folder /*由于 UNIX 实际上不会删除打开的文件,直到它们关闭,系统才能继续正常运行。

    我知道如果我把所有丢失的文件放回去,重启就会正常成功,不会发生任何不好的事情。幸运的是,我安装了另一台安装了相同操作系统的服务器,然后我转到它,将文件系统根目录中的所有文件复制到软盘上,然后将它们放回被阉割的系统上。后来,那天晚上所有人都注销后,我重新启动了,从来没有问题。

    所以你应该能够做类似的事情来解决这个问题。如果你没有匹配的运行系统,但你有一个带有 Virtualbox 或 XEN 的工作站,那么你可以安装一个虚拟机来获得匹配的系统。

    当然,我不建议在这个我们有 SCP 和 FTP 来移动文件的时代使用软盘。

    • 2
  3. Best Answer
    Nick Bolton
    2009-10-23T13:16:16+08:002009-10-23T13:16:16+08:00

    原来我错过了lib64 ......

    ln -s /lib lib64
    

    ...服务器现在启动!:)

    • 2
  4. alexjs
    2013-03-05T08:05:52+08:002013-03-05T08:05:52+08:00

    冒着坏死的风险,我在尝试解决这个问题时得出了这个答案。值得注意的是,如果您在系统仍在运行时尝试从中恢复,您可能无法执行“ln”,因为您将丢失一个库 - 您需要执行以下操作:

    /lib/ld-2.11.1.so /bin/ln -s /lib/ /lib64/
    
    • 2

相关问题

  • 关闭 FTP

  • 如何在同一台电脑上从 putty 连接 debian vmware

  • debian- 文件到包的映射

  • Debian Ubuntu 网络管理器错误 [关闭]

  • 为本地网络中的名称解析添加自定义 dns 条目

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve