Обзор systemctl
systemd является системой инициализации, которая управляет процессом загрузки (инициализации) системы и контролирует все службы (демоны), которые выполняются в фоновом режиме после загрузки системы. `systemctl` предоставляет интерфейс для управления функциональностью systemd через командную строку. Ранее использовавшиеся команды, такие как `service`, `chkconfig`, `reboot`, `shutdown`, теперь интегрированы в одну команду `systemctl`.
Понимание юнитов systemd
systemd абстрагирует все управляемые объекты в понятие 'юнит'. Каждый юнит представляет собой конкретную службу, точку монтирования, устройство и т. д. Наиболее распространенные типы юнитов включают `юниты служб (.service)`, `юниты сокетов (.socket)`, `юниты монтирования (.mount)`, `юниты устройств (.device)`, `юниты целей (.target)` и т. д. Обычно расширение `.service` опускается.
Основные функции systemctl
- Проверка состояния служб: Определяет запущенные, активированные и неудачные службы.
- Управление службами: Запускает, останавливает, перезапускает и перезагружает службы.
- Настройка автоматического запуска служб: Настраивает или отменяет автоматический запуск служб при загрузке системы.
- Управление питанием системы: Перезагружает, выключает или переводит систему в спящий режим.
- Управление файлами юнитов: Проверяет и изменяет местоположение и зависимости файлов юнитов.
Основные параметры команды systemctl
`systemctl` предоставляет множество опций для управления службами, управления питанием системы, управления файлами юнитов и других функций. Большинство команд, связанных со службами, требуют прав `sudo`.
1. Проверка состояния и управление службами
2. Настройка автоматического запуска служб
3. Управление питанием системы
4. Файлы юнитов и списки
Сгенерированная команда:
Комбинируйте команды.
Описание:
`systemctl` Запускает команду.
Комбинируйте эти опции, чтобы виртуально выполнять команды с помощью ИИ.
Примеры использования
Изучите различные примеры использования команды `systemctl`, чтобы эффективно управлять службами в системах на базе systemd.
Проверка состояния службы веб-сервера (Nginx)
systemctl status nginx.service
Проверяет, работает ли веб-сервер Nginx, находится ли он в неактивном состоянии или произошла ли ошибка, и предоставляет подробную информацию.
Запуск службы MySQL
sudo systemctl start mysql.service
Запускает службу базы данных MySQL.
Перезапуск службы SSH
sudo systemctl restart sshd.service
Перезапускает службу SSH (Secure Shell). Полезно после изменения конфигурационного файла.
Настройка автоматического запуска веб-сервера Apache
sudo systemctl enable apache2.service
Настраивает автоматический запуск веб-сервера Apache при загрузке системы.
Проверка списка всех активных служб
systemctl list-units --type=service --state=active
Отображает все юниты служб, которые находятся в состоянии 'active' (работающие или готовые).
Перезагрузка системы через systemd
sudo systemctl reboot
Безопасно перезагружает систему с использованием наиболее рекомендуемого способа.
Просмотр содержимого файла юнита конкретной службы
systemctl cat redis-server.service
Проверяет содержимое файла юнита Redis (например, `/etc/systemd/system/redis.service`), чтобы понять, как работает служба.