управление systemd

Установка, обновление, настройка Linux

Модераторы: Olej, adminn

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: управление systemd

Непрочитанное сообщение Olej » 08 июл 2016, 10:01

Olej писал(а):Новый обзор от ещё одного автора Управление службами linux
Там есть ряд очень уместных напоминаний относительно systemd:

Код: Выделить всё

[olej@dell 08]$ 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
avahi-daemon.service                                     loaded active running Avahi mDNS/DNS-SD Stack
blk-availability.service                                 loaded active exited  Availability of block devices
bluetooth.service                                        loaded active running Bluetooth service
chronyd.service                                          loaded active running NTP client/server
colord.service                                           loaded active running Manage, Install and Generate Color Profiles
crond.service                                            loaded active running Command Scheduler
cups.service                                             loaded active running CUPS Scheduler
dbus.service                                             loaded active running D-Bus System Message Bus
dracut-shutdown.service                                  loaded active exited  Restore /run/initramfs on shutdown
fedora-import-state.service                              loaded active exited  Import network configuration from initramfs
fedora-readonly.service                                  loaded active exited  Configure read-only root support
firewalld.service                                        loaded active running firewalld - dynamic firewall daemon
gpm.service                                              loaded active running Console Mouse manager
gssproxy.service                                         loaded active running GSSAPI Proxy Daemon
irqbalance.service                                       loaded active running irqbalance daemon
iscsi-shutdown.service                                   loaded active exited  Logout off all iSCSI sessions on shutdown
kmod-static-nodes.service                                loaded active exited  Create list of required static device nodes for the curr
lightdm.service                                          loaded active running Light Display Manager
livesys-late.service                                     loaded active exited  SYSV: Late init script for live image.
livesys.service                                          loaded active exited  LSB: Init script for live image.
lvm2-lvmetad.service                                     loaded active running LVM2 metadata daemon
lvm2-monitor.service                                     loaded active exited  Monitoring of LVM2 mirrors, snapshots etc. using dmevent
mcelog.service                                           loaded active running Machine Check Exception Logging Daemon
ModemManager.service                                     loaded active running Modem Manager
NetworkManager.service                                   loaded active running Network Manager
polkit.service                                           loaded active running Authorization Manager
rsyslog.service                                          loaded active running System Logging Service
rtkit-daemon.service                                     loaded active running RealtimeKit Scheduling Policy Service
smartd.service                                           loaded active running Self Monitoring and Reporting Technology (SMART) Daemon
sshd.service                                             loaded active running OpenSSH server daemon
systemd-backlight@backlight:acpi_video0.service          loaded active exited  Load/Save Screen Backlight Brightness of backlight:acpi_
systemd-backlight@backlight:nv_backlight.service         loaded active exited  Load/Save Screen Backlight Brightness of backlight:nv_ba
systemd-fsck@dev-disk-by\x2duuid-9a0658a9\x2db45b\x2d4b82\x2db7c0\x2d6a8607601ae2.service loaded active exited  File System Check on /d
systemd-journal-flush.service                            loaded active exited  Flush Journal to Persistent Storage
systemd-journald.service                                 loaded active running Journal Service
systemd-logind.service                                   loaded active running Login Service
systemd-random-seed.service                              loaded active exited  Load/Save Random Seed
systemd-remount-fs.service                               loaded active exited  Remount Root and Kernel File Systems
systemd-rfkill@rfkill0.service                           loaded active exited  Load/Save RF Kill Switch Status of rfkill0
systemd-rfkill@rfkill1.service                           loaded active exited  Load/Save RF Kill Switch Status of rfkill1
systemd-rfkill@rfkill2.service                           loaded active exited  Load/Save RF Kill Switch Status of rfkill2
systemd-rfkill@rfkill9.service                           loaded active exited  Load/Save RF Kill Switch Status of rfkill9
systemd-sysctl.service                                   loaded active exited  Apply Kernel Variables
systemd-tmpfiles-setup-dev.service                       loaded active exited  Create Static Device Nodes in /dev
systemd-tmpfiles-setup.service                           loaded active exited  Create Volatile Files and Directories
systemd-udev-settle.service                              loaded active exited  udev Wait for Complete Device Initialization
systemd-udev-trigger.service                             loaded active exited  udev Coldplug all Devices
systemd-udevd.service                                    loaded active running udev Kernel Device Manager
systemd-update-utmp.service                              loaded active exited  Update UTMP about System Boot/Shutdown
systemd-user-sessions.service                            loaded active exited  Permit User Sessions
systemd-vconsole-setup.service                           loaded active exited  Setup Virtual Console
udisks2.service                                          loaded active running Disk Manager
upower.service                                           loaded active running Daemon for power management
user@1000.service                                        loaded active running User Manager for UID 1000
user@988.service                                         loaded active running User Manager for UID 988
vboxautostart-service.service                            loaded active exited  vboxautostart-service.service
vboxballoonctrl-service.service                          loaded active exited  vboxballoonctrl-service.service
vboxdrv.service                                          loaded active exited  VirtualBox Linux kernel module
vboxweb-service.service                                  loaded active exited  vboxweb-service.service
wpa_supplicant.service                                   loaded active running WPA supplicant

