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