Add systemd basics & unit types
This commit is contained in:
parent
f15a12bc4e
commit
ed1184b326
2 changed files with 58 additions and 0 deletions
18
slides.pdfpc
18
slides.pdfpc
|
@ -34,3 +34,21 @@ Lennart Poettering of Pulseaudio fame and Kay Sievers decided to implement a new
|
||||||
### 7
|
### 7
|
||||||
Systemd's design goals
|
Systemd's design goals
|
||||||
### 8
|
### 8
|
||||||
|
No more init scripts with opaque effects -> services are clearly defined units
|
||||||
|
Unit dependencies -> systemd can figure out what can be started in parallel
|
||||||
|
Process supervision: Unit can be configured in many ways, e.g. always restart, only restart on success etc
|
||||||
|
Service logs: We'll talk more about this later
|
||||||
|
### 9
|
||||||
|
Units are the core component of systemd that users deal with. They define services and everything else that systemd needs to start and manage.
|
||||||
|
Note that all these are the names of the respective man page on a system with systemd installed
|
||||||
|
Types:
|
||||||
|
systemd.service - processes controlled by systemd
|
||||||
|
systemd.target - equivalent to "runlevels", grouping of units for synchronisation
|
||||||
|
systemd.timer - more powerful replacement of cron that starts other units
|
||||||
|
systemd.path - systemd equvialent of inotify, watches files/folders -> launches units
|
||||||
|
systemd.socket - expose local IPC or network sockets, launch units on connections
|
||||||
|
systemd.device - trigger units when certain devices are connected
|
||||||
|
systemd.mount - systemd equivalent of fstab entries
|
||||||
|
systemd.swap - like mount
|
||||||
|
systemd.slice - unit groups for resource management purposes
|
||||||
|
... and a few more specialised ones
|
40
slides.tex
40
slides.tex
|
@ -1,6 +1,8 @@
|
||||||
\documentclass[14pt]{beamer}
|
\documentclass[14pt]{beamer}
|
||||||
\usetheme{metropolis}
|
\usetheme{metropolis}
|
||||||
|
|
||||||
|
\newenvironment{code}{\ttfamily}{\par}
|
||||||
|
|
||||||
\title{systemd}
|
\title{systemd}
|
||||||
\subtitle{The standard Linux init system}
|
\subtitle{The standard Linux init system}
|
||||||
|
|
||||||
|
@ -50,6 +52,44 @@
|
||||||
\end{itemize}
|
\end{itemize}
|
||||||
\end{frame}
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}{Systemd - the basics}
|
||||||
|
\begin{itemize}
|
||||||
|
\item No scripts are executed, only declarative units
|
||||||
|
\item Units have explicit dependencies
|
||||||
|
\item Processes are supervised
|
||||||
|
\item cgroups are utilised to apply resource limits
|
||||||
|
\item Service logs are managed and centrally queryable
|
||||||
|
\item Much more!
|
||||||
|
\end{itemize}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}{Systemd units}
|
||||||
|
Units specify how and what to start. Several types exist:
|
||||||
|
\begin{code}
|
||||||
|
\small
|
||||||
|
\begin{columns}[T,onlytextwidth]
|
||||||
|
\column{0.5\textwidth}
|
||||||
|
\begin{itemize}
|
||||||
|
\item systemd.service
|
||||||
|
\item systemd.target
|
||||||
|
\item systemd.timer
|
||||||
|
\item systemd.path
|
||||||
|
\item systemd.socket
|
||||||
|
\end{itemize}
|
||||||
|
\column{0.5\textwidth}
|
||||||
|
\begin{itemize}
|
||||||
|
\item systemd.device
|
||||||
|
\item systemd.mount
|
||||||
|
\item systemd.swap
|
||||||
|
\item systemd.slice
|
||||||
|
\end{itemize}
|
||||||
|
\end{columns}
|
||||||
|
\end{code}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
|
\begin{frame}{}
|
||||||
|
\end{frame}
|
||||||
|
|
||||||
\section{Demo}
|
\section{Demo}
|
||||||
|
|
||||||
\section{Controversies}
|
\section{Controversies}
|
||||||
|
|
Loading…
Reference in a new issue