LOAD   = Reflects whether the unit definition was properly loaded.
ACTIVE = The high-level unit activation state, i.e. generalization of SUB.
SUB    = The low-level unit activation state, values depend on unit type.

68 loaded units listed. Pass --all to see loaded but inactive units, too.
To show all installed unit files use 'systemctl list-unit-files'.

Код: Выделить всё

[olej@dell 08]$ systemctl list-units --all --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 Scheduler
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
sshd.socket                     loaded inactive dead      OpenSSH Server Socket
syslog.socket                   loaded inactive dead      Syslog Socket
systemd-initctl.socket          loaded active   listening /dev/initctl Compatibility Named Pipe
systemd-journald-audit.socket   loaded active   running   Journal Audit Socket
systemd-journald-dev-log.socket loaded active   running   Journal Socket (/dev/log)
systemd-journald.socket         loaded active   running   Journal Socket
systemd-udevd-control.socket    loaded active   running   udev Control Socket
systemd-udevd-kernel.socket     loaded active   running   udev Kernel Socket

LOAD   = Reflects whether the unit definition was properly loaded.
ACTIVE = The high-level unit activation state, i.e. generalization of SUB.
SUB    = The low-level unit activation state, values depend on unit type.

17 loaded units listed.
To show all installed unit files use 'systemctl list-unit-files'.
Здесь -all указывает показывать все сервисы сокетной активации, даже те, которые ещё не использовались после инсталляции системы, например sshd.socket.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: управление systemd

Непрочитанное сообщение Olej » 11 июл 2016, 16:53

В отношении сервисов systemd:

Код: Выделить всё

[olej@dell etc]$ service zzzzzzzzzzzzzzz status
Redirecting to /bin/systemctl status  zzzzzzzzzzzzzzz.service
● zzzzzzzzzzzzzzz.service
   Loaded: not-found (Reason: No such file or directory)
   Active: inactive (dead)

[olej@dell etc]$ sudo service zzzzzzzzzzzzzzz start
[sudo] пароль для olej: 
Redirecting to /bin/systemctl start  zzzzzzzzzzzzzzz.service
Failed to start zzzzzzzzzzzzzzz.service: Unit zzzzzzzzzzzzzzz.service failed to load: No such file or directory.
[olej@dell etc]$ systemctl list-units --all --type service | grep zzzzzzzzzzzzzzz
[olej@dell etc]$ 
Сравним:

Код: Выделить всё

[olej@dell etc]$ service snmpd status
Redirecting to /bin/systemctl status  snmpd.service
● snmpd.service - Simple Network Management Protocol (SNMP) Daemon.
   Loaded: loaded (/usr/lib/systemd/system/snmpd.service; disabled; vendor preset: disabled)
   Active: inactive (dead)
[olej@dell etc]$ sudo service snmpd start
[sudo] пароль для olej: 
Redirecting to /bin/systemctl start  snmpd.service
[olej@dell etc]$ service snmpd status
Redirecting to /bin/systemctl status  snmpd.service
● snmpd.service - Simple Network Management Protocol (SNMP) Daemon.
   Loaded: loaded (/usr/lib/systemd/system/snmpd.service; disabled; vendor preset: disabled)
   Active: active (running) since Пн 2016-07-11 16:51:10 EEST; 2s ago
 Main PID: 15851 (snmpd)
   CGroup: /system.slice/snmpd.service
           └─15851 /usr/sbin/snmpd -LS0-6d -f

июл 11 16:51:09 dell.localdomain systemd[1]: Starting Simple Network Management Protocol (SNMP) Daemon....
июл 11 16:51:10 dell.localdomain snmpd[15851]: Turning on AgentX master support.
июл 11 16:51:10 dell.localdomain snmpd[15851]: NET-SNMP version 5.7.3
июл 11 16:51:10 dell.localdomain systemd[1]: Started Simple Network Management Protocol (SNMP) Daemon..
Т.е. сервис остановленный (sshd) и никогда не существовавший в системе выглядят по status одинаково!

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: управление systemd

