systemctl — это утилита, используемая для управления systemd. systemctl предоставляет администраторам CentOS возможность выполнять множество операций над systemd, включая:
- Настроить системные модули
- Получить статус systemd untis
- Запуск и остановка сервисов
- Включение / отключение системных служб для среды выполнения и т. Д.
Синтаксис команды для systemctl довольно прост , но может сочетаться с переключателями и опциями. Мы представим наиболее важные функции systemctl, необходимые для администрирования CentOS Linux.
Basic systemctl syntax: systemctl [OPTIONS] COMMAND [NAME]
Ниже приведены общие команды, используемые с systemctl —
- Начните
- стоп
- запустить снова
- перезагружать
- статус
- это-активные
- Список-единицы
- включить
- запрещать
- кошка
- шоу
Мы уже обсуждали запуск , остановку , перезагрузку , перезапуск , включение и отключение с помощью systemctl. Итак, давайте рассмотрим остальные часто используемые команды.
статус
В самом простом виде команда status может использоваться для просмотра состояния системы в целом:
[root@localhost rdc]# systemctl status ● localhost.localdomain State: running Jobs: 0 queued Failed: 0 units Since: Thu 2017-01-19 19:14:37 EST; 4h 5min ago CGroup: / ├─1 /usr/lib/systemd/systemd --switched-root --system --deserialize 21 ├─user.slice │ └─user-1002.slice │ └─session-1.scope │ ├─2869 gdm-session-worker [pam/gdm-password] │ ├─2881 /usr/bin/gnome-keyring-daemon --daemonize --login │ ├─2888 gnome-session --session gnome-classic │ ├─2895 dbus-launch --sh-syntax --exit-with-session
Вышеуказанный вывод был сжат. В реальном состоянии systemctl выведет около 100 строк статусов процесса обработки.
Допустим, мы хотим проверить состояние нашего сервиса брандмауэра —
[root@localhost rdc]# systemctl status firewalld ● firewalld.service - firewalld - dynamic firewall daemon Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: enabled) Active: active (running) since Thu 2017-01-19 19:14:55 EST; 4h 12min ago Docs: man:firewalld(1) Main PID: 825 (firewalld) CGroup: /system.slice/firewalld.service └─825 /usr/bin/python -Es /usr/sbin/firewalld --nofork --nopid
Как вы видите, наш сервис брандмауэра в настоящее время активен и работает более 4 часов.
Список-единицы
Команда list-units позволяет нам перечислить все единицы определенного типа. Давайте проверим наличие сокетов, управляемых systemd —
[root@localhost]# systemctl list-units --type=socket UNIT LOAD ACTIVE SUB DESCRIPTION avahi-daemon.socket loaded active running Avahi mDNS/DNS-SD Stack Activation Socket cups.socket loaded active running CUPS Printing Service Sockets dbus.socket loaded active running D-Bus System Message Bus Socket dm-event.socket loaded active listening Device-mapper event daemon FIFOs iscsid.socket loaded active listening Open-iSCSI iscsid Socket iscsiuio.socket loaded active listening Open-iSCSI iscsiuio Socket lvm2-lvmetad.socket loaded active running LVM2 metadata daemon socket lvm2-lvmpolld.socket loaded active listening LVM2 poll daemon socket rpcbind.socket loaded active listening RPCbind Server Activation Socket systemd-initctl.socket loaded active listening /dev/initctl Compatibility Named Pipe systemd-journald.socket loaded active running Journal Socket systemd-shutdownd.socket loaded active listening Delayed Shutdown Socket systemd-udevd-control.socket loaded active running udev Control Socket systemd-udevd-kernel.socket loaded active running udev Kernel Socket virtlockd.socket loaded active listening Virtual machine lock manager socket virtlogd.socket loaded active listening Virtual machine log manager socket
Теперь давайте проверим текущие запущенные сервисы —
[root@localhost rdc]# systemctl list-units --type=service UNIT LOAD ACTIVE SUB DESCRIPTION abrt-ccpp.service loaded active exited Install ABRT coredump hook abrt-oops.service loaded active running ABRT kernel log watcher abrt-xorg.service loaded active running ABRT Xorg log watcher abrtd.service loaded active running ABRT Automated Bug Reporting Tool accounts-daemon.service loaded active running Accounts Service alsa-state.service loaded active running Manage Sound Card State (restore and store) atd.service loaded active running Job spooling tools auditd.service loaded active running Security Auditing Service
это-активные
Команда is-active является примером команд systemctl, предназначенных для возврата информации о состоянии устройства.
[root@localhost rdc]# systemctl is-active ksm.service active
кошка
кошка — одна из редко используемых команд. Вместо использования cat в оболочке и ввода пути к файлу модуля просто используйте systemctl cat .
[root@localhost]# systemctl cat firewalld # /usr/lib/systemd/system/firewalld.service [Unit] Description=firewalld - dynamic firewall daemon Before=network.target Before=libvirtd.service Before = NetworkManager.service After=dbus.service After=polkit.service Conflicts=iptables.service ip6tables.service ebtables.service ipset.service Documentation=man:firewalld(1) [Service] EnvironmentFile = -/etc/sysconfig/firewalld ExecStart = /usr/sbin/firewalld --nofork --nopid $FIREWALLD_ARGS ExecReload = /bin/kill -HUP $MAINPID # supress to log debug and error output also to /var/log/messages StandardOutput = null StandardError = null Type = dbus BusName = org.fedoraproject.FirewallD1 [Install] WantedBy = basic.target Alias = dbus-org.fedoraproject.FirewallD1.service [root@localhost]#
Теперь, когда мы более подробно изучили как systemd, так и systemctl , давайте использовать их для управления ресурсами в cgroups или контрольных группах .