- Как запустить CentOS / RHEL в single mode ?
- Метод 1: Загрузить систему CentOS / RHEL 7/8 в однопользовательском режиме, добавив в ядро параметр «rd.break»
- Способ 2: Загрузить систему CentOS / RHEL 7/8 в однопользовательском режиме, заменив слово «rhgb quiet» на параметры «init=/bin/bash или init=/bin/sh» в ядре
- Метод 3: Загрузить систему CentOS / RHEL 7/8 в однопользовательском режиме, заменив слово «ro» на параметр «rw init=/sysroot/bin/sh» в ядре
Как запустить CentOS / RHEL в single mode ?
Однопользовательский режим, также называемый режимом обслуживания, который позволяет одному суперпользователю восстанавливать / исправлять системные проблемы.
Как правило, эти проблемы не могут быть решены в многопользовательской среде.
Система может загрузиться, но не будет работать должным образом или вы попроусту не сможете войти в систему.
Система использует runlevel1.target или rescue.target в ОС на базе Red Hat (RHEL) 7/8.
В этом режиме система монтирует все локальные файловые системы, но не активирует сетевые интерфейсы.
Это только позволяет работать определенные службы и минимальные функциональные возможности для ремонта системы.
Этот метод в основном полезен в тех случаях, когда вы хотите запустить fsck, чтобы исправить поврежденные файловые системы, или сбросить забытый пароль root, или исправить проблему с точкой монтирования в системе.
Вы можете загрузить системы CentOS / RHEL 7/8 в однопользовательском режиме, используя следующие три способа.
Метод 1: Загрузить систему CentOS / RHEL 7/8 в однопользовательском режиме, добавив в ядро параметр «rd.break»
Перезагрузите систему, на экране загрузки GRUB2 нажмите клавишу «e», чтобы отредактировать выбранное ядро.
Вам нужно выбрать первую строку, первая – это последнее ядро, или вы можете выбрать другую строку, если хотите загрузить систему с более старым ядром.
В зависимости от вашей версии RHEL / CentOS найдите слово «linux16» или «linux», нажмите кнопку «End» на клавиатуре, перейдите в конец строки и добавьте ключевое слово «rd.break», как показано ниже на снимке экрана, затем нажмите «Ctrl + x» или «F10» для загрузки в однопользовательском режиме.
Вам нужно найти слово linux16 для систем RHEL / CentOS 7, или слово linux для систем RHEL / CentOS 8.
# mount | grep root
Чтобы внести изменения в файловую систему «sysroot», вам необходимо перемонтировать ее в режимах READ и WRITE (RW).
# mount -o remount,rw /sysroot
Запустите приведенную ниже команду, чтобы изменить среду, обычно известную как «jailed directory» или «chroot jail».
# chroot /sysroot
Теперь однопользовательский режим полностью готов к использованию.
После того, как вы устранили проблему, чтобы выйти из однопользовательского режима, выполните следующие шаги.
CentOS / RHEL 7/8 по умолчанию использует SELinux, поэтому создайте следующий скрытый файл, который автоматически выполнит привязку всех файлов при следующей загрузке.
# touch /.autorelabel
# reboot -f
Способ 2: Загрузить систему CentOS / RHEL 7/8 в однопользовательском режиме, заменив слово «rhgb quiet» на параметры «init=/bin/bash или init=/bin/sh» в ядре
Перезагрузите систему, на экране загрузки GRUB2 нажмите клавишу «e», чтобы отредактировать выбранные параметры ядра, как и в 1-ом способе.
Найдите слово «rhgb quiet» и замените его на «init =/bin/bash» или «init=/bin/sh», затем нажмите «Ctrl + x» или «F10» для загрузки в однопользовательском режиме.
Снимок экрана с примером init=/bin/bash.
Система умолчанию это смонтирует ваш раздел «/» в режиме «только чтение» (RO), поэтому вам нужно будет перемонтировать файловую систему «/» в режим READ и WRITE (RW), чтобы внести изменения.
# mount -o remount,rw /
# touch /.autorelabel
Наконец перезагрузите систему.
# exec /sbin/init 6
Метод 3: Загрузить систему CentOS / RHEL 7/8 в однопользовательском режиме, заменив слово «ro» на параметр «rw init=/sysroot/bin/sh» в ядре
Чтобы прервать автоматическую загрузку, перезагрузите систему и нажмите любую клавишу на заставке GRUB2.
При этом отобразится список ядер, доступных в вашей системе, выберите последнее ядро и нажмите клавишу «e», чтобы отредактировать выбранные параметры ядра.
Найдите строку, которая начинается со слова «linux» или «linux16» и замените «ro» на «rw init=/sysroot/bin/sh».
Когда закончите, нажмите «Ctrl + x» или «F10» для загрузки в однопользовательском режиме.
Измените среду на «chroot jail», выполнив следующую команду.
# chroot /sysroot
Внесите необходимые изменения в систему.
После этого запустите приведенную ниже команду, чтобы включить перемаркировку SELinux при перезагрузке.
# touch /.autorelabel
Наконец перезагрузите систему.
# reboot -f