]> git.proxmox.com Git - systemd.git/blame - doc/TRANSIENT-SETTINGS.md
New upstream version 239
[systemd.git] / doc / TRANSIENT-SETTINGS.md
CommitLineData
52ad194e
MB
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
1d42b86d
MB
5unit types (device, swap, target) are not supported at all via unit types,
6but most others are pretty well supported, with some notable omissions.
52ad194e
MB
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
1d42b86d 13Most generic unit settings are available for transient units.
52ad194e
MB
14
15```
16✓ Description=
1d42b86d
MB
17✓ Documentation=
18✓ SourcePath=
52ad194e
MB
19✓ Requires=
20✓ Requisite=
21✓ Wants=
22✓ BindsTo=
23✓ Conflicts=
24✓ Before=
25✓ After=
26✓ OnFailure=
27✓ PropagatesReloadTo=
28✓ ReloadPropagatedFrom=
29✓ PartOf=
1d42b86d
MB
30✓ JoinsNamespaceOf=
31✓ RequiresMountsFor=
32✓ StopWhenUnneeded=
33✓ RefuseManualStart=
34✓ RefuseManualStop=
35✓ AllowIsolate=
52ad194e 36✓ DefaultDependencies=
1d42b86d
MB
37✓ OnFailureJobMode=
38✓ IgnoreOnIsolate=
39✓ JobTimeoutSec=
40✓ JobRunningTimeoutSec=
41✓ JobTimeoutAction=
42✓ JobTimeoutRebootArgument=
43✓ StartLimitIntervalSec=SECONDS
44✓ StartLimitBurst=UNSIGNED
45✓ StartLimitAction=ACTION
52ad194e
MB
46✓ FailureAction=
47✓ SuccessAction=
48✓ AddRef=
1d42b86d
MB
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=
52ad194e
MB
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=
98393f85 173✓ TemporaryFileSystem=
52ad194e
MB
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
1d42b86d 261Most service unit settings are available for transient units.
52ad194e
MB
262
263```
1d42b86d 264✓ PIDFile=
52ad194e
MB
265✓ ExecStartPre=
266✓ ExecStart=
267✓ ExecStartPost=
268✓ ExecReload=
269✓ ExecStop=
270✓ ExecStopPost=
1d42b86d
MB
271✓ RestartSec=
272✓ TimeoutStartSec=
273✓ TimeoutStopSec=
274✓ TimeoutSec=
52ad194e 275✓ RuntimeMaxSec=
1d42b86d 276✓ WatchdogSec=
52ad194e
MB
277✓ Type=
278✓ Restart=
1d42b86d
MB
279✓ PermissionsStartOnly=
280✓ RootDirectoryStartOnly=
52ad194e 281✓ RemainAfterExit=
1d42b86d
MB
282✓ GuessMainPID=
283✓ RestartPreventExitStatus=
284✓ RestartForceExitStatus=
285✓ SuccessExitStatus=
52ad194e 286✓ NonBlocking=
1d42b86d 287✓ BusName=
52ad194e
MB
288✓ FileDescriptorStoreMax=
289✓ NotifyAccess=
290 Sockets=
1d42b86d
MB
291✓ USBFunctionDescriptors=
292✓ USBFunctionStrings=
52ad194e
MB
293```
294
295## Mount Unit Settings
296
1d42b86d 297All mount unit settings are available to transient units:
52ad194e
MB
298
299```
300✓ What=
1d42b86d 301✓ Where=
52ad194e
MB
302✓ Options=
303✓ Type=
1d42b86d
MB
304✓ TimeoutSec=
305✓ DirectoryMode=
306✓ SloppyOptions=
307✓ LazyUnmount=
308✓ ForceUnmount=
52ad194e
MB
309```
310
311## Automount Unit Settings
312
1d42b86d 313All automount unit setting is available to transient units:
52ad194e
MB
314
315```
1d42b86d
MB
316✓ Where=
317✓ DirectoryMode=
52ad194e
MB
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=
1d42b86d 332✓ Persistent=
52ad194e
MB
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
1d42b86d
MB
348such).
349
350```
351✓ TimeoutStopSec=
352```
52ad194e
MB
353
354## Socket Unit Settings
355
1d42b86d 356Most socket unit settings are available to transient units.
52ad194e
MB
357
358```
1d42b86d
MB
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=
52ad194e 409 Service=
1d42b86d
MB
410✓ TriggerLimitIntervalSec=
411✓ TriggerLimitBurst=
412✓ SmackLabel=
413✓ SmackLabelIPIn=
414✓ SmackLabelIPOut=
415✓ SELinuxContextFromNet=
52ad194e
MB
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
1d42b86d 431Most path unit settings are available to transient units.
52ad194e
MB
432
433```
1d42b86d
MB
434✓ PathExists=
435✓ PathExistsGlob=
436✓ PathChanged=
437✓ PathModified=
438✓ DirectoryNotEmpty=
52ad194e 439 Unit=
1d42b86d
MB
440✓ MakeDirectory=
441✓ DirectoryMode=
52ad194e
MB
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```