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