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