mirror of
https://github.com/systemd/systemd.git
synced 2024-11-01 17:51:22 +03:00
448 lines
8.5 KiB
Markdown
448 lines
8.5 KiB
Markdown
|
# What settings are currently available for transient units?
|
||
|
|
||
|
Our intention is to make all settings that are available as unit file settings
|
||
|
also available for transient units, through the D-Bus API. At the moment, some
|
||
|
unit types (socket, swap, path) are not supported at all via unit types, but
|
||
|
most others are pretty well supported, with some notable omissions.
|
||
|
|
||
|
The lists below contain all settings currently available in unit files. The
|
||
|
ones currently available in transient units are prefixed with `✓`.
|
||
|
|
||
|
## Generic Unit Settings
|
||
|
|
||
|
Only the most important generic unit settings are available for transient units.
|
||
|
|
||
|
```
|
||
|
✓ Description=
|
||
|
Documentation=
|
||
|
SourcePath=
|
||
|
✓ Requires=
|
||
|
✓ Requisite=
|
||
|
✓ Wants=
|
||
|
✓ BindsTo=
|
||
|
✓ Conflicts=
|
||
|
✓ Before=
|
||
|
✓ After=
|
||
|
✓ OnFailure=
|
||
|
✓ PropagatesReloadTo=
|
||
|
✓ ReloadPropagatedFrom=
|
||
|
✓ PartOf=
|
||
|
JoinsNamespaceOf=
|
||
|
RequiresMountsFor=
|
||
|
StopWhenUnneeded=
|
||
|
RefuseManualStart=
|
||
|
RefuseManualStop=
|
||
|
AllowIsolate=
|
||
|
✓ DefaultDependencies=
|
||
|
OnFailureJobMode=
|
||
|
OnFailureIsolate=
|
||
|
IgnoreOnIsolate=
|
||
|
JobTimeoutSec=
|
||
|
JobRunningTimeoutSec=
|
||
|
JobTimeoutAction=
|
||
|
JobTimeoutRebootArgument=
|
||
|
StartLimitIntervalSec=SECONDS
|
||
|
StartLimitBurst=UNSIGNED
|
||
|
StartLimitAction=ACTION
|
||
|
✓ FailureAction=
|
||
|
✓ SuccessAction=
|
||
|
✓ AddRef=
|
||
|
RebootArgument=STRING
|
||
|
ConditionPathExists=
|
||
|
ConditionPathExistsGlob=
|
||
|
ConditionPathIsDirectory=
|
||
|
ConditionPathIsSymbolicLink=
|
||
|
ConditionPathIsMountPoint=
|
||
|
ConditionPathIsReadWrite=
|
||
|
ConditionDirectoryNotEmpty=
|
||
|
ConditionFileNotEmpty=
|
||
|
ConditionFileIsExecutable=
|
||
|
ConditionNeedsUpdate=
|
||
|
ConditionFirstBoot=
|
||
|
ConditionKernelCommandLine=
|
||
|
ConditionArchitecture=
|
||
|
ConditionVirtualization=
|
||
|
ConditionSecurity=
|
||
|
ConditionCapability=
|
||
|
ConditionHost=
|
||
|
ConditionACPower=
|
||
|
ConditionUser=
|
||
|
ConditionGroup=
|
||
|
AssertPathExists=
|
||
|
AssertPathExistsGlob=
|
||
|
AssertPathIsDirectory=
|
||
|
AssertPathIsSymbolicLink=
|
||
|
AssertPathIsMountPoint=
|
||
|
AssertPathIsReadWrite=
|
||
|
AssertDirectoryNotEmpty=
|
||
|
AssertFileNotEmpty=
|
||
|
AssertFileIsExecutable=
|
||
|
AssertNeedsUpdate=
|
||
|
AssertFirstBoot=
|
||
|
AssertKernelCommandLine=
|
||
|
AssertArchitecture=
|
||
|
AssertVirtualization=
|
||
|
AssertSecurity=
|
||
|
AssertCapability=
|
||
|
AssertHost=
|
||
|
AssertACPower=
|
||
|
AssertUser=
|
||
|
AssertGroup=
|
||
|
✓ CollectMode=
|
||
|
```
|
||
|
|
||
|
## Execution-Related Settings
|
||
|
|
||
|
All execution-related settings are available for transient units.
|
||
|
|
||
|
```
|
||
|
✓ WorkingDirectory=
|
||
|
✓ RootDirectory=
|
||
|
✓ RootImage=
|
||
|
✓ User=
|
||
|
✓ Group=
|
||
|
✓ SupplementaryGroups=
|
||
|
✓ Nice=
|
||
|
✓ OOMScoreAdjust=
|
||
|
✓ IOSchedulingClass=
|
||
|
✓ IOSchedulingPriority=
|
||
|
✓ CPUSchedulingPolicy=
|
||
|
✓ CPUSchedulingPriority=
|
||
|
✓ CPUSchedulingResetOnFork=
|
||
|
✓ CPUAffinity=
|
||
|
✓ UMask=
|
||
|
✓ Environment=
|
||
|
✓ EnvironmentFile=
|
||
|
✓ PassEnvironment=
|
||
|
✓ UnsetEnvironment=
|
||
|
✓ DynamicUser=
|
||
|
✓ RemoveIPC=
|
||
|
✓ StandardInput=
|
||
|
✓ StandardOutput=
|
||
|
✓ StandardError=
|
||
|
✓ StandardInputText=
|
||
|
✓ StandardInputData=
|
||
|
✓ TTYPath=
|
||
|
✓ TTYReset=
|
||
|
✓ TTYVHangup=
|
||
|
✓ TTYVTDisallocate=
|
||
|
✓ SyslogIdentifier=
|
||
|
✓ SyslogFacility=
|
||
|
✓ SyslogLevel=
|
||
|
✓ SyslogLevelPrefix=
|
||
|
✓ LogLevelMax=
|
||
|
✓ LogExtraFields=
|
||
|
✓ SecureBits=
|
||
|
✓ CapabilityBoundingSet=
|
||
|
✓ AmbientCapabilities=
|
||
|
✓ TimerSlackNSec=
|
||
|
✓ NoNewPrivileges=
|
||
|
✓ KeyringMode=
|
||
|
✓ SystemCallFilter=
|
||
|
✓ SystemCallArchitectures=
|
||
|
✓ SystemCallErrorNumber=
|
||
|
✓ MemoryDenyWriteExecute=
|
||
|
✓ RestrictNamespaces=
|
||
|
✓ RestrictRealtime=
|
||
|
✓ RestrictAddressFamilies=
|
||
|
✓ LockPersonality=
|
||
|
✓ LimitCPU=
|
||
|
✓ LimitFSIZE=
|
||
|
✓ LimitDATA=
|
||
|
✓ LimitSTACK=
|
||
|
✓ LimitCORE=
|
||
|
✓ LimitRSS=
|
||
|
✓ LimitNOFILE=
|
||
|
✓ LimitAS=
|
||
|
✓ LimitNPROC=
|
||
|
✓ LimitMEMLOCK=
|
||
|
✓ LimitLOCKS=
|
||
|
✓ LimitSIGPENDING=
|
||
|
✓ LimitMSGQUEUE=
|
||
|
✓ LimitNICE=
|
||
|
✓ LimitRTPRIO=
|
||
|
✓ LimitRTTIME=
|
||
|
✓ ReadWritePaths=
|
||
|
✓ ReadOnlyPaths=
|
||
|
✓ InaccessiblePaths=
|
||
|
✓ BindPaths=
|
||
|
✓ BindReadOnlyPaths=
|
||
|
✓ PrivateTmp=
|
||
|
✓ PrivateDevices=
|
||
|
✓ ProtectKernelTunables=
|
||
|
✓ ProtectKernelModules=
|
||
|
✓ ProtectControlGroups=
|
||
|
✓ PrivateNetwork=
|
||
|
✓ PrivateUsers=
|
||
|
✓ ProtectSystem=
|
||
|
✓ ProtectHome=
|
||
|
✓ MountFlags=
|
||
|
✓ MountAPIVFS=
|
||
|
✓ Personality=
|
||
|
✓ RuntimeDirectoryPreserve=
|
||
|
✓ RuntimeDirectoryMode=
|
||
|
✓ RuntimeDirectory=
|
||
|
✓ StateDirectoryMode=
|
||
|
✓ StateDirectory=
|
||
|
✓ CacheDirectoryMode=
|
||
|
✓ CacheDirectory=
|
||
|
✓ LogsDirectoryMode=
|
||
|
✓ LogsDirectory=
|
||
|
✓ ConfigurationDirectoryMode=
|
||
|
✓ ConfigurationDirectory=
|
||
|
✓ PAMName=
|
||
|
✓ IgnoreSIGPIPE=
|
||
|
✓ UtmpIdentifier=
|
||
|
✓ UtmpMode=
|
||
|
✓ SELinuxContext=
|
||
|
✓ SmackProcessLabel=
|
||
|
✓ AppArmorProfile=
|
||
|
✓ Slice=
|
||
|
```
|
||
|
|
||
|
## Resource Control Settings
|
||
|
|
||
|
All cgroup/resource control settings are available for transient units
|
||
|
|
||
|
```
|
||
|
✓ CPUAccounting=
|
||
|
✓ CPUWeight=
|
||
|
✓ StartupCPUWeight=
|
||
|
✓ CPUShares=
|
||
|
✓ StartupCPUShares=
|
||
|
✓ CPUQuota=
|
||
|
✓ MemoryAccounting=
|
||
|
✓ MemoryLow=
|
||
|
✓ MemoryHigh=
|
||
|
✓ MemoryMax=
|
||
|
✓ MemorySwapMax=
|
||
|
✓ MemoryLimit=
|
||
|
✓ DeviceAllow=
|
||
|
✓ DevicePolicy=
|
||
|
✓ IOAccounting=
|
||
|
✓ IOWeight=
|
||
|
✓ StartupIOWeight=
|
||
|
✓ IODeviceWeight=
|
||
|
✓ IOReadBandwidthMax=
|
||
|
✓ IOWriteBandwidthMax=
|
||
|
✓ IOReadIOPSMax=
|
||
|
✓ IOWriteIOPSMax=
|
||
|
✓ BlockIOAccounting=
|
||
|
✓ BlockIOWeight=
|
||
|
✓ StartupBlockIOWeight=
|
||
|
✓ BlockIODeviceWeight=
|
||
|
✓ BlockIOReadBandwidth=
|
||
|
✓ BlockIOWriteBandwidth=
|
||
|
✓ TasksAccounting=
|
||
|
✓ TasksMax=
|
||
|
✓ Delegate=
|
||
|
✓ IPAccounting=
|
||
|
✓ IPAddressAllow=
|
||
|
✓ IPAddressDeny=
|
||
|
```
|
||
|
|
||
|
## Process Killing Settings
|
||
|
|
||
|
All process killing settings are available for transient units:
|
||
|
|
||
|
```
|
||
|
✓ SendSIGKILL=
|
||
|
✓ SendSIGHUP=
|
||
|
✓ KillMode=
|
||
|
✓ KillSignal=
|
||
|
```
|
||
|
|
||
|
## Service Unit Settings
|
||
|
|
||
|
Only the most important service settings are available for transient units.
|
||
|
|
||
|
```
|
||
|
PIDFile=
|
||
|
✓ ExecStartPre=
|
||
|
✓ ExecStart=
|
||
|
✓ ExecStartPost=
|
||
|
✓ ExecReload=
|
||
|
✓ ExecStop=
|
||
|
✓ ExecStopPost=
|
||
|
RestartSec=
|
||
|
TimeoutStartSec=
|
||
|
TimeoutStopSec=
|
||
|
TimeoutSec=
|
||
|
✓ RuntimeMaxSec=
|
||
|
WatchdogSec=
|
||
|
✓ Type=
|
||
|
✓ Restart=
|
||
|
PermissionsStartOnly=
|
||
|
RootDirectoryStartOnly=
|
||
|
✓ RemainAfterExit=
|
||
|
GuessMainPID=
|
||
|
RestartPreventExitStatus=
|
||
|
RestartForceExitStatus=
|
||
|
SuccessExitStatus=
|
||
|
✓ NonBlocking=
|
||
|
BusName=
|
||
|
✓ FileDescriptorStoreMax=
|
||
|
✓ NotifyAccess=
|
||
|
Sockets=
|
||
|
USBFunctionDescriptors=
|
||
|
USBFunctionStrings=
|
||
|
```
|
||
|
|
||
|
## Mount Unit Settings
|
||
|
|
||
|
Only the most important mount unit settings are currently available to transient units:
|
||
|
|
||
|
```
|
||
|
✓ What=
|
||
|
Where=
|
||
|
✓ Options=
|
||
|
✓ Type=
|
||
|
TimeoutSec=
|
||
|
DirectoryMode=
|
||
|
SloppyOptions=
|
||
|
LazyUnmount=
|
||
|
ForceUnmount=
|
||
|
```
|
||
|
|
||
|
## Automount Unit Settings
|
||
|
|
||
|
Only one automount unit setting is currently available to transient units:
|
||
|
|
||
|
```
|
||
|
Where=
|
||
|
DirectoryMode=
|
||
|
✓ TimeoutIdleSec=
|
||
|
```
|
||
|
|
||
|
## Timer Unit Settings
|
||
|
|
||
|
Most timer unit settings are available to transient units.
|
||
|
|
||
|
```
|
||
|
✓ OnCalendar=
|
||
|
✓ OnActiveSec=
|
||
|
✓ OnBootSec=
|
||
|
✓ OnStartupSec=
|
||
|
✓ OnUnitActiveSec=
|
||
|
✓ OnUnitInactiveSec=
|
||
|
Persistent=
|
||
|
✓ WakeSystem=
|
||
|
✓ RemainAfterElapse=
|
||
|
✓ AccuracySec=
|
||
|
✓ RandomizedDelaySec=
|
||
|
Unit=
|
||
|
```
|
||
|
|
||
|
## Slice Unit Settings
|
||
|
|
||
|
Slice units are fully supported as transient units, but they have no settings
|
||
|
of their own beyond the generic unit and resource control settings.
|
||
|
|
||
|
## Scope Unit Settings
|
||
|
|
||
|
Scope units are fully supported as transient units (in fact they only exist as
|
||
|
such), but they have no settings of their own beyond the generic unit and
|
||
|
resource control settings.
|
||
|
|
||
|
## Socket Unit Settings
|
||
|
|
||
|
Socket units are currently not available at all as transient units:
|
||
|
|
||
|
```
|
||
|
ListenStream=
|
||
|
ListenDatagram=
|
||
|
ListenSequentialPacket=
|
||
|
ListenFIFO=
|
||
|
ListenNetlink=
|
||
|
ListenSpecial=
|
||
|
ListenMessageQueue=
|
||
|
ListenUSBFunction=
|
||
|
SocketProtocol=
|
||
|
BindIPv6Only=
|
||
|
Backlog=
|
||
|
BindToDevice=
|
||
|
ExecStartPre=
|
||
|
ExecStartPost=
|
||
|
ExecStopPre=
|
||
|
ExecStopPost=
|
||
|
TimeoutSec=
|
||
|
SocketUser=
|
||
|
SocketGroup=
|
||
|
SocketMode=
|
||
|
DirectoryMode=
|
||
|
Accept=
|
||
|
Writable=
|
||
|
MaxConnections=
|
||
|
MaxConnectionsPerSource=
|
||
|
KeepAlive=
|
||
|
KeepAliveTimeSec=
|
||
|
KeepAliveIntervalSec=
|
||
|
KeepAliveProbes=
|
||
|
DeferAcceptSec=
|
||
|
NoDelay=
|
||
|
Priority=
|
||
|
ReceiveBuffer=
|
||
|
SendBuffer=
|
||
|
IPTOS=
|
||
|
IPTTL=
|
||
|
Mark=
|
||
|
PipeSize=
|
||
|
FreeBind=
|
||
|
Transparent=
|
||
|
Broadcast=
|
||
|
PassCredentials=
|
||
|
PassSecurity=
|
||
|
TCPCongestion=
|
||
|
ReusePort=
|
||
|
MessageQueueMaxMessages=
|
||
|
MessageQueueMessageSize=
|
||
|
RemoveOnStop=
|
||
|
Symlinks=
|
||
|
FileDescriptorName=
|
||
|
Service=
|
||
|
TriggerLimitIntervalSec=
|
||
|
TriggerLimitBurst=
|
||
|
SmackLabel=
|
||
|
SmackLabelIPIn=
|
||
|
SmackLabelIPOut=
|
||
|
SELinuxContextFromNet=
|
||
|
```
|
||
|
|
||
|
## Swap Unit Settings
|
||
|
|
||
|
Swap units are currently not available at all as transient units:
|
||
|
|
||
|
```
|
||
|
What=
|
||
|
Priority=
|
||
|
Options=
|
||
|
TimeoutSec=
|
||
|
```
|
||
|
|
||
|
## Path Unit Settings
|
||
|
|
||
|
Path units are currently not available at all as transient units:
|
||
|
|
||
|
```
|
||
|
PathExists=
|
||
|
PathExistsGlob=
|
||
|
PathChanged=
|
||
|
PathModified=
|
||
|
DirectoryNotEmpty=
|
||
|
Unit=
|
||
|
MakeDirectory=
|
||
|
DirectoryMode=
|
||
|
```
|
||
|
|
||
|
## Install Section
|
||
|
|
||
|
The `[Install]` section is currently not available at all for transient units, and it probably doesn't even make sense.
|
||
|
|
||
|
```
|
||
|
Alias=
|
||
|
WantedBy=
|
||
|
RequiredBy=
|
||
|
Also=
|
||
|
DefaultInstance=
|
||
|
```
|