Difference between revisions of "Systemd"
Helikopter (talk | contribs) |
|||
Line 44: | Line 44: | ||
systemctl enable /etc/systemd/system/hello.service | systemctl enable /etc/systemd/system/hello.service | ||
systemctl start hello.service | systemctl start hello.service | ||
+ | |||
+ | ==Övervaka en service== | ||
+ | Med systemd kan man övervaka en tjänst så att den startas automatiskt om den skulle krasha. | ||
+ | systemctl edit sshd | ||
+ | Skriv sedan in: | ||
+ | [Service] | ||
+ | Restart=always | ||
+ | Spara sedan filen. Den kommer att sparas under '''/etc/systemd/system/sshd.service.d/overrides.conf''' | ||
+ | |||
+ | Vill du ha en delay innan systemd startas tjänsten igen så går det också med: | ||
+ | RestartSecs=30 | ||
+ | |||
+ | Kör sedan en reload: | ||
+ | systemctl daemon-reload | ||
=Journald= | =Journald= |
Revision as of 15:56, 25 June 2017
Systemd är ett init-system och en service-hanterare för linux och är påväg att bli standard. Det grundläggande syftet med ett init-system är att initiera de komponenter som måste startas efter att Linuxkärnan har startat. Init-systemet används också för att hantera tjänster och demoner för servern medan systemet är igång. Den är redan default hanterare i de flesta stora linux-distar.
Default sedan:
Debian 8
Ubuntu 15.04
Fedora 15
RHEL 7
CentOS 7
Contents
Installera
Verfierat på Debian 7(wheezy)
apt-get update apt-get install systemd systemd-sysv reboot
Titta på senaste uppstart grafiskt. Testa detta, seriöst det är coolt!
systemd-analyze plot > plot.svg
Systemctl
Systemctl är det centrala verktyget för att kontrollera init-systemet. Systemctl ersätter service och chkconfig.
Grundfunktioner
systemctl start sshd systemctl stop sshd systemctl reload sshd systemctl restart sshd
Status
systemctl status sshd
Autostarta en service
systemctl enable sshd systemctl disable sshd
Lista alla aktiva enheter
systemctl
Lista alla enheter
systemctl list-units --all
OBS .service behöver inte skrivas ut, det läggs till efter tjänsten automatiskt
Fler kommandon
systemctl show sshd.service systemctl list-dependencies sshd.service
Lägga till egna services
Under /etc/systemd/system
kan man lägga till egna services som man vill hantera med systemd.
För att säga till systemd att skapa en symlänk och starta din service skriv,
systemctl enable /etc/systemd/system/hello.service systemctl start hello.service
Övervaka en service
Med systemd kan man övervaka en tjänst så att den startas automatiskt om den skulle krasha.
systemctl edit sshd
Skriv sedan in:
[Service] Restart=always
Spara sedan filen. Den kommer att sparas under /etc/systemd/system/sshd.service.d/overrides.conf
Vill du ha en delay innan systemd startas tjänsten igen så går det också med:
RestartSecs=30
Kör sedan en reload:
systemctl daemon-reload
Journald
Journald är en systemd-komponent som har hand om loggar från applikationer och kärna. Kommandot man använder är journalctl. Kör igenom dessa för att bilda dig en uppfattning av vad de gör och hur de fungerar.
journalctl journalctl -k journalctl -u nginx.service journalctl -u nginx.service --since today journalctl _PID=8088 journalctl --disk-usage
Networkd
systemctl start systemd-networkd networkctl networkctl status
Nspawn
Systemd-nspawn är en container manager som är inbyggd i systemd.
Debian
apt-get install -y dbus debootstrap bridge-utils debootstrap --arch=amd64 jessie /var/lib/machines/container1/ systemd-nspawn -D /var/lib/machines/container1/ --machine first_container -b
OBS med denna setup delas network namespace med värdhosten. Annars måste man skapa en brygga och koppla containern till den.
systemd-nspawn -D /var/lib/machines/container1/ --machine second_container --network-bridge=my-bridge -b
Kolla containers
machinectl machinectl status first_container machinectl login first_container