首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我删除了/etc/rc.d/ dir,如何恢复它们?

我删除了/etc/rc.d/ dir,如何恢复它们?
EN

Server Fault用户
提问于 2020-04-23 07:11:56
回答 1查看 325关注 0票数 0

我不小心删除了/etc/rc.d和/etc/rc0.d文件夹,这导致了init.d和其他相关文件夹的删除。

1. /etc/rc.d、rc、rc.d、rc0.d、rc1.d、rc2.d.rc6.d和/etc/rc.d内的其他文件的用途是什么?

2.如果我们无意中删除了它们,如何恢复?

3.如果我们在其他服务器上有相同的文件,我们能复制并使情况恢复正常吗?

4.提出任何可能的办法,以尽量减少这种影响或完全解决这种情况。

拜托了!

OS的详细信息在这里

Linux2.6.32-642.11.1.el6.x86_64 (mockbuild@x86-027.build.eng.bos.redhat.com) (gcc版本4.4.7 20120313 (RedHat4.4.7-17) (GCC) )

EN

回答 1

Server Fault用户

发布于 2020-04-23 08:12:17

  1. /etc/rcX.d (其中X是运行级)包含符号(a.k.a )。指向/etc/init.d中由/sbin/init执行的init脚本的链接(在引导时)。对RedHatEnterpriseLinux6进行了详细说明,具体如下:https://access.redhat.com/documentation/en-us/red_帽子_企业_linux/6/html/安装_指南/s2-引导-启动-关闭-init
  2. 最好的办法是从最近的后援中恢复过来(杰拉德H皮尔在上面的评论中已经提到了)。如果您缺少这样的备份,您可以尝试使用/sbin/chkconfig/usr/sbin/ntsysv来恢复它们,后者提供了ncurses用户界面。我没有这方面的经验,但你可以在这里找到一本手册:https://access.redhat.com/documentation/en-us/red_帽子_企业_linux/6/html/部署_指南/S2-服务-ntsysv
  3. 如果另一个服务器是以完全相同的方式设置的(例如,使用ansible或一些安装脚本),这可能是一个可行的解决方案。在任何情况下,当使用/usr/sbin/ntsysv时,其他服务器的结构可能会有所帮助。
  4. 在还原/etc/rc.d文件夹和符号链接之前,不要重新启动服务器。祝好运!

根据Gerard下面的评论,您也可以尝试安装yum验证插件:

代码语言:javascript
运行
复制
yum install yum-plugin-verify

确保你有

代码语言:javascript
运行
复制
plugins=1

/etc/yum.conf中。然后执行

代码语言:javascript
运行
复制
yum verify-all

它应该检查所有已安装的软件包,并报告缺少的配置文件。重新安装配置错误的软件包应该可以解决这个问题,但是,我从来没有这样做过。

更新您应该重新创建每个服务和在相同的其他服务器上运行的任何服务的符号链接。

代码语言:javascript
运行
复制
chkconfig service_name on

其中,service_name是要在引导时启动的init.d脚本的名称。使用此命令应确保在适当的运行级文件夹中创建链接。

您可以检查您的进度

代码语言:javascript
运行
复制
chkconfig --list

并将输出与另一个服务器上的输出进行比较。

您可以在这里找到chkconfig手册:https://access.redhat.com/documentation/en-us/red_帽子_企业_linux/6/html/部署_指南/s2-服务-chkconfig

票数 2
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1013707

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档