我意外删除了 init.d 目录!我该怎么做才能恢复它?

我意外删除了 init.d 目录!我该怎么做才能恢复它?

这有点可怕!我删除了 /etc/init.d 目录!我该如何恢复此目录?我知道如果我现在重新启动计算机,我将再也看不到我的 Linux!

请指教!

答案1

查看 /etc/rc?.d 目录。您将在其中找到指向 /etc/init.d 中的脚本的符号链接。您将知道需要将哪些启动脚本恢复到 /etc/init.d。因此,如下所示:

$ ls -l /etc/rc?.d

你会看到类似这样的内容:

/etc/rc2.d:
total 4
-rw-r--r-- 1 root root 556 2009-01-23 15:01 README
lrwxrwxrwx 1 root root  18 2009-10-27 00:05 S10sysklogd -> ../init.d/sysklogd
lrwxrwxrwx 1 root root  15 2009-10-27 00:05 S11klogd -> ../init.d/klogd
lrwxrwxrwx 1 root root  13 2009-10-27 00:05 S16ssh -> ../init.d/ssh
lrwxrwxrwx 1 root root  18 2010-06-07 22:04 S20bluepill -> ../init.d/bluepill

要获取这些脚本的副本,请按照 Martin 的建议操作,或者使用相同的 Linux 发行版启动另一台机器(在备用计算机或虚拟环境中),并从那里复制相关的 /etc/init.d 文件;您可能需要安装其他软件包。后者可能更容易。

复制文件后,您应该再次运行“ls -l /etc/rc?.d”。现在应该有损坏的符号链接了。如果有损坏的链接,请找出哪些软件包提供了这些链接等,然后在虚拟机上安装它们,并继续执行此操作,直到一切看起来正确为止。

在那之后,你可能会没事了,但你应该做好准备,在机器上安装控制台,以防出现问题。

答案2

在虚拟机中安装相同的 Linux 发行版,如果您有 Apache 等额外服务,也请安装它们,然后将 /etc/init.d 目录复制到您的机器。

答案3

也许您可以找到适合您的发行版的开发人员基础设施(问题跟踪器、存储库等)并从那里检出脚本。

这对于基本初始化脚本有效。对于各种程序的初始化脚本,您可以检查每个此类程序的初始化脚本,或者简单地重新安装相应的包。

相关内容