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