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