Versions systemd
Ce document récapitule les versions minimales de systemd nécessaires pour chaque fonctionnalité documentée.
Vérifier votre version
systemctl --version
# Ou
systemd --version
Services
Type de service
| Option | Version | Notes |
Type=simple | systemd 1+ | Toutes versions |
Type=forking | systemd 1+ | Toutes versions |
Type=oneshot | systemd 1+ | Toutes versions |
Type=notify | systemd 1+ | Toutes versions |
Type=dbus | systemd 1+ | Toutes versions |
Type=idle | systemd 189+ | |
Type=notify-reload | systemd 249+ | Notification lors du reload |
Type=exec | systemd 240+ | Attend après execve() |
Options de sécurité
| Option | Version | Notes |
NoNewPrivileges= | systemd 187+ | |
PrivateTmp= | systemd 183+ | |
PrivateDevices= | systemd 186+ | |
PrivateNetwork= | systemd 186+ | |
ProtectSystem= | systemd 214+ | |
ProtectHome= | systemd 214+ | |
ReadOnlyPaths= | systemd 214+ | |
ReadWritePaths= | systemd 214+ | |
InaccessiblePaths= | systemd 214+ | |
ProtectKernelTunables= | systemd 232+ | |
ProtectKernelModules= | systemd 232+ | |
ProtectControlGroups= | systemd 232+ | |
ProtectKernelLogs= | systemd 244+ | |
ProtectHostname= | systemd 242+ | |
ProtectClock= | systemd 245+ | |
ProtectProc= | systemd 247+ | Nécessite Linux 5.8+ |
ProcSubset= | systemd 247+ | Nécessite Linux 5.8+ |
PrivateUsers= | systemd 232+ | |
PrivateIPC= | systemd 232+ | |
DynamicUser= | systemd 232+ | |
StateDirectory= | systemd 235+ | |
CacheDirectory= | systemd 235+ | |
LogsDirectory= | systemd 235+ | |
ConfigurationDirectory= | systemd 235+ | |
RuntimeDirectory= | systemd 211+ | |
Limitations ressources
| Option | Version | Notes |
MemoryLimit= | systemd 208+ | Obsolète, utiliser MemoryMax |
MemoryMax= | systemd 231+ | Nécessite cgroups v2 |
MemoryHigh= | systemd 231+ | Nécessite cgroups v2 |
MemoryMin= | systemd 240+ | Nécessite cgroups v2 |
MemoryLow= | systemd 231+ | Nécessite cgroups v2 |
MemorySwapMax= | systemd 232+ | Nécessite cgroups v2 |
CPUQuota= | systemd 213+ | |
CPUWeight= | systemd 232+ | Nécessite cgroups v2 |
CPUShares= | systemd 208+ | Obsolète (cgroups v1) |
TasksMax= | systemd 227+ | |
IOWeight= | systemd 232+ | Nécessite cgroups v2 |
IOReadBandwidthMax= | systemd 232+ | Nécessite cgroups v2 |
IOWriteBandwidthMax= | systemd 232+ | Nécessite cgroups v2 |
IOReadIOPSMax= | systemd 232+ | Nécessite cgroups v2 |
IOWriteIOPSMax= | systemd 232+ | Nécessite cgroups v2 |
Réseau
| Option | Version | Notes |
RestrictAddressFamilies= | systemd 211+ | |
IPAccounting= | systemd 235+ | Nécessite cgroups v2 |
IPAddressAllow= | systemd 239+ | Nécessite cgroups v2 |
IPAddressDeny= | systemd 239+ | Nécessite cgroups v2 |
Seccomp
| Option | Version | Notes |
SystemCallFilter= | systemd 187+ | |
SystemCallErrorNumber= | systemd 209+ | |
SystemCallArchitectures= | systemd 209+ | |
SystemCallLog= | systemd 247+ | |
Restrictions
| Option | Version | Notes |
LockPersonality= | systemd 232+ | |
MemoryDenyWriteExecute= | systemd 231+ | |
RestrictRealtime= | systemd 231+ | |
RestrictSUIDSGID= | systemd 242+ | |
RestrictNamespaces= | systemd 233+ | |
Capabilities
| Option | Version | Notes |
CapabilityBoundingSet= | systemd 187+ | |
AmbientCapabilities= | systemd 229+ | Nécessite Linux 4.3+ |
Timers
| Option | Version | Notes |
OnCalendar= | systemd 197+ | |
OnBootSec= | systemd 197+ | |
OnStartupSec= | systemd 197+ | |
OnUnitActiveSec= | systemd 197+ | |
OnUnitInactiveSec= | systemd 197+ | |
Persistent= | systemd 212+ | |
RandomizedDelaySec= | systemd 229+ | |
FixedRandomDelay= | systemd 247+ | |
OnClockChange= | systemd 242+ | |
OnTimezoneChange= | systemd 242+ | |
Sockets
| Option | Version | Notes |
ListenStream= | systemd 1+ | |
ListenDatagram= | systemd 1+ | |
ListenSequentialPacket= | systemd 1+ | |
ListenFIFO= | systemd 1+ | |
ListenNetlink= | systemd 1+ | |
Accept= | systemd 1+ | |
MaxConnections= | systemd 1+ | |
SocketUser= | systemd 206+ | |
SocketGroup= | systemd 206+ | |
TriggerLimitBurst= | systemd 230+ | |
TriggerLimitIntervalSec= | systemd 230+ | |
Mount
| Option | Version | Notes |
What= | systemd 1+ | |
Where= | systemd 1+ | |
Type= | systemd 1+ | |
Options= | systemd 1+ | |
TimeoutSec= | systemd 1+ | |
DirectoryMode= | systemd 1+ | |
SloppyOptions= | systemd 215+ | |
Path
| Option | Version | Notes |
PathExists= | systemd 1+ | |
PathExistsGlob= | systemd 1+ | |
PathChanged= | systemd 1+ | |
PathModified= | systemd 1+ | |
DirectoryNotEmpty= | systemd 1+ | |
MakeDirectory= | systemd 1+ | |
DirectoryMode= | systemd 1+ | |
TriggerLimitBurst= | systemd 230+ | |
TriggerLimitIntervalSec= | systemd 230+ | |
Slices et Cgroups
| Option | Version | Cgroups |
CPUAccounting= | systemd 208+ | v1 et v2 |
MemoryAccounting= | systemd 208+ | v1 et v2 |
TasksAccounting= | systemd 227+ | v2 |
IOAccounting= | systemd 232+ | v2 |
IPAccounting= | systemd 235+ | v2 |
Journal
| Option | Version | Notes |
Storage= | systemd 1+ | |
Compress= | systemd 1+ | |
Seal= | systemd 189+ | |
SystemMaxUse= | systemd 1+ | |
ForwardToSyslog= | systemd 1+ | |
MaxLevelStore= | systemd 232+ | |
MaxRetentionSec= | systemd 1+ | |
MaxFileSec= | systemd 1+ | |
RateLimitIntervalSec= | systemd 1+ | |
RateLimitBurst= | systemd 1+ | |
Commandes journalctl
| Option | Version | Notes |
journalctl | systemd 1+ | |
--since / --until | systemd 1+ | |
--vacuum-time | systemd 218+ | |
--vacuum-size | systemd 218+ | |
--vacuum-files | systemd 233+ | |
--rotate | systemd 227+ | |
--verify | systemd 189+ | |
--disk-usage | systemd 1+ | |
--list-boots | systemd 1+ | |
-o json | systemd 1+ | |
-o json-pretty | systemd 1+ | |
--grep | systemd 237+ | |
--case-sensitive | systemd 237+ | |
Logind
| Option | Version | Notes |
UserTasksMax= | systemd 230+ | |
KillUserProcesses= | systemd 230+ | |
KillOnlyUsers= | systemd 230+ | |
KillExcludeUsers= | systemd 230+ | |
InhibitDelayMaxSec= | systemd 183+ | |
HandlePowerKey= | systemd 1+ | |
HandleSuspendKey= | systemd 1+ | |
HandleHibernateKey= | systemd 1+ | |
HandleLidSwitch= | systemd 1+ | |
IdleAction= | systemd 198+ | |
IdleActionSec= | systemd 198+ | |
Networkd
| Option | Version | Notes |
[Match] | systemd 210+ | |
[Network] | systemd 210+ | |
[Address] | systemd 210+ | |
[Route] | systemd 210+ | |
DHCP= | systemd 210+ | |
VLAN= | systemd 210+ | |
Bridge= | systemd 210+ | |
Bond= | systemd 216+ | |
IPv6AcceptRA= | systemd 218+ | |
LLDP= | systemd 219+ | |
DHCPv6= | systemd 221+ | |
Resolved
| Option | Version | Notes |
DNS= | systemd 216+ | |
FallbackDNS= | systemd 216+ | |
Domains= | systemd 216+ | |
LLMNR= | systemd 216+ | |
MulticastDNS= | systemd 231+ | |
DNSSEC= | systemd 229+ | |
DNSOverTLS= | systemd 239+ | |
Cache= | systemd 231+ | |
CacheFromLocalhost= | systemd 250+ | |
Versions majeures
systemd 250+ (2021)
- Support cgroups v2 complet
- Améliorations sécurité
- Nouveaux types de service
- Meilleur support conteneurs
systemd 247+ (2020)
ProtectProc=, ProcSubset= FixedRandomDelay= pour timers SystemCallLog= - Améliorations slices
systemd 240+ (2019)
Type=exec MemoryMin= - Améliorations networkd
systemd 235+ (2018)
- Directories gérés (StateDirectory, etc.)
- IPAccounting
- Améliorations journal
systemd 232+ (2017)
- Cgroups v2 support initial
- MemoryMax, CPUWeight, IOWeight
- DynamicUser
- Protection noyau avancée
systemd 230+ (2016)
- UserTasksMax
- TriggerLimit pour sockets/paths
- Améliorations logind
Distributions et versions
| Distribution | Version systemd | Sortie |
| RHEL / CentOS | | |
| RHEL 9 / Rocky 9 | 250+ | 2022 |
| RHEL 8 / Rocky 8 | 239 | 2019 |
| CentOS 7 | 219 | 2015 |
| Debian | | |
| Debian 12 (Bookworm) | 252 | 2023 |
| Debian 11 (Bullseye) | 247 | 2021 |
| Debian 10 (Buster) | 241 | 2019 |
| Ubuntu | | |
| Ubuntu 24.04 LTS | 255 | 2024 |
| Ubuntu 22.04 LTS | 249 | 2022 |
| Ubuntu 20.04 LTS | 245 | 2020 |
| Ubuntu 18.04 LTS | 237 | 2018 |
| Fedora | | |
| Fedora 40 | 255 | 2024 |
| Fedora 38 | 253 | 2023 |
| Fedora 36 | 250 | 2022 |
| Arch Linux | | |
| Arch Linux | Toujours la dernière | Rolling |
| openSUSE | | |
| Leap 15.5 | 249 | 2023 |
| Tumbleweed | Toujours la dernière | Rolling |
Compatibilité cgroups
Beaucoup de fonctionnalités modernes nécessitent cgroups v2 :
- MemoryMax, MemoryHigh, MemoryMin, MemoryLow, MemorySwapMax
- CPUWeight, IOWeight
- IOReadBandwidthMax, IOWriteBandwidthMax
- IPAccounting, IPAddressAllow, IPAddressDeny
Vérifier la version cgroups :
stat -fc %T /sys/fs/cgroup/
# cgroup2fs = cgroups v2 (unified)
# tmpfs = cgroups v1 (legacy)
Activer cgroups v2 (si supporté) :
# Ajouter au kernel cmdline
systemd.unified_cgroup_hierarchy=1
# Ou
cgroup_no_v1=all
Références
Pour toute fonctionnalité non listée, consulter man systemd.directives ou la documentation officielle.