From: Zbigniew Jędrzejewski-Szmek Date: Mon, 2 Jun 2025 13:15:38 +0000 (+0200) Subject: docs/TRANSIENT-SETTINGS: update lists X-Git-Tag: v258-rc1~183^2~2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=773cb7aa7ea2c930cd85ee128a8439cfd14ebb0d;p=thirdparty%2Fsystemd.git docs/TRANSIENT-SETTINGS: update lists Those lists were partially wrong and partially outdated. We should generate this document automatically, but let's revisit this topic after the conversion to sphinx. For now, as a stop-gap solution, I generated the lists from the new 'systemd-analyze transient-settings' command. --- diff --git a/docs/TRANSIENT-SETTINGS.md b/docs/TRANSIENT-SETTINGS.md index 4992acbf673..d5c9a33df82 100644 --- a/docs/TRANSIENT-SETTINGS.md +++ b/docs/TRANSIENT-SETTINGS.md @@ -21,88 +21,131 @@ Most generic unit settings are available for transient units. ``` ✓ Description= -✓ Documentation= ✓ SourcePath= +✓ OnFailureJobMode= +✓ JobTimeoutAction= +✓ JobTimeoutRebootArgument= +✓ StartLimitAction= +✓ FailureAction= +✓ SuccessAction= +✓ RebootArgument= +✓ CollectMode= +✓ StopWhenUnneeded= +✓ RefuseManualStart= +✓ RefuseManualStop= +✓ AllowIsolate= +✓ IgnoreOnIsolate= +✓ SurviveFinalKillSignal= +✓ DefaultDependencies= +✓ JobTimeoutSec= +✓ JobRunningTimeoutSec= +✓ StartLimitIntervalSec= +✓ StartLimitBurst= +✓ SuccessActionExitStatus= +✓ FailureActionExitStatus= +✓ Documentation= +✓ RequiresMountsFor= +✓ WantsMountsFor= +✓ Markers= ✓ Requires= ✓ Requisite= ✓ Wants= ✓ BindsTo= +✓ PartOf= +✓ Upholds= +✓ RequiredBy= +✓ RequisiteOf= +✓ WantedBy= +✓ BoundBy= +✓ UpheldBy= +✓ ConsistsOf= ✓ Conflicts= +✓ ConflictedBy= ✓ Before= ✓ After= +✓ OnSuccess= +✓ OnSuccessOf= ✓ OnFailure= +✓ OnFailureOf= +✓ Triggers= +✓ TriggeredBy= ✓ PropagatesReloadTo= ✓ ReloadPropagatedFrom= -✓ PartOf= -✓ Upholds= +✓ PropagatesStopTo= +✓ StopPropagatedFrom= ✓ JoinsNamespaceOf= -✓ RequiresMountsFor= -✓ StopWhenUnneeded= -✓ RefuseManualStart= -✓ RefuseManualStop= -✓ AllowIsolate= -✓ DefaultDependencies= -✓ OnFailureJobMode= -✓ IgnoreOnIsolate= -✓ JobTimeoutSec= -✓ JobRunningTimeoutSec= -✓ JobTimeoutAction= -✓ JobTimeoutRebootArgument= -✓ StartLimitIntervalSec= -✓ StartLimitBurst= -✓ StartLimitAction= -✓ FailureAction= -✓ SuccessAction= -✓ FailureActionExitStatus= -✓ SuccessActionExitStatus= -✓ RebootArgument= +✓ References= +✓ ReferencedBy= +✓ InSlice= +✓ SliceOf= +✓ ConditionArchitecture= +✓ ConditionFirmware= +✓ ConditionVirtualization= +✓ ConditionHost= +✓ ConditionKernelCommandLine= +✓ ConditionVersion= +✓ ConditionCredential= +✓ ConditionSecurity= +✓ ConditionCapability= +✓ ConditionACPower= +✓ ConditionNeedsUpdate= +✓ ConditionFirstBoot= ✓ ConditionPathExists= ✓ ConditionPathExistsGlob= ✓ ConditionPathIsDirectory= ✓ ConditionPathIsSymbolicLink= ✓ ConditionPathIsMountPoint= ✓ ConditionPathIsReadWrite= +✓ ConditionPathIsEncrypted= ✓ ConditionDirectoryNotEmpty= ✓ ConditionFileNotEmpty= ✓ ConditionFileIsExecutable= -✓ ConditionNeedsUpdate= -✓ ConditionFirstBoot= -✓ ConditionKernelCommandLine= -✓ ConditionKernelVersion= -✓ ConditionVersion= -✓ ConditionArchitecture= -✓ ConditionFirmware= -✓ ConditionVirtualization= -✓ ConditionSecurity= -✓ ConditionCapability= -✓ ConditionHost= -✓ ConditionACPower= ✓ ConditionUser= ✓ ConditionGroup= ✓ ConditionControlGroupController= +✓ ConditionCPUs= +✓ ConditionMemory= +✓ ConditionEnvironment= +✓ ConditionCPUFeature= +✓ ConditionOSRelease= +✓ ConditionMemoryPressure= +✓ ConditionCPUPressure= +✓ ConditionIOPressure= +✓ ConditionKernelModuleLoaded= +✓ AssertArchitecture= +✓ AssertFirmware= +✓ AssertVirtualization= +✓ AssertHost= +✓ AssertKernelCommandLine= +✓ AssertVersion= +✓ AssertCredential= +✓ AssertSecurity= +✓ AssertCapability= +✓ AssertACPower= +✓ AssertNeedsUpdate= +✓ AssertFirstBoot= ✓ AssertPathExists= ✓ AssertPathExistsGlob= ✓ AssertPathIsDirectory= ✓ AssertPathIsSymbolicLink= ✓ AssertPathIsMountPoint= ✓ AssertPathIsReadWrite= +✓ AssertPathIsEncrypted= ✓ AssertDirectoryNotEmpty= ✓ AssertFileNotEmpty= ✓ AssertFileIsExecutable= -✓ AssertNeedsUpdate= -✓ AssertFirstBoot= -✓ AssertKernelCommandLine= -✓ AssertKernelVersion= -✓ AssertArchitecture= -✓ AssertVirtualization= -✓ AssertSecurity= -✓ AssertCapability= -✓ AssertHost= -✓ AssertACPower= ✓ AssertUser= ✓ AssertGroup= ✓ AssertControlGroupController= -✓ CollectMode= +✓ AssertCPUs= +✓ AssertMemory= +✓ AssertEnvironment= +✓ AssertCPUFeature= +✓ AssertOSRelease= +✓ AssertMemoryPressure= +✓ AssertCPUPressure= +✓ AssertIOPressure= +✓ AssertKernelModuleLoaded= ``` ## Execution-Related Settings @@ -236,55 +279,58 @@ All execution-related settings are available for transient units. All cgroup/resource control settings are available for transient units ``` -✓ CPUAccounting= +✓ DevicePolicy= +✓ Slice= +✓ ManagedOOMSwap= +✓ ManagedOOMMemoryPressure= +✓ ManagedOOMPreference= +✓ MemoryPressureWatch= +✓ DelegateSubgroup= +✓ ManagedOOMMemoryPressureLimit= +✓ MemoryAccounting= +✓ MemoryZSwapWriteback= +✓ IOAccounting= +✓ TasksAccounting= +✓ IPAccounting= +✓ CoredumpReceive= ✓ CPUWeight= ✓ StartupCPUWeight= -✓ CPUShares= -✓ StartupCPUShares= -✓ CPUQuota= -✓ CPUQuotaPeriodSec= +✓ IOWeight= +✓ StartupIOWeight= ✓ AllowedCPUs= ✓ StartupAllowedCPUs= ✓ AllowedMemoryNodes= ✓ StartupAllowedMemoryNodes= -✓ MemoryAccounting= -✓ DefaultMemoryMin= +✓ DisableControllers= +✓ Delegate= ✓ MemoryMin= ✓ DefaultMemoryLow= +✓ DefaultMemoryMin= ✓ MemoryLow= ✓ MemoryHigh= ✓ MemoryMax= ✓ MemorySwapMax= -✓ MemoryLimit= +✓ MemoryZSwapMax= +✓ TasksMax= +✓ CPUQuota= +✓ CPUQuotaPeriodSec= ✓ DeviceAllow= -✓ DevicePolicy= -✓ IOAccounting= -✓ IOWeight= -✓ StartupIOWeight= ✓ IODeviceWeight= +✓ IODeviceLatencyTargetSec= +✓ IPAddressAllow= +✓ IPAddressDeny= +✓ IPIngressFilterPath= +✓ IPEgressFilterPath= +✓ BPFProgram= +✓ SocketBindAllow= +✓ SocketBindDeny= +✓ MemoryPressureThresholdSec= +✓ NFTSet= +✓ ManagedOOMMemoryPressureDurationSec= ✓ IOReadBandwidthMax= ✓ IOWriteBandwidthMax= ✓ IOReadIOPSMax= ✓ IOWriteIOPSMax= -✓ BlockIOAccounting= -✓ BlockIOWeight= -✓ StartupBlockIOWeight= -✓ BlockIODeviceWeight= -✓ BlockIOReadBandwidth= -✓ BlockIOWriteBandwidth= -✓ TasksAccounting= -✓ TasksMax= -✓ Delegate= -✓ DisableControllers= -✓ IPAccounting= -✓ IPAddressAllow= -✓ IPAddressDeny= -✓ ManagedOOMSwap= -✓ ManagedOOMMemoryPressure= -✓ ManagedOOMMemoryPressureLimit= -✓ ManagedOOMMemoryPressureDurationSec= -✓ ManagedOOMPreference= -✓ CoredumpReceive= ``` ## Process Killing Settings @@ -292,13 +338,14 @@ All cgroup/resource control settings are available for transient units All process killing settings are available for transient units: ``` -✓ SendSIGKILL= -✓ SendSIGHUP= ✓ KillMode= +✓ SendSIGHUP= +✓ SendSIGKILL= ✓ KillSignal= ✓ RestartKillSignal= ✓ FinalKillSignal= ✓ WatchdogSignal= +✓ ReloadSignal= ``` ## Service Unit Settings @@ -306,41 +353,53 @@ All process killing settings are available for transient units: Most service unit settings are available for transient units. ``` -✓ BusName= -✓ ExecCondition= -✓ ExecReload= -✓ ExecStart= -✓ ExecStartPost= -✓ ExecStartPre= -✓ ExecStop= -✓ ExecStopPost= +✓ PIDFile= +✓ Type= ✓ ExitType= -✓ FileDescriptorStoreMax= -✓ GuessMainPID= -✓ NonBlocking= +✓ Restart= +✓ RestartMode= +✓ BusName= ✓ NotifyAccess= +✓ USBFunctionDescriptors= +✓ USBFunctionStrings= ✓ OOMPolicy= -✓ PIDFile= +✓ TimeoutStartFailureMode= +✓ TimeoutStopFailureMode= +✓ FileDescriptorStorePreserve= +✓ PermissionsStartOnly= +✓ RootDirectoryStartOnly= ✓ RemainAfterExit= -✓ Restart= -✓ RestartForceExitStatus= -✓ RestartPreventExitStatus= +✓ GuessMainPID= ✓ RestartSec= -✓ RootDirectoryStartOnly= -✓ RuntimeMaxSec= -✓ RuntimeRandomizedExtraSec= - Sockets= -✓ SuccessExitStatus= -✓ TimeoutAbortSec= -✓ TimeoutSec= -✓ TimeoutStartFailureMode= +✓ RestartMaxDelaySec= ✓ TimeoutStartSec= -✓ TimeoutStopFailureMode= ✓ TimeoutStopSec= -✓ Type= -✓ USBFunctionDescriptors= -✓ USBFunctionStrings= +✓ TimeoutAbortSec= +✓ RuntimeMaxSec= +✓ RuntimeRandomizedExtraSec= ✓ WatchdogSec= +✓ TimeoutSec= +✓ FileDescriptorStoreMax= +✓ RestartSteps= +✓ ExecCondition= +✓ ExecStartPre= +✓ ExecStart= +✓ ExecStartPost= +✓ ExecConditionEx= +✓ ExecStartPreEx= +✓ ExecStartEx= +✓ ExecStartPostEx= +✓ ExecReload= +✓ ExecStop= +✓ ExecStopPost= +✓ ExecReloadEx= +✓ ExecStopEx= +✓ ExecStopPostEx= +✓ RestartPreventExitStatus= +✓ RestartForceExitStatus= +✓ SuccessExitStatus= +✓ OpenFile= + Socket= ``` ## Mount Unit Settings @@ -357,7 +416,7 @@ All mount unit settings are available to transient units: ✓ SloppyOptions= ✓ LazyUnmount= ✓ ForceUnmount= -✓ ReadWriteOnly= +✓ ReadwriteOnly= ``` ## Automount Unit Settings @@ -366,6 +425,7 @@ All automount unit setting is available to transient units: ``` ✓ Where= +✓ ExtraOptions= ✓ DirectoryMode= ✓ TimeoutIdleSec= ``` @@ -375,21 +435,21 @@ All automount unit setting is available to transient units: Most timer unit settings are available to transient units. ``` +✓ WakeSystem= +✓ RemainAfterElapse= +✓ Persistent= +✓ OnTimezoneChange= +✓ OnClockChange= +✓ FixedRandomDelay= +✓ DeferReactivation= +✓ AccuracySec= +✓ RandomizedDelaySec= ✓ OnActiveSec= ✓ OnBootSec= -✓ OnCalendar= -✓ OnClockChange= ✓ OnStartupSec= -✓ OnTimezoneChange= ✓ OnUnitActiveSec= ✓ OnUnitInactiveSec= -✓ Persistent= -✓ WakeSystem= -✓ RemainAfterElapse= -✓ AccuracySec= -✓ RandomizedDelaySec= -✓ FixedRandomDelay= -✓ DeferReactivation= +✓ OnCalendar= Unit= ``` @@ -407,6 +467,9 @@ such). ✓ RuntimeMaxSec= ✓ RuntimeRandomizedExtraSec= ✓ TimeoutStopSec= +✓ User= +✓ Group= +✓ OOMPolicy= ``` ## Socket Unit Settings @@ -414,65 +477,71 @@ such). Most socket unit settings are available to transient units. ``` -✓ ListenStream= -✓ ListenDatagram= -✓ ListenSequentialPacket= -✓ ListenFIFO= -✓ ListenNetlink= -✓ ListenSpecial= -✓ ListenMessageQueue= -✓ ListenUSBFunction= -✓ SocketProtocol= -✓ BindIPv6Only= -✓ Backlog= -✓ BindToDevice= -✓ ExecStartPre= -✓ ExecStartPost= -✓ ExecStopPre= -✓ ExecStopPost= -✓ TimeoutSec= -✓ SocketUser= -✓ SocketGroup= -✓ SocketMode= -✓ DirectoryMode= ✓ Accept= ✓ FlushPending= ✓ Writable= -✓ MaxConnections= -✓ MaxConnectionsPerSource= ✓ KeepAlive= -✓ KeepAliveTimeSec= -✓ KeepAliveIntervalSec= -✓ KeepAliveProbes= -✓ DeferAcceptSec= ✓ NoDelay= -✓ Priority= -✓ ReceiveBuffer= -✓ SendBuffer= -✓ IPTOS= -✓ IPTTL= -✓ Mark= -✓ PipeSize= ✓ FreeBind= ✓ Transparent= ✓ Broadcast= ✓ PassCredentials= +✓ PassFileDescriptorsToExec= ✓ PassSecurity= ✓ PassPacketInfo= -✓ TCPCongestion= ✓ ReusePort= +✓ RemoveOnStop= +✓ SELinuxContextFromNet= +✓ Priority= +✓ IPTTL= +✓ Mark= +✓ IPTOS= +✓ Backlog= +✓ MaxConnections= +✓ MaxConnectionsPerSource= +✓ KeepAliveProbes= +✓ TriggerLimitBurst= +✓ PollLimitBurst= +✓ SocketMode= +✓ DirectoryMode= ✓ MessageQueueMaxMessages= ✓ MessageQueueMessageSize= -✓ RemoveOnStop= -✓ Symlinks= -✓ FileDescriptorName= - Service= +✓ TimeoutSec= +✓ KeepAliveTimeSec= +✓ KeepAliveIntervalSec= +✓ DeferAcceptSec= +✓ DeferTrigger= +✓ DeferTriggerMaxSec= ✓ TriggerLimitIntervalSec= -✓ TriggerLimitBurst= +✓ PollLimitIntervalSec= +✓ ReceiveBuffer= +✓ SendBuffer= +✓ PipeSize= +✓ ExecStartPre= +✓ ExecStartPost= +✓ ExecReload= +✓ ExecStopPost= ✓ SmackLabel= ✓ SmackLabelIPIn= ✓ SmackLabelIPOut= -✓ SELinuxContextFromNet= +✓ TCPCongestion= +✓ BindToDevice= +✓ BindIPv6Only= +✓ FileDescriptorName= +✓ SocketUser= +✓ SocketGroup= +✓ Timestamping= +✓ Symlinks= +✓ SocketProtocol= +✓ ListenStream= +✓ ListenDatagram= +✓ ListenSequentialPacket= +✓ ListenNetlink= +✓ ListenSpecial= +✓ ListenMessageQueue= +✓ ListenFIFO= +✓ ListenUSBFunction= + Service= ``` ## Swap Unit Settings @@ -491,14 +560,18 @@ Swap units are currently not available at all as transient units: Most path unit settings are available to transient units. ``` +✓ MakeDirectory= +✓ DirectoryMode= ✓ PathExists= ✓ PathExistsGlob= ✓ PathChanged= ✓ PathModified= ✓ DirectoryNotEmpty= +✓ TriggerLimitBurst= +✓ PollLimitBurst= +✓ TriggerLimitIntervalSec= +✓ PollLimitIntervalSec= Unit= -✓ MakeDirectory= -✓ DirectoryMode= ``` ## Install Section