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