]> git.ipfire.org Git - thirdparty/systemd.git/blame - docs/TRANSIENT-SETTINGS.md
Merge pull request #11827 from keszybz/pkgconfig-variables
[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=
10f28641 227✓ CPUQuotaPeriodSec=
91d2f195 228✓ MemoryAccounting=
48422635 229✓ MemoryMin=
91d2f195
LP
230✓ MemoryLow=
231✓ MemoryHigh=
232✓ MemoryMax=
233✓ MemorySwapMax=
234✓ MemoryLimit=
235✓ DeviceAllow=
236✓ DevicePolicy=
237✓ IOAccounting=
238✓ IOWeight=
239✓ StartupIOWeight=
240✓ IODeviceWeight=
241✓ IOReadBandwidthMax=
242✓ IOWriteBandwidthMax=
243✓ IOReadIOPSMax=
244✓ IOWriteIOPSMax=
245✓ BlockIOAccounting=
246✓ BlockIOWeight=
247✓ StartupBlockIOWeight=
248✓ BlockIODeviceWeight=
249✓ BlockIOReadBandwidth=
250✓ BlockIOWriteBandwidth=
251✓ TasksAccounting=
252✓ TasksMax=
253✓ Delegate=
254✓ IPAccounting=
255✓ IPAddressAllow=
256✓ IPAddressDeny=
257```
258
259## Process Killing Settings
260
261All process killing settings are available for transient units:
262
263```
264✓ SendSIGKILL=
265✓ SendSIGHUP=
266✓ KillMode=
267✓ KillSignal=
fbb48d4c 268✓ FinalKillSignal=
c87700a1 269✓ WatchdogSignal=
91d2f195
LP
270```
271
272## Service Unit Settings
273
c0d64e0e 274Most service unit settings are available for transient units.
91d2f195
LP
275
276```
c0d64e0e 277✓ PIDFile=
91d2f195
LP
278✓ ExecStartPre=
279✓ ExecStart=
280✓ ExecStartPost=
281✓ ExecReload=
282✓ ExecStop=
283✓ ExecStopPost=
c0d64e0e
YW
284✓ RestartSec=
285✓ TimeoutStartSec=
286✓ TimeoutStopSec=
287✓ TimeoutSec=
91d2f195 288✓ RuntimeMaxSec=
c0d64e0e 289✓ WatchdogSec=
91d2f195
LP
290✓ Type=
291✓ Restart=
c0d64e0e 292✓ RootDirectoryStartOnly=
91d2f195 293✓ RemainAfterExit=
c0d64e0e
YW
294✓ GuessMainPID=
295✓ RestartPreventExitStatus=
296✓ RestartForceExitStatus=
297✓ SuccessExitStatus=
91d2f195 298✓ NonBlocking=
c0d64e0e 299✓ BusName=
91d2f195
LP
300✓ FileDescriptorStoreMax=
301✓ NotifyAccess=
302 Sockets=
c0d64e0e
YW
303✓ USBFunctionDescriptors=
304✓ USBFunctionStrings=
91d2f195
LP
305```
306
307## Mount Unit Settings
308
c0d64e0e 309All mount unit settings are available to transient units:
91d2f195
LP
310
311```
312✓ What=
c0d64e0e 313✓ Where=
91d2f195
LP
314✓ Options=
315✓ Type=
c0d64e0e
YW
316✓ TimeoutSec=
317✓ DirectoryMode=
318✓ SloppyOptions=
319✓ LazyUnmount=
320✓ ForceUnmount=
91d2f195
LP
321```
322
323## Automount Unit Settings
324
c0d64e0e 325All automount unit setting is available to transient units:
91d2f195
LP
326
327```
c0d64e0e
YW
328✓ Where=
329✓ DirectoryMode=
91d2f195
LP
330✓ TimeoutIdleSec=
331```
332
333## Timer Unit Settings
334
335Most timer unit settings are available to transient units.
336
337```
338✓ OnCalendar=
339✓ OnActiveSec=
340✓ OnBootSec=
341✓ OnStartupSec=
342✓ OnUnitActiveSec=
343✓ OnUnitInactiveSec=
d852bda1 344✓ Persistent=
91d2f195
LP
345✓ WakeSystem=
346✓ RemainAfterElapse=
347✓ AccuracySec=
348✓ RandomizedDelaySec=
349 Unit=
350```
351
352## Slice Unit Settings
353
354Slice units are fully supported as transient units, but they have no settings
355of their own beyond the generic unit and resource control settings.
356
357## Scope Unit Settings
358
359Scope units are fully supported as transient units (in fact they only exist as
c0d64e0e
YW
360such).
361
362```
363✓ TimeoutStopSec=
364```
91d2f195
LP
365
366## Socket Unit Settings
367
8a211c8e 368Most socket unit settings are available to transient units.
91d2f195
LP
369
370```
8a211c8e
YW
371✓ ListenStream=
372✓ ListenDatagram=
373✓ ListenSequentialPacket=
374✓ ListenFIFO=
375✓ ListenNetlink=
376✓ ListenSpecial=
377✓ ListenMessageQueue=
378✓ ListenUSBFunction=
379✓ SocketProtocol=
380✓ BindIPv6Only=
381✓ Backlog=
382✓ BindToDevice=
383✓ ExecStartPre=
384✓ ExecStartPost=
385✓ ExecStopPre=
386✓ ExecStopPost=
387✓ TimeoutSec=
388✓ SocketUser=
389✓ SocketGroup=
390✓ SocketMode=
391✓ DirectoryMode=
392✓ Accept=
393✓ Writable=
394✓ MaxConnections=
395✓ MaxConnectionsPerSource=
396✓ KeepAlive=
397✓ KeepAliveTimeSec=
398✓ KeepAliveIntervalSec=
399✓ KeepAliveProbes=
400✓ DeferAcceptSec=
401✓ NoDelay=
402✓ Priority=
403✓ ReceiveBuffer=
404✓ SendBuffer=
405✓ IPTOS=
406✓ IPTTL=
407✓ Mark=
408✓ PipeSize=
409✓ FreeBind=
410✓ Transparent=
411✓ Broadcast=
412✓ PassCredentials=
413✓ PassSecurity=
414✓ TCPCongestion=
415✓ ReusePort=
416✓ MessageQueueMaxMessages=
417✓ MessageQueueMessageSize=
418✓ RemoveOnStop=
419✓ Symlinks=
420✓ FileDescriptorName=
91d2f195 421 Service=
8a211c8e
YW
422✓ TriggerLimitIntervalSec=
423✓ TriggerLimitBurst=
424✓ SmackLabel=
425✓ SmackLabelIPIn=
426✓ SmackLabelIPOut=
427✓ SELinuxContextFromNet=
91d2f195
LP
428```
429
430## Swap Unit Settings
431
432Swap units are currently not available at all as transient units:
433
434```
435 What=
436 Priority=
437 Options=
438 TimeoutSec=
439```
440
441## Path Unit Settings
442
d852bda1 443Most path unit settings are available to transient units.
91d2f195
LP
444
445```
d852bda1
YW
446✓ PathExists=
447✓ PathExistsGlob=
448✓ PathChanged=
449✓ PathModified=
450✓ DirectoryNotEmpty=
91d2f195 451 Unit=
d852bda1
YW
452✓ MakeDirectory=
453✓ DirectoryMode=
91d2f195
LP
454```
455
456## Install Section
457
458The `[Install]` section is currently not available at all for transient units, and it probably doesn't even make sense.
459
460```
461 Alias=
462 WantedBy=
463 RequiredBy=
464 Also=
465 DefaultInstance=
466```