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