Непрочитанное сообщение Olej » 11 июл 2016, 16:55

Olej писал(а): Т.е. сервис остановленный (sshd) и никогда не существовавший в системе выглядят по status одинаково!
И вот:

Код: Выделить всё

[olej@dell etc]$ service vboxdrv status
Redirecting to /bin/systemctl status  vboxdrv.service
● vboxdrv.service - VirtualBox Linux kernel module
   Loaded: loaded (/opt/VirtualBox/vboxdrv.sh; enabled; vendor preset: disabled)
   Active: active (exited) since Пт 2016-07-08 11:56:01 EEST; 3 days ago
  Process: 863 ExecStart=/opt/VirtualBox/vboxdrv.sh start (code=exited, status=0/SUCCESS)

июл 08 11:56:01 dell.localdomain systemd[1]: Starting VirtualBox Linux kernel module...
июл 08 11:56:01 dell.localdomain vboxdrv.sh[863]: Starting VirtualBox kernel modules [СБОЙ ]
июл 08 11:56:01 dell.localdomain vboxdrv.sh[863]: (modprobe vboxdrv failed. Please use 'dmesg' to find out why)
июл 08 11:56:01 dell.localdomain systemd[1]: Started VirtualBox Linux kernel module.
Чем этот остановленный (exited) сервис отличается от остановленного sshd (dead) :?: :idea:

Код: Выделить всё

[olej@dell etc]$ sudo service snmpd stop
[sudo] пароль для olej: 
Redirecting to /bin/systemctl stop  snmpd.service
[olej@dell etc]$ service snmpd status
Redirecting to /bin/systemctl status  snmpd.service
● snmpd.service - Simple Network Management Protocol (SNMP) Daemon.
   Loaded: loaded (/usr/lib/systemd/system/snmpd.service; disabled; vendor preset: disabled)
   Active: inactive (dead)

июл 11 16:51:09 dell.localdomain systemd[1]: Starting Simple Network Management Protocol (SNMP) Daemon....
июл 11 16:51:10 dell.localdomain snmpd[15851]: Turning on AgentX master support.
июл 11 16:51:10 dell.localdomain snmpd[15851]: NET-SNMP version 5.7.3
июл 11 16:51:10 dell.localdomain systemd[1]: Started Simple Network Management Protocol (SNMP) Daemon..
июл 11 16:56:14 dell.localdomain systemd[1]: Stopping Simple Network Management Protocol (SNMP) Daemon....
июл 11 16:56:14 dell.localdomain snmpd[15851]: Received TERM or STOP signal...  shutting down...
июл 11 16:56:14 dell.localdomain systemd[1]: Stopped Simple Network Management Protocol (SNMP) Daemon..

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: управление systemd

Непрочитанное сообщение Olej » 14 июл 2016, 11:49

Страница из документации дистрибутива Mageia:
Кто не умеет приспосабливаться, обречён на вымирание

Mageia 2 окончательно отказалась от старого доброго SystemV в пользу устанавливаемого теперь по умолчанию systemd.
...
Обратите внимание на заголовок страницы! :-o (как мне кажется, это плевок в сторону Debian)

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: управление systemd

Непрочитанное сообщение Olej » 16 окт 2016, 19:10

Большая статья Управление службами Linux
by admin on Июль 6, 2016
В этой статье мы рассмотрим управление службами Linux. Мы не будем трогать уже устаревшие системы, такие как SysVinit, сосредоточимся только на Systemd.
...

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: управление systemd

Непрочитанное сообщение Olej » 21 дек 2016, 19:24

Обсуждение ключевых особенностей, с обсуждением почему так, и сравнением альтернатив как это может быть сделано ... от автора (авторов) systemd:

Система инициализации Systemd. Часть I
Резюме: активация демонов посредством сокетов и шины D-Bus позволяет нам запустить все демоны параллельно, без какой-либо синхронизации. Это позволяет нам получить «ленивые» сервисы: если сервис используется редко, можно просто загрузить его по потребности, вместо того, чтобы запускать его во время загрузки.
И если это не круто, тогда я не знаю, что круто!
Система инициализации Systemd. Часть II
Написание демонов

Идеальный демон, полноценно использующий возможности systemd должен делать некоторые вещи способами, отличными от традиционного поведения. Позже, мы опубликуем подробное руководство по написанию демона для использования с systemd. Ниже приведено краткое описание того, что нужно для разработчиков демонов:

