Управління пакетами в Linux та системний інструмент systemctl
20:03, 28.10.2026
Менеджери пакетів та systemctl часто використовуються звичайними користувачами Linux та системними адміністраторами. Вони допомагають у встановленні програмного забезпечення та управлінні системними службами.
У цій статті ми пояснимо, що таке управління пакетами та systemctl.
Що таке управління пакетами в Linux?
Linux складається з пакетів — це стиснуті архіви, що містять файли, метадані та інструкції з інсталяції, які разом утворюють бібліотеки, програми та інструменти.
Менеджер пакетів автоматизує встановлення, оновлення, модернізацію та видалення цих пакетів.
Чому управління пакетами має значення
Дистрибутиви Linux використовують центральні репозиторії для завантаження нового програмного забезпечення, на відміну від інших систем, які дозволяють завантажувати його вручну з Інтернету.
У цьому контексті менеджер пакетів:
- Встановлює програмне забезпечення.
- Вирішує питання залежностей.
- Оновлює та видаляє програмне забезпечення.
- Веде облік встановлених пакетів.
Управління пакетами є необхідним для забезпечення надійності системи та особливо важливе для виробничих середовищ і серверів.
Популярні менеджери пакетів
Різні дистрибутиви використовують різні системи пакетів, зокрема:
- APT/dpkg — поширений у дистрибутивах на базі Debian, таких як Ubuntu.
- DNF/YUM — використовується у Fedora, CentOS та сімействі RHEL.
- Pacman — використовується в Arch Linux та його похідних.
- Zypper — стандартний менеджер в openSUSE.
Про systemctl
Systemctl керує службами, фоновими демонами та процесами, які є.
Сучасні дистрибутиви Linux зазвичай використовують systemd як менеджер системи та служб. А основним інструментом для взаємодії з systemd є команда systemctl.
Що робить systemctl
systemctl може:
- Запускати, зупиняти, перезапускати та перезавантажувати служби.
- Увімкнути або вимкнути служби.
- Надавати детальну інформацію про стан служб та журнали.
- Керувати станом живлення системи — наприклад, перезавантаженням та вимкненням.
Простіше кажучи, systemctl дозволяє контролювати поведінку служб та визначати, як вони мають поводитися під час завантаження системи.
Основні команди systemctl
Ось деякі з найпоширеніших дій systemctl:
Управління службами
- sudo systemctl start <service> — Негайно запускає службу.
- sudo systemctl stop <service> — Зупиняє її.
- sudo systemctl restart <service> — Зупиняє, а потім знову запускає службу.
- sudo systemctl reload <service> — Застосовує зміни конфігурації без повного перезапуску (якщо це підтримується).
Увімкнути / Вимкнути під час завантаження
- sudo systemctl enable <service> — Забезпечує запуск служби під час завантаження системи.
- sudo systemctl disable <service> — Запобігає автоматичному запуску під час завантаження.
Ви також можете комбінувати команди:
- systemctl enable --now <service> — Увімкнути та запустити негайно.
- systemctl disable --now <service> — Вимкнути та зупинити зараз.
Перевірити стан
- systemctl status <service> — Показує, чи працює служба, та останні записи журналу.
- systemctl is-active <service> — Повертає простий індикатор активності/неактивності.
Цілі живлення та системи
systemctl також може змінювати стан системи:
- systemctl reboot — Перезавантажує систему.
- systemctl poweroff — Вимикає систему.
- systemctl isolate multi-user.target — Переходить у неграфічний багатокористувацький режим.
Як працює systemctl
systemctl взаємодіє з файлами одиниць — текстовими визначеннями, які вказують systemd як запускати, зупиняти або контролювати службу. Типи файлів одиниць включають:
- .service — Визначає процес служби.
- .socket — Описує служби, що активуються через сокет.
- .target — Представляє стани системи.
Коли видаються команди, systemctl зчитує ці файли, щоб визначити, що робити і в якому порядку, автоматично обробляючи залежності.