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 / 问题 / 546253
Accepted
Dexirian
Dexirian
Asked: 2013-10-16 11:52:27 +0800 CST2013-10-16 11:52:27 +0800 CST 2013-10-16 11:52:27 +0800 CST

我不小心压缩了我的整个服务器

  • 772

好吧,如果有人想扮演上帝并创造奇迹,我就失望了。

所以,我的任务是制作一个脚本,找到超过 6 个月的文件,压缩它们然后删除它们。在制作 tihs 脚本的过程中,我运行了这个:

find / -type f -mtime -400 ! -mtime -180 | xargs gzip blablabla

这给了每个文件一个 .gz 扩展名。现在我一注意到就解开了它,但为时已晚。命令完成后,我的 bash 命令都不起作用,因为 $PATH 变量自己清空了。在意识到问题所在之前,我尝试了很多东西。

所以在解压缩所有东西时我仍然无法启动。我已经成功地进行了 grub 救援,之后我按照在线说明进行了以下操作:

root (hd0,0)
setup (hd0)
kernel (hd0,0)/boot/vml[...]
initrd (hd0,0)/boot/initrd.im[...]

之后我的 linux 部分启动但给了我以下错误:

Begin : Running /scripts/init-bottom ... mount : mounting /dev on /root/dev failed : No such file or directory
mount: mounting /sys/ on /root/sys failed: No such file or directory
mount: mounting /proc on /root/proc failed : No such file or directory
Target filesystem doesn't have requrested /sbin/init.
No init found. Try passing init= bootarg.

我尝试修复文件系统,我从 3 个不同的 LiveCD/救援磁盘启动,我从 2 个不同的 dicsc 运行启动修复。我确实强制 fscks ......

我真的没有想法,我需要让这台服务器至少启动,这样我才能恢复我的 SQL 数据库。我迫切需要帮助,如果需要,我什至会付钱。

我整天都在论坛里潜伏了 3 天,以寻找可能的解决方案,但我仍然在同一点上......请帮忙?

linux
  • 3 3 个回答
  • 1119 Views

3 个回答

  • Voted
  1. Bob Barker
    2013-10-16T12:11:02+08:002013-10-16T12:11:02+08:00

    我要尝试的第一件事是运行 LiveCD 环境并尝试解压缩所有内容,希望这会使系统恢复到可启动状态。注意:如果原始 gzip 进程被中断,我会担心潜在的数据损坏。

    否则,我会尝试按照其他人的建议将数据库迁移到新系统,但正如您所遇到的那样,可能存在需要单独解决的劳动密集型依赖和配置问题。

    • 9
  2. Best Answer
    Michael Martinez
    2013-10-16T16:19:12+08:002013-10-16T16:19:12+08:00

    这将取决于文件系统是否已修复到足以让您能够从 LiveCD 挂载这些分区。不要费心尝试启动系统。首先,挂载分区并解压缩所有 .gz 文件。这将为您提供 init 和系统二进制文件的工作副本。然后你可以使用 grub 来修复引导扇区。然后引导到单用户模式并再次 fsck 文件系统。如果可行,您将拥有一个正在运行的系统。您还会有一堆真正应该压缩的解压缩文件(如手册页),但这比拥有一个无法启动的系统要好。

    如果您无法从 LiveCD 挂载分区,那么您很不幸。那时没有任何东西可以恢复您的系统。

    • 8
  3. user193597
    2013-10-16T16:35:20+08:002013-10-16T16:35:20+08:00

    这里的普遍共识是,您应该将磁盘安装在工作系统中并拯救您的文件,这并没有错。这是明智的做法。但另一种方式更有趣,也很有教育意义。在摆脱其他人会放弃并从头开始重新安装的混乱情况时,我学到了很多东西。(虽然不在其他人所依赖的服务器上......)

    无论如何,到目前为止你有一个运行的 initramfs(initrd)。这是一个好的开始。但它无法完成向 init 的切换,因为 init 现在init.gz可能是?为了取得任何进展,准确了解您拥有的 Linux 发行版会有所帮助,因此我们可以查看其 initramfs 中有哪些工具可用于紧急使用。

    您提供的错误消息看起来可能来自 Debian 的 initramfs。如果是 Debian,那么你应该(initramfs)在最后一个错误之后的下一行得到一个 shell 提示。如果你这样做了,你应该看看那些失败的坐骑是怎么回事。失踪/root/dev了吗?(/root是在运行 initramfs 期间应该挂载您的正常根 fs 的位置)

    如果您没有得到 shell 提示,那么接下来的内容No init found. Try passing init= bootarg.将会很有趣。即使它只是一个闪烁的光标,那也是一个线索。如果它看起来完全冻结,请尝试使用魔法 sysrq 或 Ctrl+ScrollLock 获取有关仍在运行的进程的一些信息。

    break=Debian initramfs 还允许您通过向内核命令行添加参数来在一些特殊地标处请求 shell 。例如,要在该Running /scripts/init-bottom行之前获取一个 shell,请使用break=bottom.

    旁白:我不知道该find命令如何压缩每个文件...对于选择 180 到 400 天之间的文件来说,它看起来是正确的。

    • 6

相关问题

  • Linux 主机到主机迁移

  • 如何在 Linux 机器上找到有关硬件的详细信息?

  • 如何在 Linux 下监控每个进程的网络 I/O 使用情况?

  • 在 RHEL4 上修改 CUPS 中的现有打印机设置

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

Sidebar

Stats

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

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

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

    • 9 个回答
  • Marko Smith

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

    • 3 个回答
  • Marko Smith

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

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +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