Мы просим разработчиков не вызывать fork () (или даже двойной fork()) в своих процессах, используя цикл событий основного процесса, который systemd вызывает для вас. Также не вызывайте setsid().
Не стоит сбрасывать привилегии (имеется в виду, когда демон не должен быть запущен с root-привилегиями, прим. перев.) с помощью самого демона, предоставьте сделать это systemd и настраивайте это в ее конфигурационных файлах (Тут есть несколько исключений. К примеру, для некоторых демонов нужно сбрасывать привилегии только посредством самого демона после стадии инициализации, которая требует повышенных полномочий).
- Не надо создавать PID-файлы.
- Имя демона следует получать с D-Bus.
- Если вы хотите использовать возможности systemd для ведения логов, сбрасывайте все, что нужно включить в логи, на stderr.
- Предоставьте systemd создать и обслуживать сокет для вас, благодаря чему будет работать активация посредством сокетов. Для этого нужно использовать $LISTEN_FDS и $LISTEN_PID как описывалось выше.
- Используйте SIGTERM для остановки своего демона.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: управление systemd

Непрочитанное сообщение Olej » 19 фев 2017, 09:15

Достаточно полезный свежий перевод 5 инструментов из состава systemd, которые следует начать использовать прямо сейчас
Оригинал: 5 systemd Tools You Should Start Using Now
Автор: Paul Brown
Дата публикации: 2 ноября 2016 г.
Перевод: А.Панин
Дата перевода: 2 декабря 2016 г.
В статье кратко описываются малоизвестные инструменты из комплекта поставки systemd, предназначенные для администрирования системы.

Код: Выделить всё

[olej@dell etc]$ coredumpctl
TIME                            PID   UID   GID SIG PRESENT EXE
Пт 2016-11-25 11:11:07 EET  13598  1000  1000  11   /usr/share/skypeforlinux/skypeforlinux
Сб 2016-12-31 21:17:10 EET  27728  1000  1000  11   /usr/share/skypeforlinux/skypeforlinux

Код: Выделить всё

[olej@dell etc]$ coredumpctl dump 27728
           PID: 27728 (skypeforlinux)
           UID: 1000 (olej)
           GID: 1000 (olej)
        Signal: 11 (SEGV)
     Timestamp: Сб 2016-12-31 21:17:03 EET (1 months 19 days ago)
  Command Line: /usr/share/skypeforlinux/skypeforlinux --type=gpu-process --channel=5564.3.648028667 --mojo-application-channel-token=BCC19E82813DFB633D82E2CE59C29783 --no-sandbox --window-depth=24 --x11-visual-id=33 --supports-dual-gpus=false --gpu-driver-bug-workarounds=5,6,18,23,56,70 --disable-gl-extensions=GL_NV_path_rendering --gpu-vendor-id=0x10de --gpu-device-id=0x0a6c --gpu-driver-vendor=Mesa --gpu-driver-version=11.1.0 --gpu-driver-date --v8-natives-passed-by-fd --v8-snapshot-passed-by-f
    Executable: /usr/share/skypeforlinux/skypeforlinux
 Control Group: /user.slice/user-1000.slice/session-1.scope
          Unit: session-1.scope
         Slice: user-1000.slice
       Session: 1
     Owner UID: 1000 (olej)
       Boot ID: 022c494e672f46e5bcac0b7686563865
    Machine ID: 79580c90d98d4a34b6de8c1186956697
      Hostname: dell.localdomain
       Message: Process 27728 (skypeforlinux) of user 1000 dumped core.
                
                Stack trace of thread 27728:
                #0  0x00007faa7da67da3 XInternAtoms (libX11.so.6)
                #1  0x0000000002dc9af0 n/a (/usr/share/skypeforlinux/skypeforlinux (deleted))
                #2  0x000000000326dd08 n/a (/usr/share/skypeforlinux/skypeforlinux (deleted))
                #3  0x000000000326db96 n/a (/usr/share/skypeforlinux/skypeforlinux (deleted))
                #4  0x0000000001b35a93 n/a (/usr/share/skypeforlinux/skypeforlinux (deleted))
                #5  0x0000000001b390a5 n/a (/usr/share/skypeforlinux/skypeforlinux (deleted))
                #6  0x0000000000a4a1fb n/a (/usr/share/skypeforlinux/skypeforlinux (deleted))
                #7  0x0000000002e9eb77 n/a (/usr/share/skypeforlinux/skypeforlinux (deleted))
                #8  0x0000000002e9d650 n/a (/usr/share/skypeforlinux/skypeforlinux (deleted))
                #9  0x0000000003482e93 main (/usr/share/skypeforlinux/skypeforlinux (deleted))
                #10 0x00007faa7a9c3580 __libc_start_main (libc.so.6)
                #11 0x00000000005838c9 _start (/usr/share/skypeforlinux/skypeforlinux (deleted))
