]> git.ipfire.org Git - thirdparty/systemd.git/blob - docs/TRANSIENT-SETTINGS.md
Merge pull request #12378 from rbalint/vt-kbd-reset-check
[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 ✓ RestrictSUIDSGID=
159 ✓ RestrictAddressFamilies=
160 ✓ LockPersonality=
161 ✓ LimitCPU=
162 ✓ LimitFSIZE=
163 ✓ LimitDATA=
164 ✓ LimitSTACK=
165 ✓ LimitCORE=
166 ✓ LimitRSS=
167 ✓ LimitNOFILE=
168 ✓ LimitAS=
169 ✓ LimitNPROC=
170 ✓ LimitMEMLOCK=
171 ✓ LimitLOCKS=
172 ✓ LimitSIGPENDING=
173 ✓ LimitMSGQUEUE=
174 ✓ LimitNICE=
175 ✓ LimitRTPRIO=
176 ✓ LimitRTTIME=
177 ✓ ReadWritePaths=
178 ✓ ReadOnlyPaths=
179 ✓ InaccessiblePaths=
180 ✓ BindPaths=
181 ✓ BindReadOnlyPaths=
182 ✓ TemporaryFileSystem=
183 ✓ PrivateTmp=
184 ✓ PrivateDevices=
185 ✓ PrivateMounts=
186 ✓ ProtectKernelTunables=
187 ✓ ProtectKernelModules=
188 ✓ ProtectControlGroups=
189 ✓ PrivateNetwork=
190 ✓ PrivateUsers=
191 ✓ ProtectSystem=
192 ✓ ProtectHome=
193 ✓ MountFlags=
194 ✓ MountAPIVFS=
195 ✓ Personality=
196 ✓ RuntimeDirectoryPreserve=
197 ✓ RuntimeDirectoryMode=
198 ✓ RuntimeDirectory=
199 ✓ StateDirectoryMode=
200 ✓ StateDirectory=
201 ✓ CacheDirectoryMode=
202 ✓ CacheDirectory=
203 ✓ LogsDirectoryMode=
204 ✓ LogsDirectory=
205 ✓ ConfigurationDirectoryMode=
206 ✓ ConfigurationDirectory=
207 ✓ PAMName=
208 ✓ IgnoreSIGPIPE=
209 ✓ UtmpIdentifier=
210 ✓ UtmpMode=
211 ✓ SELinuxContext=
212 ✓ SmackProcessLabel=
213 ✓ AppArmorProfile=
214 ✓ Slice=
215 ```
216
217 ## Resource Control Settings
218
219 All cgroup/resource control settings are available for transient units
220
221 ```
222 ✓ CPUAccounting=
223 ✓ CPUWeight=
224 ✓ StartupCPUWeight=
225 ✓ CPUShares=
226 ✓ StartupCPUShares=
227 ✓ CPUQuota=
228 ✓ CPUQuotaPeriodSec=
229 ✓ MemoryAccounting=
230 ✓ DefaultMemoryMin=
231 ✓ MemoryMin=
232 ✓ DefaultMemoryLow=
233 ✓ MemoryLow=
234 ✓ MemoryHigh=
235 ✓ MemoryMax=
236 ✓ MemorySwapMax=
237 ✓ MemoryLimit=
238 ✓ DeviceAllow=
239 ✓ DevicePolicy=
240 ✓ IOAccounting=
241 ✓ IOWeight=
242 ✓ StartupIOWeight=
243 ✓ IODeviceWeight=
244 ✓ IOReadBandwidthMax=
245 ✓ IOWriteBandwidthMax=
246 ✓ IOReadIOPSMax=
247 ✓ IOWriteIOPSMax=
248 ✓ BlockIOAccounting=
249 ✓ BlockIOWeight=
250 ✓ StartupBlockIOWeight=
251 ✓ BlockIODeviceWeight=
252 ✓ BlockIOReadBandwidth=
253 ✓ BlockIOWriteBandwidth=
254 ✓ TasksAccounting=
255 ✓ TasksMax=
256 ✓ Delegate=
257 ✓ DisableControllers=
258 ✓ IPAccounting=
259 ✓ IPAddressAllow=
260 ✓ IPAddressDeny=
261 ```
262
263 ## Process Killing Settings
264
265 All process killing settings are available for transient units:
266
267 ```
268 ✓ SendSIGKILL=
269 ✓ SendSIGHUP=
270 ✓ KillMode=
271 ✓ KillSignal=
272 ✓ FinalKillSignal=
273 ✓ WatchdogSignal=
274 ```
275
276 ## Service Unit Settings
277
278 Most service unit settings are available for transient units.
279
280 ```
281 ✓ PIDFile=
282 ✓ ExecStartPre=
283 ✓ ExecStart=
284 ✓ ExecStartPost=
285 ✓ ExecReload=
286 ✓ ExecStop=
287 ✓ ExecStopPost=
288 ✓ RestartSec=
289 ✓ TimeoutStartSec=
290 ✓ TimeoutStopSec=
291 ✓ TimeoutAbortSec=
292 ✓ TimeoutSec=
293 ✓ RuntimeMaxSec=
294 ✓ WatchdogSec=
295 ✓ Type=
296 ✓ Restart=
297 ✓ RootDirectoryStartOnly=
298 ✓ RemainAfterExit=
299 ✓ GuessMainPID=
300 ✓ RestartPreventExitStatus=
301 ✓ RestartForceExitStatus=
302 ✓ SuccessExitStatus=
303 ✓ NonBlocking=
304 ✓ BusName=
305 ✓ FileDescriptorStoreMax=
306 ✓ NotifyAccess=
307 Sockets=
308 ✓ USBFunctionDescriptors=
309 ✓ USBFunctionStrings=
310 ```
311
312 ## Mount Unit Settings
313
314 All mount unit settings are available to transient units:
315
316 ```
317 ✓ What=
318 ✓ Where=
319 ✓ Options=
320 ✓ Type=
321 ✓ TimeoutSec=
322 ✓ DirectoryMode=
323 ✓ SloppyOptions=
324 ✓ LazyUnmount=
325 ✓ ForceUnmount=
326 ```
327
328 ## Automount Unit Settings
329
330 All automount unit setting is available to transient units:
331
332 ```
333 ✓ Where=
334 ✓ DirectoryMode=
335 ✓ TimeoutIdleSec=
336 ```
337
338 ## Timer Unit Settings
339
340 Most timer unit settings are available to transient units.
341
342 ```
343 ✓ OnActiveSec=
344 ✓ OnBootSec=
345 ✓ OnCalendar=
346 ✓ OnClockChange=
347 ✓ OnStartupSec=
348 ✓ OnTimezoneChange
349 ✓ OnUnitActiveSec=
350 ✓ OnUnitInactiveSec=
351 ✓ Persistent=
352 ✓ WakeSystem=
353 ✓ RemainAfterElapse=
354 ✓ AccuracySec=
355 ✓ RandomizedDelaySec=
356 Unit=
357 ```
358
359 ## Slice Unit Settings
360
361 Slice units are fully supported as transient units, but they have no settings
362 of their own beyond the generic unit and resource control settings.
363
364 ## Scope Unit Settings
365
366 Scope units are fully supported as transient units (in fact they only exist as
367 such).
368
369 ```
370 ✓ TimeoutStopSec=
371 ```
372
373 ## Socket Unit Settings
374
375 Most socket unit settings are available to transient units.
376
377 ```
378 ✓ ListenStream=
379 ✓ ListenDatagram=
380 ✓ ListenSequentialPacket=
381 ✓ ListenFIFO=
382 ✓ ListenNetlink=
383 ✓ ListenSpecial=
384 ✓ ListenMessageQueue=
385 ✓ ListenUSBFunction=
386 ✓ SocketProtocol=
387 ✓ BindIPv6Only=
388 ✓ Backlog=
389 ✓ BindToDevice=
390 ✓ ExecStartPre=
391 ✓ ExecStartPost=
392 ✓ ExecStopPre=
393 ✓ ExecStopPost=
394 ✓ TimeoutSec=
395 ✓ SocketUser=
396 ✓ SocketGroup=
397 ✓ SocketMode=
398 ✓ DirectoryMode=
399 ✓ Accept=
400 ✓ Writable=
401 ✓ MaxConnections=
402 ✓ MaxConnectionsPerSource=
403 ✓ KeepAlive=
404 ✓ KeepAliveTimeSec=
405 ✓ KeepAliveIntervalSec=
406 ✓ KeepAliveProbes=
407 ✓ DeferAcceptSec=
408 ✓ NoDelay=
409 ✓ Priority=
410 ✓ ReceiveBuffer=
411 ✓ SendBuffer=
412 ✓ IPTOS=
413 ✓ IPTTL=
414 ✓ Mark=
415 ✓ PipeSize=
416 ✓ FreeBind=
417 ✓ Transparent=
418 ✓ Broadcast=
419 ✓ PassCredentials=
420 ✓ PassSecurity=
421 ✓ TCPCongestion=
422 ✓ ReusePort=
423 ✓ MessageQueueMaxMessages=
424 ✓ MessageQueueMessageSize=
425 ✓ RemoveOnStop=
426 ✓ Symlinks=
427 ✓ FileDescriptorName=
428 Service=
429 ✓ TriggerLimitIntervalSec=
430 ✓ TriggerLimitBurst=
431 ✓ SmackLabel=
432 ✓ SmackLabelIPIn=
433 ✓ SmackLabelIPOut=
434 ✓ SELinuxContextFromNet=
435 ```
436
437 ## Swap Unit Settings
438
439 Swap units are currently not available at all as transient units:
440
441 ```
442 What=
443 Priority=
444 Options=
445 TimeoutSec=
446 ```
447
448 ## Path Unit Settings
449
450 Most path unit settings are available to transient units.
451
452 ```
453 ✓ PathExists=
454 ✓ PathExistsGlob=
455 ✓ PathChanged=
456 ✓ PathModified=
457 ✓ DirectoryNotEmpty=
458 Unit=
459 ✓ MakeDirectory=
460 ✓ DirectoryMode=
461 ```
462
463 ## Install Section
464
465 The `[Install]` section is currently not available at all for transient units, and it probably doesn't even make sense.
466
467 ```
468 Alias=
469 WantedBy=
470 RequiredBy=
471 Also=
472 DefaultInstance=
473 ```