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