Refusing to dump core to tty.

Код: Выделить всё

[olej@dell etc]$ systemd-cgtop
Path                                                                                           Tasks   %CPU   Memory  Input/s Output/s

/                                                                                                321   69.6     6.8G       0B       0B
/system.slice/ModemManager.service                                                                 1      -        -        -        -
/system.slice/NetworkManager.service                                                               2      -        -        -        -
/system.slice/abrt-oops.service                                                                    1      -        -        -        -
/system.slice/abrt-xorg.service                                                                    1      -        -        -        -
/system.slice/abrtd.service                                                                        1      -        -        -        -
/system.slice/accounts-daemon.service                                                              1      -        -        -        -
/system.slice/alsa-state.service                                                                   1      -        -        -        -
/system.slice/atd.service                                                                          1      -        -        -        -
/system.slice/auditd.service                                                                       3      -        -        -        -
/system.slice/avahi-daemon.service                                                                 2      -        -        -        -
/system.slice/bluetooth.service                                                                    1      -        -        -        -
/system.slice/chronyd.service                                                                      1      -        -        -        -
/system.slice/colord.service                                                                       1      -        -        -        -
/system.slice/crond.service                                                                        1      -        -        -        -
/system.slice/cups.service                                                                         1      -        -        -        -
/system.slice/dbus.service                                                                         1      -        -        -        -
/system.slice/gpm.service                                                                          1      -        -        -        -
/system.slice/gssproxy.service                                                                     1      -        -        -        -
/system.slice/irqbalance.service                                                                   1      -        -        -        -
/system.slice/libvirtd.service                                                                     3      -        -        -        -
/system.slice/lightdm.service                                                                      3      -        -        -        -
/system.slice/lvm2-lvmetad.service                                                                 1      -        -        -        -
/system.slice/mcelog.service                                                                       1      -        -        -        -
/system.slice/polkit.service                                                                       1      -        -        -        -
/system.slice/rsyslog.service                                                                      1      -        -        -        -
/system.slice/rtkit-daemon.service                                                                 1      -        -        -        -
/system.slice/smartd.service                                                                       1      -        -        -        -
/system.slice/snmpd.service                                                                        1      -        -        -        -
/system.slice/snmptrapd.service                                                                    1      -        -        -        -
/system.slice/sshd.service                                                                         1      -        -        -        -
/system.slice/systemd-journald.service                                                             1      -        -        -        -
/system.slice/systemd-logind.service                                                               1      -        -        -        -
/system.slice/systemd-udevd.service                                                                1      -        -        -        -

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: управление systemd

Непрочитанное сообщение Olej » 19 фев 2017, 09:38

Код: Выделить всё

[olej@dell etc]$ man systemd.index
SYSTEMD.INDEX(7)                                           systemd.index                                          SYSTEMD.INDEX(7)

NAME
       systemd.index - List all manpages from the systemd project

B
       binfmt.d(5) — Configure additional binary formats for executables at boot
       bootchart.conf(5) — Boot performance analysis graphing tool configuration files
       bootchart.conf.d(5) — Boot performance analysis graphing tool configuration files
       bootctl(1) — Control the firmware and boot manager settings
       bootup(7) — System bootup process
       busctl(1) — Introspect the bus
...
И так по каждой букве алфавита ... уже добрая сотня man-страниц связанных с systemd.

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: управление systemd

Непрочитанное сообщение Olej » 12 мар 2017, 14:43

Хороший краткий справочник в виде таблички Systemd vs SysVinit
Изображение

Аватара пользователя
Olej
Писатель
Сообщения: 21338
Зарегистрирован: 24 сен 2011, 14:22
Откуда: Харьков
Контактная информация:

Re: управление systemd

Непрочитанное сообщение Olej » 12 мар 2017, 18:31

Olej писал(а):
Olej писал(а): Обновлённый вариант - 98 стр. - руководство по sustemd:
systemd для администраторов
Lennart Poettering (автор)
Сергей Пташник (русский перевод)
Советую сохранить:
17 февраля 2017 г.
107 страниц.

Ответить

Вернуться в «Администрирование Linux»

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и 4 гостя