]> git.ipfire.org Git - thirdparty/systemd.git/blame - docs/TRANSIENT-SETTINGS.md
man: fix typo 'ot' -> 'or'
[thirdparty/systemd.git] / docs / TRANSIENT-SETTINGS.md
CommitLineData
c3e270f4 1---
b35ec8de 2title: What Settings Are Currently Available For Transient Units?
4cdca0af 3category: Interfaces
b41a3f66 4layout: default
0aff7b75 5SPDX-License-Identifier: LGPL-2.1-or-later
c3e270f4
FB
6---
7
b35ec8de 8# What Settings Are Currently Available For Transient Units?
91d2f195
LP
9
10Our intention is to make all settings that are available as unit file settings
b096d14c
ZJS
11also available for transient units, through the D-Bus API. At the moment,
12device, swap, and target units are not supported at all as transient units, but
13others are pretty well supported.
91d2f195
LP
14
15The lists below contain all settings currently available in unit files. The
16ones currently available in transient units are prefixed with `✓`.
17
18## Generic Unit Settings
19
c0d64e0e 20Most generic unit settings are available for transient units.
91d2f195
LP
21
22```
23✓ Description=
c0d64e0e
YW
24✓ Documentation=
25✓ SourcePath=
91d2f195
LP
26✓ Requires=
27✓ Requisite=
28✓ Wants=
29✓ BindsTo=
30✓ Conflicts=
31✓ Before=
32✓ After=
33✓ OnFailure=
34✓ PropagatesReloadTo=
35✓ ReloadPropagatedFrom=
36✓ PartOf=
adc1b76c 37✓ Upholds=
c0d64e0e
YW
38✓ JoinsNamespaceOf=
39✓ RequiresMountsFor=
40✓ StopWhenUnneeded=
41✓ RefuseManualStart=
42✓ RefuseManualStop=
43✓ AllowIsolate=
91d2f195 44✓ DefaultDependencies=
c0d64e0e
YW
45✓ OnFailureJobMode=
46✓ IgnoreOnIsolate=
47✓ JobTimeoutSec=
48✓ JobRunningTimeoutSec=
49✓ JobTimeoutAction=
50✓ JobTimeoutRebootArgument=
370f0dc8
ZJS
51✓ StartLimitIntervalSec=
52✓ StartLimitBurst=
53✓ StartLimitAction=
91d2f195
LP
54✓ FailureAction=
55✓ SuccessAction=
7af67e9a
LP
56✓ FailureActionExitStatus=
57✓ SuccessActionExitStatus=
370f0dc8 58✓ RebootArgument=
c0d64e0e
YW
59✓ ConditionPathExists=
60✓ ConditionPathExistsGlob=
61✓ ConditionPathIsDirectory=
62✓ ConditionPathIsSymbolicLink=
63✓ ConditionPathIsMountPoint=
64✓ ConditionPathIsReadWrite=
65✓ ConditionDirectoryNotEmpty=
66✓ ConditionFileNotEmpty=
67✓ ConditionFileIsExecutable=
68✓ ConditionNeedsUpdate=
69✓ ConditionFirstBoot=
70✓ ConditionKernelCommandLine=
71✓ ConditionKernelVersion=
72✓ ConditionArchitecture=
cbcdcaaa 73✓ ConditionFirmware=
c0d64e0e
YW
74✓ ConditionVirtualization=
75✓ ConditionSecurity=
76✓ ConditionCapability=
77✓ ConditionHost=
78✓ ConditionACPower=
79✓ ConditionUser=
80✓ ConditionGroup=
81✓ ConditionControlGroupController=
82✓ AssertPathExists=
83✓ AssertPathExistsGlob=
84✓ AssertPathIsDirectory=
85✓ AssertPathIsSymbolicLink=
86✓ AssertPathIsMountPoint=
87✓ AssertPathIsReadWrite=
88✓ AssertDirectoryNotEmpty=
89✓ AssertFileNotEmpty=
90✓ AssertFileIsExecutable=
91✓ AssertNeedsUpdate=
92✓ AssertFirstBoot=
93✓ AssertKernelCommandLine=
94✓ AssertKernelVersion=
95✓ AssertArchitecture=
96✓ AssertVirtualization=
97✓ AssertSecurity=
98✓ AssertCapability=
99✓ AssertHost=
100✓ AssertACPower=
101✓ AssertUser=
102✓ AssertGroup=
103✓ AssertControlGroupController=
91d2f195
LP
104✓ CollectMode=
105```
106
107## Execution-Related Settings
108
109All execution-related settings are available for transient units.
110
111```
112✓ WorkingDirectory=
113✓ RootDirectory=
114✓ RootImage=
115✓ User=
116✓ Group=
117✓ SupplementaryGroups=
118✓ Nice=
119✓ OOMScoreAdjust=
ad21e542 120✓ CoredumpFilter=
91d2f195
LP
121✓ IOSchedulingClass=
122✓ IOSchedulingPriority=
123✓ CPUSchedulingPolicy=
124✓ CPUSchedulingPriority=
125✓ CPUSchedulingResetOnFork=
126✓ CPUAffinity=
127✓ UMask=
128✓ Environment=
129✓ EnvironmentFile=
130✓ PassEnvironment=
131✓ UnsetEnvironment=
132✓ DynamicUser=
133✓ RemoveIPC=
134✓ StandardInput=
135✓ StandardOutput=
136✓ StandardError=
137✓ StandardInputText=
138✓ StandardInputData=
139✓ TTYPath=
140✓ TTYReset=
141✓ TTYVHangup=
142✓ TTYVTDisallocate=
51462135
DDM
143✓ TTYRows=
144✓ TTYColumns=
91d2f195
LP
145✓ SyslogIdentifier=
146✓ SyslogFacility=
147✓ SyslogLevel=
148✓ SyslogLevelPrefix=
149✓ LogLevelMax=
150✓ LogExtraFields=
523ea123 151✓ LogFilterPatterns=
90fc172e
AZ
152✓ LogRateLimitIntervalSec=
153✓ LogRateLimitBurst=
91d2f195
LP
154✓ SecureBits=
155✓ CapabilityBoundingSet=
156✓ AmbientCapabilities=
157✓ TimerSlackNSec=
158✓ NoNewPrivileges=
159✓ KeyringMode=
4e399953
LP
160✓ ProtectProc=
161✓ ProcSubset=
91d2f195
LP
162✓ SystemCallFilter=
163✓ SystemCallArchitectures=
164✓ SystemCallErrorNumber=
9df2cdd8 165✓ SystemCallLog=
91d2f195
LP
166✓ MemoryDenyWriteExecute=
167✓ RestrictNamespaces=
168✓ RestrictRealtime=
7445db6e 169✓ RestrictSUIDSGID=
91d2f195 170✓ RestrictAddressFamilies=
830ffbce
YW
171✓ RootHash=
172✓ RootHashSignature=
173✓ RootVerity=
91d2f195
LP
174✓ LockPersonality=
175✓ LimitCPU=
176✓ LimitFSIZE=
177✓ LimitDATA=
178✓ LimitSTACK=
179✓ LimitCORE=
180✓ LimitRSS=
181✓ LimitNOFILE=
182✓ LimitAS=
183✓ LimitNPROC=
184✓ LimitMEMLOCK=
185✓ LimitLOCKS=
186✓ LimitSIGPENDING=
187✓ LimitMSGQUEUE=
188✓ LimitNICE=
189✓ LimitRTPRIO=
190✓ LimitRTTIME=
191✓ ReadWritePaths=
192✓ ReadOnlyPaths=
193✓ InaccessiblePaths=
194✓ BindPaths=
195✓ BindReadOnlyPaths=
24743efe 196✓ TemporaryFileSystem=
91d2f195
LP
197✓ PrivateTmp=
198✓ PrivateDevices=
31f06f56 199✓ PrivateMounts=
91d2f195
LP
200✓ ProtectKernelTunables=
201✓ ProtectKernelModules=
b096d14c 202✓ ProtectKernelLogs=
91d2f195
LP
203✓ ProtectControlGroups=
204✓ PrivateNetwork=
205✓ PrivateUsers=
206✓ ProtectSystem=
207✓ ProtectHome=
022d3345 208✓ ProtectClock=
91d2f195
LP
209✓ MountFlags=
210✓ MountAPIVFS=
211✓ Personality=
212✓ RuntimeDirectoryPreserve=
213✓ RuntimeDirectoryMode=
214✓ RuntimeDirectory=
215✓ StateDirectoryMode=
216✓ StateDirectory=
217✓ CacheDirectoryMode=
218✓ CacheDirectory=
219✓ LogsDirectoryMode=
220✓ LogsDirectory=
221✓ ConfigurationDirectoryMode=
222✓ ConfigurationDirectory=
223✓ PAMName=
224✓ IgnoreSIGPIPE=
225✓ UtmpIdentifier=
226✓ UtmpMode=
227✓ SELinuxContext=
228✓ SmackProcessLabel=
229✓ AppArmorProfile=
230✓ Slice=
231```
232
233## Resource Control Settings
234
235All cgroup/resource control settings are available for transient units
236
237```
238✓ CPUAccounting=
239✓ CPUWeight=
240✓ StartupCPUWeight=
241✓ CPUShares=
242✓ StartupCPUShares=
243✓ CPUQuota=
10f28641 244✓ CPUQuotaPeriodSec=
047f5d63 245✓ AllowedCPUs=
c93a7d4a 246✓ StartupAllowedCPUs=
047f5d63 247✓ AllowedMemoryNodes=
c93a7d4a 248✓ StartupAllowedMemoryNodes=
91d2f195 249✓ MemoryAccounting=
acdb4b52 250✓ DefaultMemoryMin=
48422635 251✓ MemoryMin=
c52db42b 252✓ DefaultMemoryLow=
91d2f195
LP
253✓ MemoryLow=
254✓ MemoryHigh=
255✓ MemoryMax=
256✓ MemorySwapMax=
257✓ MemoryLimit=
258✓ DeviceAllow=
259✓ DevicePolicy=
260✓ IOAccounting=
261✓ IOWeight=
262✓ StartupIOWeight=
263✓ IODeviceWeight=
264✓ IOReadBandwidthMax=
265✓ IOWriteBandwidthMax=
266✓ IOReadIOPSMax=
267✓ IOWriteIOPSMax=
268✓ BlockIOAccounting=
269✓ BlockIOWeight=
270✓ StartupBlockIOWeight=
271✓ BlockIODeviceWeight=
272✓ BlockIOReadBandwidth=
273✓ BlockIOWriteBandwidth=
274✓ TasksAccounting=
275✓ TasksMax=
276✓ Delegate=
25cc30c4 277✓ DisableControllers=
91d2f195
LP
278✓ IPAccounting=
279✓ IPAddressAllow=
280✓ IPAddressDeny=
4d824a4e
AZ
281✓ ManagedOOMSwap=
282✓ ManagedOOMMemoryPressure=
0a9f9344 283✓ ManagedOOMMemoryPressureLimit=
4e806bfa 284✓ ManagedOOMPreference=
cfc015f0 285✓ CoredumpReceive=
91d2f195
LP
286```
287
288## Process Killing Settings
289
290All process killing settings are available for transient units:
291
292```
293✓ SendSIGKILL=
294✓ SendSIGHUP=
295✓ KillMode=
296✓ KillSignal=
b096d14c 297✓ RestartKillSignal=
fbb48d4c 298✓ FinalKillSignal=
c87700a1 299✓ WatchdogSignal=
91d2f195
LP
300```
301
302## Service Unit Settings
303
c0d64e0e 304Most service unit settings are available for transient units.
91d2f195
LP
305
306```
830ffbce 307✓ BusName=
31cd5f63 308✓ ExecCondition=
830ffbce 309✓ ExecReload=
91d2f195
LP
310✓ ExecStart=
311✓ ExecStartPost=
830ffbce 312✓ ExecStartPre=
91d2f195
LP
313✓ ExecStop=
314✓ ExecStopPost=
596e4470 315✓ ExitType=
830ffbce 316✓ FileDescriptorStoreMax=
c0d64e0e 317✓ GuessMainPID=
91d2f195 318✓ NonBlocking=
91d2f195 319✓ NotifyAccess=
830ffbce
YW
320✓ OOMPolicy=
321✓ PIDFile=
322✓ RemainAfterExit=
323✓ Restart=
324✓ RestartForceExitStatus=
325✓ RestartPreventExitStatus=
326✓ RestartSec=
327✓ RootDirectoryStartOnly=
328✓ RuntimeMaxSec=
5918a933 329✓ RuntimeRandomizedExtraSec=
91d2f195 330 Sockets=
830ffbce
YW
331✓ SuccessExitStatus=
332✓ TimeoutAbortSec=
333✓ TimeoutSec=
334✓ TimeoutStartFailureMode=
335✓ TimeoutStartSec=
336✓ TimeoutStopFailureMode=
337✓ TimeoutStopSec=
338✓ Type=
c0d64e0e
YW
339✓ USBFunctionDescriptors=
340✓ USBFunctionStrings=
830ffbce 341✓ WatchdogSec=
91d2f195
LP
342```
343
344## Mount Unit Settings
345
c0d64e0e 346All mount unit settings are available to transient units:
91d2f195
LP
347
348```
349✓ What=
c0d64e0e 350✓ Where=
91d2f195
LP
351✓ Options=
352✓ Type=
c0d64e0e
YW
353✓ TimeoutSec=
354✓ DirectoryMode=
355✓ SloppyOptions=
356✓ LazyUnmount=
357✓ ForceUnmount=
75f4bd7f 358✓ ReadWriteOnly=
91d2f195
LP
359```
360
361## Automount Unit Settings
362
c0d64e0e 363All automount unit setting is available to transient units:
91d2f195
LP
364
365```
c0d64e0e
YW
366✓ Where=
367✓ DirectoryMode=
91d2f195
LP
368✓ TimeoutIdleSec=
369```
370
371## Timer Unit Settings
372
373Most timer unit settings are available to transient units.
374
375```
91d2f195
LP
376✓ OnActiveSec=
377✓ OnBootSec=
efebb613
LP
378✓ OnCalendar=
379✓ OnClockChange=
91d2f195 380✓ OnStartupSec=
0810e396 381✓ OnTimezoneChange=
91d2f195
LP
382✓ OnUnitActiveSec=
383✓ OnUnitInactiveSec=
d852bda1 384✓ Persistent=
91d2f195
LP
385✓ WakeSystem=
386✓ RemainAfterElapse=
387✓ AccuracySec=
388✓ RandomizedDelaySec=
acf24a1a 389✓ FixedRandomDelay=
91d2f195
LP
390 Unit=
391```
392
393## Slice Unit Settings
394
395Slice units are fully supported as transient units, but they have no settings
396of their own beyond the generic unit and resource control settings.
397
398## Scope Unit Settings
399
400Scope units are fully supported as transient units (in fact they only exist as
c0d64e0e
YW
401such).
402
403```
9ed7de60 404✓ RuntimeMaxSec=
5918a933 405✓ RuntimeRandomizedExtraSec=
c0d64e0e
YW
406✓ TimeoutStopSec=
407```
91d2f195
LP
408
409## Socket Unit Settings
410
8a211c8e 411Most socket unit settings are available to transient units.
91d2f195
LP
412
413```
8a211c8e
YW
414✓ ListenStream=
415✓ ListenDatagram=
416✓ ListenSequentialPacket=
417✓ ListenFIFO=
418✓ ListenNetlink=
419✓ ListenSpecial=
420✓ ListenMessageQueue=
421✓ ListenUSBFunction=
422✓ SocketProtocol=
423✓ BindIPv6Only=
424✓ Backlog=
425✓ BindToDevice=
426✓ ExecStartPre=
427✓ ExecStartPost=
428✓ ExecStopPre=
429✓ ExecStopPost=
430✓ TimeoutSec=
431✓ SocketUser=
432✓ SocketGroup=
433✓ SocketMode=
434✓ DirectoryMode=
435✓ Accept=
3e5f04bf 436✓ FlushPending=
8a211c8e
YW
437✓ Writable=
438✓ MaxConnections=
439✓ MaxConnectionsPerSource=
440✓ KeepAlive=
441✓ KeepAliveTimeSec=
442✓ KeepAliveIntervalSec=
443✓ KeepAliveProbes=
444✓ DeferAcceptSec=
445✓ NoDelay=
446✓ Priority=
447✓ ReceiveBuffer=
448✓ SendBuffer=
449✓ IPTOS=
450✓ IPTTL=
451✓ Mark=
452✓ PipeSize=
453✓ FreeBind=
454✓ Transparent=
455✓ Broadcast=
456✓ PassCredentials=
457✓ PassSecurity=
a3d19f5d 458✓ PassPacketInfo=
8a211c8e
YW
459✓ TCPCongestion=
460✓ ReusePort=
461✓ MessageQueueMaxMessages=
462✓ MessageQueueMessageSize=
463✓ RemoveOnStop=
464✓ Symlinks=
465✓ FileDescriptorName=
91d2f195 466 Service=
8a211c8e
YW
467✓ TriggerLimitIntervalSec=
468✓ TriggerLimitBurst=
469✓ SmackLabel=
470✓ SmackLabelIPIn=
471✓ SmackLabelIPOut=
472✓ SELinuxContextFromNet=
91d2f195
LP
473```
474
475## Swap Unit Settings
476
477Swap units are currently not available at all as transient units:
478
479```
480 What=
481 Priority=
482 Options=
483 TimeoutSec=
484```
485
486## Path Unit Settings
487
d852bda1 488Most path unit settings are available to transient units.
91d2f195
LP
489
490```
d852bda1
YW
491✓ PathExists=
492✓ PathExistsGlob=
493✓ PathChanged=
494✓ PathModified=
495✓ DirectoryNotEmpty=
91d2f195 496 Unit=
d852bda1
YW
497✓ MakeDirectory=
498✓ DirectoryMode=
91d2f195
LP
499```
500
501## Install Section
502
503The `[Install]` section is currently not available at all for transient units, and it probably doesn't even make sense.
504
505```
506 Alias=
507 WantedBy=
508 RequiredBy=
509 Also=
510 DefaultInstance=
511```