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