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