Я случайно удалил папки /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. г?
2.Если мы их случайно удалим, как восстановить?
3.Если у нас есть такие же файлы на другом сервере, можем ли мы скопировать и нормализовать ситуацию?
4. Предложите любой возможный способ минимизировать воздействие или полностью разрешить эту ситуацию.
ПОЖАЛУЙСТА, ПОМОГИТЕ !!!
ДЕТАЛИ ОС здесь
Версия Linux 2.6.32-642.11.1.el6.x86_64 (mockbuild@x86-027.build.eng.bos.redhat.com) (версия gcc 4.4.7 20120313 (Red Hat 4.4.7-17) (GCC)) SMP Ср 26 октября 10:25:23 EDT 2016
/etc/rcX.d
(где X - уровень запуска) содержит символические (также известные как программные) ссылки на сценарии инициализации в /etc/init.d
которые должны быть выполнены /sbin/init
(при загрузке). Это объясняется для Red Hat Enterprise Linux 6 довольно подробно здесь: https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/installation_guide/s2-boot-init-shutdown-init
Лучше всего восстановить их из недавней резервной копии (как уже упоминал Джерард Х. Пилле в своем комментарии выше). Если у вас нет такой резервной копии, вы можете попытаться восстановить ее, используя /sbin/chkconfig
или /usr/sbin/ntsysv
который предоставляет пользовательский интерфейс ncurses. У меня нет опыта с этим, но вы можете найти руководство здесь: https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/deployment_guide/s2-services-ntsysv
Если другой сервер был настроен точно так же (например, с помощью ansible или некоторого сценария настройки), это может быть жизнеспособным решением. В любом случае структура другого сервера может быть полезна при использовании /usr/sbin/ntsysv
Старайтесь не перезагружать сервер, пока не восстановите /etc/rc.d
папки и символические ссылки. Удачи!
Согласно комментарию Джерарда ниже, вы также можете попробовать установить плагин yum-verify:
yum install yum-plugin-verify
и убедитесь, что у вас есть
plugins=1
в /etc/yum.conf
. Затем выполните
yum verify-all
и он должен проверить все установленные пакеты и сообщить об отсутствии файлов конфигурации. Повторная установка неправильно настроенных пакетов должна решить проблему, но, опять же, мне никогда не приходилось делать это самому.
Обновить Вам следует воссоздать символические ссылки для каждой службы, которая запускается на идентичном другом сервере с
chkconfig service_name on
где service_name - это имя сценария init.d, который вы хотите запустить при загрузке. Использование этой команды должно гарантировать, что ссылки созданы в соответствующей папке уровня запуска.
Вы можете проверить свой прогресс с помощью
chkconfig --list
и сравните вывод с выводом на другом сервере.
Вы можете найти руководство по chkconfig здесь: https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/deployment_guide/s2-services-chkconfig