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