]> git.proxmox.com Git - systemd.git/blob - docs/TRANSIENT-SETTINGS.md
New upstream version 249~rc1
[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 ✓ ExitType=
308 ✓ FileDescriptorStoreMax=
309 ✓ GuessMainPID=
310 ✓ NonBlocking=
311 ✓ NotifyAccess=
312 ✓ OOMPolicy=
313 ✓ PIDFile=
314 ✓ RemainAfterExit=
315 ✓ Restart=
316 ✓ RestartForceExitStatus=
317 ✓ RestartPreventExitStatus=
318 ✓ RestartSec=
319 ✓ RootDirectoryStartOnly=
320 ✓ RuntimeMaxSec=
321 Sockets=
322 ✓ SuccessExitStatus=
323 ✓ TimeoutAbortSec=
324 ✓ TimeoutSec=
325 ✓ TimeoutStartFailureMode=
326 ✓ TimeoutStartSec=
327 ✓ TimeoutStopFailureMode=
328 ✓ TimeoutStopSec=
329 ✓ Type=
330 ✓ USBFunctionDescriptors=
331 ✓ USBFunctionStrings=
332 ✓ WatchdogSec=
333 ```
334
335 ## Mount Unit Settings
336
337 All mount unit settings are available to transient units:
338
339 ```
340 ✓ What=
341 ✓ Where=
342 ✓ Options=
343 ✓ Type=
344 ✓ TimeoutSec=
345 ✓ DirectoryMode=
346 ✓ SloppyOptions=
347 ✓ LazyUnmount=
348 ✓ ForceUnmount=
349 ✓ ReadWriteOnly=
350 ```
351
352 ## Automount Unit Settings
353
354 All automount unit setting is available to transient units:
355
356 ```
357 ✓ Where=
358 ✓ DirectoryMode=
359 ✓ TimeoutIdleSec=
360 ```
361
362 ## Timer Unit Settings
363
364 Most timer unit settings are available to transient units.
365
366 ```
367 ✓ OnActiveSec=
368 ✓ OnBootSec=
369 ✓ OnCalendar=
370 ✓ OnClockChange=
371 ✓ OnStartupSec=
372 ✓ OnTimezoneChange=
373 ✓ OnUnitActiveSec=
374 ✓ OnUnitInactiveSec=
375 ✓ Persistent=
376 ✓ WakeSystem=
377 ✓ RemainAfterElapse=
378 ✓ AccuracySec=
379 ✓ RandomizedDelaySec=
380 ✓ FixedRandomDelay=
381 Unit=
382 ```
383
384 ## Slice Unit Settings
385
386 Slice units are fully supported as transient units, but they have no settings
387 of their own beyond the generic unit and resource control settings.
388
389 ## Scope Unit Settings
390
391 Scope units are fully supported as transient units (in fact they only exist as
392 such).
393
394 ```
395 ✓ RuntimeMaxSec=
396 ✓ TimeoutStopSec=
397 ```
398
399 ## Socket Unit Settings
400
401 Most socket unit settings are available to transient units.
402
403 ```
404 ✓ ListenStream=
405 ✓ ListenDatagram=
406 ✓ ListenSequentialPacket=
407 ✓ ListenFIFO=
408 ✓ ListenNetlink=
409 ✓ ListenSpecial=
410 ✓ ListenMessageQueue=
411 ✓ ListenUSBFunction=
412 ✓ SocketProtocol=
413 ✓ BindIPv6Only=
414 ✓ Backlog=
415 ✓ BindToDevice=
416 ✓ ExecStartPre=
417 ✓ ExecStartPost=
418 ✓ ExecStopPre=
419 ✓ ExecStopPost=
420 ✓ TimeoutSec=
421 ✓ SocketUser=
422 ✓ SocketGroup=
423 ✓ SocketMode=
424 ✓ DirectoryMode=
425 ✓ Accept=
426 ✓ FlushPending=
427 ✓ Writable=
428 ✓ MaxConnections=
429 ✓ MaxConnectionsPerSource=
430 ✓ KeepAlive=
431 ✓ KeepAliveTimeSec=
432 ✓ KeepAliveIntervalSec=
433 ✓ KeepAliveProbes=
434 ✓ DeferAcceptSec=
435 ✓ NoDelay=
436 ✓ Priority=
437 ✓ ReceiveBuffer=
438 ✓ SendBuffer=
439 ✓ IPTOS=
440 ✓ IPTTL=
441 ✓ Mark=
442 ✓ PipeSize=
443 ✓ FreeBind=
444 ✓ Transparent=
445 ✓ Broadcast=
446 ✓ PassCredentials=
447 ✓ PassSecurity=
448 ✓ PassPacketInfo=
449 ✓ TCPCongestion=
450 ✓ ReusePort=
451 ✓ MessageQueueMaxMessages=
452 ✓ MessageQueueMessageSize=
453 ✓ RemoveOnStop=
454 ✓ Symlinks=
455 ✓ FileDescriptorName=
456 Service=
457 ✓ TriggerLimitIntervalSec=
458 ✓ TriggerLimitBurst=
459 ✓ SmackLabel=
460 ✓ SmackLabelIPIn=
461 ✓ SmackLabelIPOut=
462 ✓ SELinuxContextFromNet=
463 ```
464
465 ## Swap Unit Settings
466
467 Swap units are currently not available at all as transient units:
468
469 ```
470 What=
471 Priority=
472 Options=
473 TimeoutSec=
474 ```
475
476 ## Path Unit Settings
477
478 Most path unit settings are available to transient units.
479
480 ```
481 ✓ PathExists=
482 ✓ PathExistsGlob=
483 ✓ PathChanged=
484 ✓ PathModified=
485 ✓ DirectoryNotEmpty=
486 Unit=
487 ✓ MakeDirectory=
488 ✓ DirectoryMode=
489 ```
490
491 ## Install Section
492
493 The `[Install]` section is currently not available at all for transient units, and it probably doesn't even make sense.
494
495 ```
496 Alias=
497 WantedBy=
498 RequiredBy=
499 Also=
500 DefaultInstance=
501 ```