Systemd: Difference between revisions

From DWIKI
 
(9 intermediate revisions by the same user not shown)
Line 29: Line 29:


= HOWTO =
= HOWTO =
==Services==
===List enabled services===
See https://www.baeldung.com/linux/systemctl-list-enabled-services
systemctl list-unit-files --state=enabled
===Edit systemd service file===
systemctl edit --full my.service


== Timers ==
== Timers ==
Line 34: Line 43:
*[https://opensource.com/article/20/7/systemd-timers https://opensource.com/article/20/7/systemd-timers]  
*[https://opensource.com/article/20/7/systemd-timers https://opensource.com/article/20/7/systemd-timers]  
*[https://wiki.archlinux.org/title/Systemd/Timers https://wiki.archlinux.org/title/Systemd/Timers]  
*[https://wiki.archlinux.org/title/Systemd/Timers https://wiki.archlinux.org/title/Systemd/Timers]  
 
*https://linuxhint.com/cron_systemd_timer/ also about random time
  man systemd.timer
  man systemd.timer


Line 46: Line 55:
  systemctl list-timers --all
  systemctl list-timers --all


=== Create timer ===
=== Enable timer ===


  systemctl enable fstrim.timer
  systemctl enable fstrim.timer
Line 62: Line 71:
And to get an email when service gets restarted: https://dev.to/setevoy/linux-systemd-unit-files-edit-restart-on-failure-and-email-notifications-5h3k
And to get an email when service gets restarted: https://dev.to/setevoy/linux-systemd-unit-files-edit-restart-on-failure-and-email-notifications-5h3k


= FAQ =


== Fix journal size ==
==Logs==
 
===View systemd logs===
journalctl --vacuum-time=10d
  journalctl -u postfix
 
or
 
journalctl --vacuum-size=1G
 
===Journal settings===
/etc/systemd/journald.conf
SystemMaxUse=1G
and then
  systemctl restart systemd-journald.service


= FAQ =


== Analyze boot processes ==
== Analyze boot processes ==
Line 83: Line 82:
  systemd-analyze blame
  systemd-analyze blame


 
== gateway4 has been deprecated ==
Using routes:
routes:
- to: default
  via: 192.168.1.1


 
== Systemd and DNS ==


 
resolvectl status


== Systemd and DNS ==


  resolvectl status
===Change nameserversers resolvectl uses===
====On Ubuntu====
Edit the netplan file
  netplan generate
netplan apply


=== Failed to get global data: Unit dbus-org.freedesktop.resolve1.service not found. ===
=== Failed to get global data: Unit dbus-org.freedesktop.resolve1.service not found. ===

Latest revision as of 22:19, 10 December 2023

 


Documentation

Locations

/etc/systemd
/usr/lib/systemd/
/lib/systemd

 


HOWTO

Services

List enabled services

See https://www.baeldung.com/linux/systemctl-list-enabled-services

systemctl list-unit-files --state=enabled

Edit systemd service file

systemctl edit --full my.service

Timers

man systemd.timer

List active timers

systemctl list-timers


List all timers

systemctl list-timers --all

Enable timer

systemctl enable fstrim.timer

Auto restart crashed services

systemctl edit elasticsearch.service 

add:

[Service]
Restart=always

then

systemctl daemon-reload
systemctl restart elasticsearch.service

And to get an email when service gets restarted: https://dev.to/setevoy/linux-systemd-unit-files-edit-restart-on-failure-and-email-notifications-5h3k


Logs

View systemd logs

journalctl -u postfix

FAQ

Analyze boot processes

systemd-analyze blame

gateway4 has been deprecated

Using routes:

routes:
- to: default
  via: 192.168.1.1

Systemd and DNS

resolvectl status


Change nameserversers resolvectl uses

On Ubuntu

Edit the netplan file

netplan generate
netplan apply

Failed to get global data: Unit dbus-org.freedesktop.resolve1.service not found.

Means systemd-resolved is not running

Restart:

systemctl restart systemd-resolved
      
      

 

Add nameserver

Sacrifice a chicken

 

Flush caches

systemd-resolve --flush-caches

All status

systemctl status -a

syslog spam

https://psyq123.wordpress.com/2015/06/29/if-you-get-a-lot-of-logspam-from-systemd-in-your-varlogsyslog-this-might-help/

list available services

systemctl list-unit-files

or

systemctl list-units

 

normal interface names

net.ifnames=0

Show failed services

systemctl --failed

 

systemd: Started Session

Change loglevel to notice in /etc/systemd/system.conf

systemctl daemon-reexec

Status

Active: inactive (dead)

parameter ActiveState would return inactive

SubState returns dead