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