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