]> git.ipfire.org Git - thirdparty/systemd.git/blob - docs/TRANSIENT-SETTINGS.md
Merge pull request #16096 from poettering/journal-hash-fix
[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 ✓ PassPacketInfo=
433 ✓ TCPCongestion=
434 ✓ ReusePort=
435 ✓ MessageQueueMaxMessages=
436 ✓ MessageQueueMessageSize=
437 ✓ RemoveOnStop=
438 ✓ Symlinks=
439 ✓ FileDescriptorName=
440 Service=
441 ✓ TriggerLimitIntervalSec=
442 ✓ TriggerLimitBurst=
443 ✓ SmackLabel=
444 ✓ SmackLabelIPIn=
445 ✓ SmackLabelIPOut=
446 ✓ SELinuxContextFromNet=
447 ```
448
449 ## Swap Unit Settings
450
451 Swap units are currently not available at all as transient units:
452
453 ```
454 What=
455 Priority=
456 Options=
457 TimeoutSec=
458 ```
459
460 ## Path Unit Settings
461
462 Most path unit settings are available to transient units.
463
464 ```
465 ✓ PathExists=
466 ✓ PathExistsGlob=
467 ✓ PathChanged=
468 ✓ PathModified=
469 ✓ DirectoryNotEmpty=
470 Unit=
471 ✓ MakeDirectory=
472 ✓ DirectoryMode=
473 ```
474
475 ## Install Section
476
477 The `[Install]` section is currently not available at all for transient units, and it probably doesn't even make sense.
478
479 ```
480 Alias=
481 WantedBy=
482 RequiredBy=
483 Also=
484 DefaultInstance=
485 ```