Работа с systemd
Описание
- Systemd - системный демон, менеджер всех задач после старта ядра Linux 
- Управляемые элементы называются юнитами - сервисы 
- монтирование 
- таймеры 
- и т.д. 
 
- systemctl - интерфейс управления для работы с systemd 
- Для администратора наиболее важным функционалом является управление сервисами 
[root@centos8 ~]# systemctl 
add-requires            get-default             list-machines           revert
add-wants               halt                    list-sockets            set-default
cancel                  help                    list-timers             set-environment
cat                     hibernate               list-unit-files         set-property
condreload              hybrid-sleep            list-units              show
condrestart             import-environment      mask                    show-environment
condstop                is-active               poweroff                start
daemon-reexec           is-enabled              preset                  status
daemon-reload           is-failed               preset-all              stop
default                 isolate                 reboot                  suspend
disable                 is-system-running       reenable                suspend-then-hibernate
edit                    kexec                   reload                  switch-root
emergency               kill                    reload-or-restart       try-reload-or-restart
enable                  link                    rescue                  try-restart
exit                    list-dependencies       reset-failed            unmask
force-reload            list-jobs               restart                 unset-environment[root@centos8 ~]# systemctl -t help
Available unit types:
service
socket
target
device
mount
automount
swap
timer
path
slice
scope- systemctl list-unit-files - отобразит файлы юнитов 
[root@centos8 ~]# systemctl list-unit-files 
UNIT FILE                                  STATE    
proc-sys-fs-binfmt_misc.automount          static   
-.mount                                    generated
boot.mount                                 generated
dev-hugepages.mount                        static   
dev-mqueue.mount                           static   
proc-fs-nfsd.mount                         static   
proc-sys-fs-binfmt_misc.mount              static   
sys-fs-fuse-connections.mount              static   
sys-kernel-config.mount                    static   
sys-kernel-debug.mount                     static   
tmp.mount                                  disabled 
var-lib-machines.mount                     static   
var-lib-nfs-rpc_pipefs.mount               static   
cups.path                                  enabled  
ostree-finalize-staged.path                disabled 
systemd-ask-password-console.path          static   
systemd-ask-password-plymouth.path         static   
systemd-ask-password-wall.path             static   
session-7.scope                            transient
session-9.scope                            transient
session-c1.scope                           transient
accounts-daemon.service                    enabled  
- systemctl list-units - отобразит все юниты системы 
Управление сервисами
- "Disabled/enabled" - определяет, будет ли сервис автоматически запускаться при загрузке системы 
- "Start/stop" - определяют состояние для текущего сеанса системы 
[root@centos8 ~]# systemctl status dhcpd
● dhcpd.service - DHCPv4 Server Daemon
   Loaded: loaded (/usr/lib/systemd/system/dhcpd.service; enabled; vendor preset: disabled)
   Active: active (running) since Sat 2020-02-29 20:54:07 MSK; 24h ago
     Docs: man:dhcpd(8)
           man:dhcpd.conf(5)
 Main PID: 103647 (dhcpd)
   Status: "Dispatching packets..."
    Tasks: 1
   Memory: 1.1M
   CGroup: /system.slice/dhcpd.service
           └─103647 /usr/sbin/dhcpd -f -cf /etc/dhcp/dhcpd.conf -user dhcpd -group dhcpd --no-pid[root@centos8 ~]# systemctl stop dhcpd
[root@centos8 ~]# systemctl status dhcpd
● dhcpd.service - DHCPv4 Server Daemon
   Loaded: loaded (/usr/lib/systemd/system/dhcpd.service; enabled; vendor preset: disabled)
   Active: inactive (dead) since Sun 2020-03-01 21:37:54 MSK; 3s ago
     Docs: man:dhcpd(8)
           man:dhcpd.conf(5)
  Process: 103647 ExecStart=/usr/sbin/dhcpd -f -cf /etc/dhcp/dhcpd.conf -user dhcpd -group dhcpd --no-pid $>
 Main PID: 103647 (code=killed, signal=TERM)
   Status: "Dispatching packets..."Конфигурирование сервисов
- По-умолчанию предоставляемые системой файлы юнитов хранятся в /usr/lib/systemd/system - Не рекомендуется для правки, лучше создать файл в /etc/systemd/system, которые будут выступать в роли оверлея 
 
- Пользовательские файлы хранятся в /etc/systemd/system - C обновлением пакетов их файлы перезапишутся 
 
- Файлы текущего сеанса генерируются в /run/systemd 
- Рекомендуется использовать для редактирования systemtl edit <unit.service> 
- systemctl show покажет список доступных параметров - Для применения может потребоваться systemctl daemon-reload и systemctl restart <service> 
 
Last updated
Was this helpful?
