systemd — це набір базових будівельних блоків для систем Linux. Він надає менеджер системи та сервісів, який запускає та запускає решту системи як PID 1.
systemd забезпечує агресивні можливості паралелізації, використовує сокети та активацію D-Bus для запуску сервісів, забезпечує запуск демонів на вимогу, використовує контрольні групи Linux для відстеження процесів, підтримує монтування та точки автомонтування, а також реалізує добре розроблену логіку керування сервісами на основі залежності від транзакцій. systemd підтримує скрипти SysV та LSB init і може замінити sysvinit.
Інші розділи включають журнал-демони, утиліти для керування базовими системними конфігураціями, такими як імена хостів, дати, локації, ведення списку зареєстрованих користувачів і запуск контейнерів і віртуальних машин, системні облікові записи, каталоги під час виконання та налаштування, а також керування конфігураціями демонів для простих мереж, синхронізацію часу мережі, пересилання журналів і розв'язання імен.
Конфігураційний файл systemd існує у наступних трьох папках:
/etc/systemd/system 存放系统启动的默认级别及启动的unit的软连接,优先级最高。
/run/systemd/system 系统执行过程中产生的服务脚本,优先级次之。
/usr/lib/systemd/system 存放系统上所有的启动文件,优先级最低。 Огляд:
Профіль підрозділу
Одиничний файл у systemd — це файл, який кодує інформацію про різні пристрої, якими systemd може керувати, включно з сервісами, сокетами, пристроями тощо. Цей посібник зосереджений на сервісах, у такому разі файл одиниці, з яким ми працюємо, є .service. Файл конфігурації пристрою varnish.service містить інформацію про те, як systemd має виконувати, моніторити та керувати демоном varnish.
Блок [Unit] зазвичай є першим блоком конфігураційного файлу і використовується для визначення метаданих Unit та його зв'язку з іншими Unit. Основні галузі такі.
- Опис: Короткий опис
- Документація: Адреса документа
- Вимагає: Інші пристрої, від яких залежить поточний блок, і якщо вони не працюють, поточний блок не запуститься
- Потрібні: Інші пристрої, які працюють з поточним блоком, якщо вони не працюють, поточний пристрій не запускається
- BindsTo: Подібно до Requires, він визначає Unit, який змушує поточний Unit зупиняти роботу при виході
- До: Якщо Одиниця, вказана в цьому полі, також має бути запущена, вона має бути запущена після поточної Одиниці
- Після: Якщо Одиниця, вказана в цьому полі, також має бути запущена, вона має бути запущена раніше поточної Одиниці
- Конфлікти: Вказаний тут блок не може працювати одночасно з поточним блоком
- Умова... : Умови, які мають бути виконані для роботи поточного пристрою, інакше він не працюватиме
- Стверджувати... : Умови, які мають бути виконані для роботи поточного пристрою, інакше буде зафіксовано про відмову при запуску
[Install] зазвичай є останнім блоком конфігураційного файлу, який визначає, як завантажуватися і чи потрібно запускати. Основні галузі такі.
- WantedBy: Його значення — одна або кілька цілей, і коли поточний Unit активний (enable), символічне посилання розміщується в піддиректорії під каталогом /etc/systemd/system з суфіксом Target name + .wants
- RequiredBy: Його значення — одна або кілька цілей, і коли поточний Unit активний, символічне посилання буде розміщено в піддиректорії під каталогом /etc/systemd/system з суфіксом Target name + .required
- Псевдонім: Псевдонім, який поточний Юніт може використовувати для старту
- Також: коли поточний пристрій активується, інші одиниці активуються одночасно
Блок [Service] використовується для налаштування Service, і лише одиниці типу Service мають цей блок. Основні галузі такі.
- Тип: Визначає поведінку процесу при запуску. Вона має такі значення.
- Type=simple: значення за замовчуванням, виконайте команду, задану ExecStart, щоб запустити основний процес
- type=forking: Fork створює дочірній процес із батьківського процесу, який одразу після створення виходить з експлуатації
- Type=oneshot: одноразовий процес, Systemd чекає виходу поточного сервісу, перш ніж продовжити виконання
- Type=dbus: Поточний сервіс запускається через D-Bus
- type=notify: Коли поточний сервіс запущено, Systemd буде сповіщений і продовжить виконання
- type=idle: Поточний сервіс запускається лише у разі виконання інших завдань
- ExecStart: Команда для запуску поточної служби
- ExecStartPre: Команда, виконана перед запуском поточної служби
- ExecStartPost: Команда, виконана після запуску поточного сервісу
- ExecReload: Команда, що виконується при перезапуску поточного сервісу
- ExecStop: Команда, яка виконується, коли поточний сервіс зупинено
- ExecStopPost: Зупинити команду, яка виконується під час її доставки
- RestartSec: Кількість секунд між автоматичним перезапуском поточного сервісу
- Restart: Визначає обставини, за яких Systemd автоматично перезапускає поточний сервіс, з можливими значеннями, такими як завжди, на успіху, на помилці, на аномальному режимі, на припиненні, на watchdog
- TimeoutSec: Визначає кількість секунд, які Systemd чекає перед припиненням поточного сервісу
- Середовище: Вкажіть змінну середовища
Інструмент управління Systemctl
Управління програмами в CentOS фактично здійснюється інструментом systemctl.
Сервіс запуску:
systemctl start name.service
Припиніть обслуговування:
systemctl stop name.service
Перезапуск сервісу:
systemctl restart name.service
Статус перегляду:
systemctl status name.service
Умовне перезапуск:
Якщо сервіс був запущений раніше, його буде перезапущено, а якщо не запущено — не буде експлуатуватися
systemctl try-restart name.service
Перезавантажити або перезапустити:
Спочатку перезавантажтеся, а якщо перезавантаження не вдасне — перезавантажте
systemctl reload-or-restart name.service
Перезарядка або умовний перезапуск:
systemctl reload-or-try-restart name.service
Встановлює, чи може користувач налаштувати сервіс для запуску стану
systemctl розмаскувати name.service
Systemctl mask name.service заборонено
Перегляньте поточний статус активації сервісу:
Значення повернення статусу команди «сервіс запущено» дорівнює 0. Значення повернення статусу команди, яка не була запущена, не 0
systemctl is-active name.service
Перегляньте всі активовані сервіси:
-t Вказує тип пристрою, що відображається.
--всі відображають більш детальний список інформації.
-еквівалент --всі
SystemCTL-спискові одиниці
SystemCTL List-Units -T Service
SystemCTL List-Units -T Service -A
Переглянути всі послуги:
Systemctl List-Units -A
Переглянути всі статуси послуг:
systemctl list-unit-files
-a 、--всі: Переглянути статус усіх сервісів
-t 、--type: Вказує тип одиниці, яку слід переглядати
завантажено: Файл конфігурації завантажено, завантажено в пам'ять
active(running): Пробіжи, які безперервно обробляються один або кілька разів
active(exitated): одноразова конфігурація успішно завершена
активний (очікування): Біг, очікування події
inactive:不运行
enabled:开机启动
disabled:开机不启动
static:开机不启动,但可被另一个启用的服务激活
Використовується для вказівки, на яких рівнях роботи сервіс увімкнений і вимкнений
LS /etc/systemd/system/*.wants/sshd.service
systemctl list-unit-files --тип цілі --всі
Щоб налаштувати сервіс так, щоб не запускався:
systemctl Вимкнути сервісний ім'я
Перевірте, чи сервіс завантажений і запущений:
systemctl is-enabled name.service
Подивіться на залежності сервісів:
systemctl list-dependencies name.service systemctl list-depebdencies
Обслуговування важких вантажів:
systemctl daemon-reload
Зупиніть процес:
Назва процесу вбивства systemctl
Ресурси:
Вхід за гіперпосиланням видно.
Вхід за гіперпосиланням видно.
Вхід за гіперпосиланням видно.
Вхід за гіперпосиланням видно.
|