Ответ
В CentOS применяются две основные системы инициализации, которые зависят от версии дистрибутива.
1. SysVinit (традиционная, CentOS 6 и ниже)
- Управление через скрипты в каталоге
/etc/rc.d/init.d/. - Использует концепцию уровней запуска (runlevels) от 0 до 6.
- Основные команды для управления:
serviceиchkconfig.
2. systemd (современная, стандарт для CentOS 7 и выше)
- Полная замена SysVinit, обеспечивающая параллельный запуск служб, управление зависимостями и централизованное логирование.
- Конфигурационные файлы (юниты) расположены в
/usr/lib/systemd/system/и/etc/systemd/system/. - Основные команды:
systemctl(управление службами),journalctl(просмотр журналов).
Практический пример:
# Проверка текущей системы инициализации
ps -p 1 -o comm=
# Управление службой sshd в systemd
systemctl status sshd
systemctl restart sshd
# Управление службой sshd в SysVinit (для совместимости в CentOS 7+ тоже часто работает)
service sshd status
Почему важен переход на systemd? Он решает проблемы SysVinit с последовательным (медленным) запуском, предоставляет мощный механизм контроля зависимостей (Requires, Wants) и унифицированный интерфейс для управления не только службами, но и сокетами, таймерами, точками монтирования.