Systemd: Difference between revisions

From DWIKI
mNo edit summary
 
(17 intermediate revisions by the same user not shown)
Line 1: Line 1:


 
 


= Documentation =
= Documentation =
Line 15: Line 16:
*[[https://blog.darknedgy.net/technology/2020/05/02/0/index.html#tech-critique https://blog.darknedgy.net/technology/2020/05/02/0/index.html#tech-critique]  
*[[https://blog.darknedgy.net/technology/2020/05/02/0/index.html#tech-critique https://blog.darknedgy.net/technology/2020/05/02/0/index.html#tech-critique]  
*[https://mohsensy.github.io/sysadmin/2018/08/19/systemd-service-tutorial.html Systemd service tutorial]  
*[https://mohsensy.github.io/sysadmin/2018/08/19/systemd-service-tutorial.html Systemd service tutorial]  
 
*[https://www.freedesktop.org/wiki/Software/systemd/dbus/ https://www.freedesktop.org/wiki/Software/systemd/dbus/ Systemd and dbus]
([https://www.thegeekdiary.com/how-to-boot-into-rescue-mode-or-emergency-mode-through-systemd-in-centos-rhel-7-and-8/ Single user/emergency]
*[https://www.thegeekdiary.com/how-to-boot-into-rescue-mode-or-emergency-mode-through-systemd-in-centos-rhel-7-and-8/ Single user/emergency]


= Locations =
= Locations =
Line 28: Line 29:


= HOWTO =
= HOWTO =
==systemctl verbose==
SYSTEMD_LOG_LEVEL=debug systemctl start yourservice
==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 33: Line 45:
*[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 45: Line 57:
  systemctl list-timers --all
  systemctl list-timers --all


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


  systemctl enable fstrim.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 =
= FAQ =
==Fix journal size==
journalctl --vacuum-time=10d
or
journalctl --vacuum-size=1G


== Analyze boot processes ==
== Analyze boot processes ==
Line 61: Line 84:
  systemd-analyze blame
  systemd-analyze blame


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


== Systemd and DNS ==
== Systemd and DNS ==


  resolvectl status
  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:
Restart:
Line 74: Line 110:
        
        
        
        
 


=== Add nameserver ===
=== Add nameserver ===
Line 82: Line 120:


=== Flush caches ===
=== Flush caches ===
 
# thing from the past?
  systemd-resolve --flush-caches
  systemd-resolve --flush-caches


Line 118: Line 156:


  systemctl daemon-reexec
  systemctl daemon-reexec
==Status==
=== Active: inactive (dead) ===
parameter ActiveState would return inactive
SubState returns dead

Latest revision as of 16:30, 21 November 2024

 


Documentation

Locations

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

 


HOWTO

systemctl verbose

SYSTEMD_LOG_LEVEL=debug systemctl start yourservice

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

  1. thing from the past?
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