]> git.ipfire.org Git - thirdparty/systemd.git/blame - docs/TRANSIENT-SETTINGS.md
Merge pull request #14966 from keszybz/journalctl-facilities
[thirdparty/systemd.git] / docs / TRANSIENT-SETTINGS.md
CommitLineData
c3e270f4 1---
b35ec8de 2title: What Settings Are Currently Available For Transient Units?
4cdca0af 3category: Interfaces
b41a3f66 4layout: default
c3e270f4
FB
5---
6
b35ec8de 7# What Settings Are Currently Available For Transient Units?
91d2f195
LP
8
9Our intention is to make all settings that are available as unit file settings
b096d14c
ZJS
10also available for transient units, through the D-Bus API. At the moment,
11device, swap, and target units are not supported at all as transient units, but
12others are pretty well supported.
91d2f195
LP
13
14The lists below contain all settings currently available in unit files. The
15ones currently available in transient units are prefixed with `✓`.
16
17## Generic Unit Settings
18
c0d64e0e 19Most generic unit settings are available for transient units.
91d2f195
LP
20
21```
22✓ Description=
c0d64e0e
YW
23✓ Documentation=
24✓ SourcePath=
91d2f195
LP
25✓ Requires=
26✓ Requisite=
27✓ Wants=
28✓ BindsTo=
29✓ Conflicts=
30✓ Before=
31✓ After=
32✓ OnFailure=
33✓ PropagatesReloadTo=
34✓ ReloadPropagatedFrom=
35✓ PartOf=
c0d64e0e
YW
36✓ JoinsNamespaceOf=
37✓ RequiresMountsFor=
38✓ StopWhenUnneeded=
39✓ RefuseManualStart=
40✓ RefuseManualStop=
41✓ AllowIsolate=
91d2f195 42✓ DefaultDependencies=
c0d64e0e
YW
43✓ OnFailureJobMode=
44✓ IgnoreOnIsolate=
45✓ JobTimeoutSec=
46✓ JobRunningTimeoutSec=
47✓ JobTimeoutAction=
48✓ JobTimeoutRebootArgument=
370f0dc8
ZJS
49✓ StartLimitIntervalSec=
50✓ StartLimitBurst=
51✓ StartLimitAction=
91d2f195
LP
52✓ FailureAction=
53✓ SuccessAction=
7af67e9a
LP
54✓ FailureActionExitStatus=
55✓ SuccessActionExitStatus=
370f0dc8 56✓ RebootArgument=
c0d64e0e
YW
57✓ ConditionPathExists=
58✓ ConditionPathExistsGlob=
59✓ ConditionPathIsDirectory=
60✓ ConditionPathIsSymbolicLink=
61✓ ConditionPathIsMountPoint=
62✓ ConditionPathIsReadWrite=
63✓ ConditionDirectoryNotEmpty=
64✓ ConditionFileNotEmpty=
65✓ ConditionFileIsExecutable=
66✓ ConditionNeedsUpdate=
67✓ ConditionFirstBoot=
68✓ ConditionKernelCommandLine=
69✓ ConditionKernelVersion=
70✓ ConditionArchitecture=
71✓ ConditionVirtualization=
72✓ ConditionSecurity=
73✓ ConditionCapability=
74✓ ConditionHost=
75✓ ConditionACPower=
76✓ ConditionUser=
77✓ ConditionGroup=
78✓ ConditionControlGroupController=
79✓ AssertPathExists=
80✓ AssertPathExistsGlob=
81✓ AssertPathIsDirectory=
82✓ AssertPathIsSymbolicLink=
83✓ AssertPathIsMountPoint=
84✓ AssertPathIsReadWrite=
85✓ AssertDirectoryNotEmpty=
86✓ AssertFileNotEmpty=
87✓ AssertFileIsExecutable=
88✓ AssertNeedsUpdate=
89✓ AssertFirstBoot=
90✓ AssertKernelCommandLine=
91✓ AssertKernelVersion=
92✓ AssertArchitecture=
93✓ AssertVirtualization=
94✓ AssertSecurity=
95✓ AssertCapability=
96✓ AssertHost=
97✓ AssertACPower=
98✓ AssertUser=
99✓ AssertGroup=
100✓ AssertControlGroupController=
91d2f195
LP
101✓ CollectMode=
102```
103
104## Execution-Related Settings
105
106All execution-related settings are available for transient units.
107
108```
109✓ WorkingDirectory=
110✓ RootDirectory=
111✓ RootImage=
112✓ User=
113✓ Group=
114✓ SupplementaryGroups=
115✓ Nice=
116✓ OOMScoreAdjust=
117✓ IOSchedulingClass=
118✓ IOSchedulingPriority=
119✓ CPUSchedulingPolicy=
120✓ CPUSchedulingPriority=
121✓ CPUSchedulingResetOnFork=
122✓ CPUAffinity=
123✓ UMask=
124✓ Environment=
125✓ EnvironmentFile=
126✓ PassEnvironment=
127✓ UnsetEnvironment=
128✓ DynamicUser=
129✓ RemoveIPC=
130✓ StandardInput=
131✓ StandardOutput=
132✓ StandardError=
133✓ StandardInputText=
134✓ StandardInputData=
135✓ TTYPath=
136✓ TTYReset=
137✓ TTYVHangup=
138✓ TTYVTDisallocate=
139✓ SyslogIdentifier=
140✓ SyslogFacility=
141✓ SyslogLevel=
142✓ SyslogLevelPrefix=
143✓ LogLevelMax=
144✓ LogExtraFields=
90fc172e
AZ
145✓ LogRateLimitIntervalSec=
146✓ LogRateLimitBurst=
91d2f195
LP
147✓ SecureBits=
148✓ CapabilityBoundingSet=
149✓ AmbientCapabilities=
150✓ TimerSlackNSec=
151✓ NoNewPrivileges=
152✓ KeyringMode=
153✓ SystemCallFilter=
154✓ SystemCallArchitectures=
155✓ SystemCallErrorNumber=
156✓ MemoryDenyWriteExecute=
157✓ RestrictNamespaces=
158✓ RestrictRealtime=
7445db6e 159✓ RestrictSUIDSGID=
91d2f195
LP
160✓ RestrictAddressFamilies=
161✓ LockPersonality=
162✓ LimitCPU=
163✓ LimitFSIZE=
164✓ LimitDATA=
165✓ LimitSTACK=
166✓ LimitCORE=
167✓ LimitRSS=
168✓ LimitNOFILE=
169✓ LimitAS=
170✓ LimitNPROC=
171✓ LimitMEMLOCK=
172✓ LimitLOCKS=
173✓ LimitSIGPENDING=
174✓ LimitMSGQUEUE=
175✓ LimitNICE=
176✓ LimitRTPRIO=
177✓ LimitRTTIME=
178✓ ReadWritePaths=
179✓ ReadOnlyPaths=
180✓ InaccessiblePaths=
181✓ BindPaths=
182✓ BindReadOnlyPaths=
24743efe 183✓ TemporaryFileSystem=
91d2f195
LP
184✓ PrivateTmp=
185✓ PrivateDevices=
31f06f56 186✓ PrivateMounts=
91d2f195
LP
187✓ ProtectKernelTunables=
188✓ ProtectKernelModules=
b096d14c 189✓ ProtectKernelLogs=
91d2f195
LP
190✓ ProtectControlGroups=
191✓ PrivateNetwork=
192✓ PrivateUsers=
193✓ ProtectSystem=
194✓ ProtectHome=
022d3345 195✓ ProtectClock=
91d2f195
LP
196✓ MountFlags=
197✓ MountAPIVFS=
198✓ Personality=
199✓ RuntimeDirectoryPreserve=
200✓ RuntimeDirectoryMode=
201✓ RuntimeDirectory=
202✓ StateDirectoryMode=
203✓ StateDirectory=
204✓ CacheDirectoryMode=
205✓ CacheDirectory=
206✓ LogsDirectoryMode=
207✓ LogsDirectory=
208✓ ConfigurationDirectoryMode=
209✓ ConfigurationDirectory=
210✓ PAMName=
211✓ IgnoreSIGPIPE=
212✓ UtmpIdentifier=
213✓ UtmpMode=
214✓ SELinuxContext=
215✓ SmackProcessLabel=
216✓ AppArmorProfile=
217✓ Slice=
218```
219
220## Resource Control Settings
221
222All cgroup/resource control settings are available for transient units
223
224```
225✓ CPUAccounting=
226✓ CPUWeight=
227✓ StartupCPUWeight=
228✓ CPUShares=
229✓ StartupCPUShares=
230✓ CPUQuota=
10f28641 231✓ CPUQuotaPeriodSec=
047f5d63
PH
232✓ AllowedCPUs=
233✓ AllowedMemoryNodes=
91d2f195 234✓ MemoryAccounting=
acdb4b52 235✓ DefaultMemoryMin=
48422635 236✓ MemoryMin=
c52db42b 237✓ DefaultMemoryLow=
91d2f195
LP
238✓ MemoryLow=
239✓ MemoryHigh=
240✓ MemoryMax=
241✓ MemorySwapMax=
242✓ MemoryLimit=
243✓ DeviceAllow=
244✓ DevicePolicy=
245✓ IOAccounting=
246✓ IOWeight=
247✓ StartupIOWeight=
248✓ IODeviceWeight=
249✓ IOReadBandwidthMax=
250✓ IOWriteBandwidthMax=
251✓ IOReadIOPSMax=
252✓ IOWriteIOPSMax=
253✓ BlockIOAccounting=
254✓ BlockIOWeight=
255✓ StartupBlockIOWeight=
256✓ BlockIODeviceWeight=
257✓ BlockIOReadBandwidth=
258✓ BlockIOWriteBandwidth=
259✓ TasksAccounting=
260✓ TasksMax=
261✓ Delegate=
25cc30c4 262✓ DisableControllers=
91d2f195
LP
263✓ IPAccounting=
264✓ IPAddressAllow=
265✓ IPAddressDeny=
266```
267
268## Process Killing Settings
269
270All process killing settings are available for transient units:
271
272```
273✓ SendSIGKILL=
274✓ SendSIGHUP=
275✓ KillMode=
276✓ KillSignal=
b096d14c 277✓ RestartKillSignal=
fbb48d4c 278✓ FinalKillSignal=
c87700a1 279✓ WatchdogSignal=
91d2f195
LP
280```
281
282## Service Unit Settings
283
c0d64e0e 284Most service unit settings are available for transient units.
91d2f195
LP
285
286```
c0d64e0e 287✓ PIDFile=
31cd5f63 288✓ ExecCondition=
91d2f195
LP
289✓ ExecStartPre=
290✓ ExecStart=
291✓ ExecStartPost=
292✓ ExecReload=
293✓ ExecStop=
294✓ ExecStopPost=
c0d64e0e
YW
295✓ RestartSec=
296✓ TimeoutStartSec=
297✓ TimeoutStopSec=
dc653bf4 298✓ TimeoutAbortSec=
c0d64e0e 299✓ TimeoutSec=
91d2f195 300✓ RuntimeMaxSec=
c0d64e0e 301✓ WatchdogSec=
91d2f195
LP
302✓ Type=
303✓ Restart=
c0d64e0e 304✓ RootDirectoryStartOnly=
91d2f195 305✓ RemainAfterExit=
c0d64e0e
YW
306✓ GuessMainPID=
307✓ RestartPreventExitStatus=
308✓ RestartForceExitStatus=
309✓ SuccessExitStatus=
91d2f195 310✓ NonBlocking=
c0d64e0e 311✓ BusName=
91d2f195
LP
312✓ FileDescriptorStoreMax=
313✓ NotifyAccess=
314 Sockets=
c0d64e0e
YW
315✓ USBFunctionDescriptors=
316✓ USBFunctionStrings=
b096d14c 317✓ OOMPolicy=
91d2f195
LP
318```
319
320## Mount Unit Settings
321
c0d64e0e 322All mount unit settings are available to transient units:
91d2f195
LP
323
324```
325✓ What=
c0d64e0e 326✓ Where=
91d2f195
LP
327✓ Options=
328✓ Type=
c0d64e0e
YW
329✓ TimeoutSec=
330✓ DirectoryMode=
331✓ SloppyOptions=
332✓ LazyUnmount=
333✓ ForceUnmount=
91d2f195
LP
334```
335
336## Automount Unit Settings
337
c0d64e0e 338All automount unit setting is available to transient units:
91d2f195
LP
339
340```
c0d64e0e
YW
341✓ Where=
342✓ DirectoryMode=
91d2f195
LP
343✓ TimeoutIdleSec=
344```
345
346## Timer Unit Settings
347
348Most timer unit settings are available to transient units.
349
350```
91d2f195
LP
351✓ OnActiveSec=
352✓ OnBootSec=
efebb613
LP
353✓ OnCalendar=
354✓ OnClockChange=
91d2f195 355✓ OnStartupSec=
0810e396 356✓ OnTimezoneChange=
91d2f195
LP
357✓ OnUnitActiveSec=
358✓ OnUnitInactiveSec=
d852bda1 359✓ Persistent=
91d2f195
LP
360✓ WakeSystem=
361✓ RemainAfterElapse=
362✓ AccuracySec=
363✓ RandomizedDelaySec=
364 Unit=
365```
366
367## Slice Unit Settings
368
369Slice units are fully supported as transient units, but they have no settings
370of their own beyond the generic unit and resource control settings.
371
372## Scope Unit Settings
373
374Scope units are fully supported as transient units (in fact they only exist as
c0d64e0e
YW
375such).
376
377```
9ed7de60 378✓ RuntimeMaxSec=
c0d64e0e
YW
379✓ TimeoutStopSec=
380```
91d2f195
LP
381
382## Socket Unit Settings
383
8a211c8e 384Most socket unit settings are available to transient units.
91d2f195
LP
385
386```
8a211c8e
YW
387✓ ListenStream=
388✓ ListenDatagram=
389✓ ListenSequentialPacket=
390✓ ListenFIFO=
391✓ ListenNetlink=
392✓ ListenSpecial=
393✓ ListenMessageQueue=
394✓ ListenUSBFunction=
395✓ SocketProtocol=
396✓ BindIPv6Only=
397✓ Backlog=
398✓ BindToDevice=
399✓ ExecStartPre=
400✓ ExecStartPost=
401✓ ExecStopPre=
402✓ ExecStopPost=
403✓ TimeoutSec=
404✓ SocketUser=
405✓ SocketGroup=
406✓ SocketMode=
407✓ DirectoryMode=
408✓ Accept=
409✓ Writable=
410✓ MaxConnections=
411✓ MaxConnectionsPerSource=
412✓ KeepAlive=
413✓ KeepAliveTimeSec=
414✓ KeepAliveIntervalSec=
415✓ KeepAliveProbes=
416✓ DeferAcceptSec=
417✓ NoDelay=
418✓ Priority=
419✓ ReceiveBuffer=
420✓ SendBuffer=
421✓ IPTOS=
422✓ IPTTL=
423✓ Mark=
424✓ PipeSize=
425✓ FreeBind=
426✓ Transparent=
427✓ Broadcast=
428✓ PassCredentials=
429✓ PassSecurity=
430✓ TCPCongestion=
431✓ ReusePort=
432✓ MessageQueueMaxMessages=
433✓ MessageQueueMessageSize=
434✓ RemoveOnStop=
435✓ Symlinks=
436✓ FileDescriptorName=
91d2f195 437 Service=
8a211c8e
YW
438✓ TriggerLimitIntervalSec=
439✓ TriggerLimitBurst=
440✓ SmackLabel=
441✓ SmackLabelIPIn=
442✓ SmackLabelIPOut=
443✓ SELinuxContextFromNet=
91d2f195
LP
444```
445
446## Swap Unit Settings
447
448Swap units are currently not available at all as transient units:
449
450```
451 What=
452 Priority=
453 Options=
454 TimeoutSec=
455```
456
457## Path Unit Settings
458
d852bda1 459Most path unit settings are available to transient units.
91d2f195
LP
460
461```
d852bda1
YW
462✓ PathExists=
463✓ PathExistsGlob=
464✓ PathChanged=
465✓ PathModified=
466✓ DirectoryNotEmpty=
91d2f195 467 Unit=
d852bda1
YW
468✓ MakeDirectory=
469✓ DirectoryMode=
91d2f195
LP
470```
471
472## Install Section
473
474The `[Install]` section is currently not available at all for transient units, and it probably doesn't even make sense.
475
476```
477 Alias=
478 WantedBy=
479 RequiredBy=
480 Also=
481 DefaultInstance=
482```