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