systemd中文文档 - 启动: http://systemd.cn/docs/Booting/ - 自动启动评估: http://systemd.cn/docs/Booting/AUTOMATIC_BOOT_ASSESSMENT/ - 启动组件和根文件系统探测: http://systemd.cn/docs/Booting/ROOTFS_DISCOVERY/ - 引导加载程序接口: http://systemd.cn/docs/Booting/BOOT_LOADER_INTERFACE/ - 恢复出厂设置: http://systemd.cn/docs/Booting/FACTORY_RESET/ - 挂载点可用性要求: http://systemd.cn/docs/Booting/MOUNT_REQUIREMENTS/ - TPM2 PCR测量: http://systemd.cn/docs/Booting/TPM2_PCR_MEASUREMENTS/ - Boot Loader Specification: http://systemd.cn/docs/BOOT_LOADER_SPECIFICATION/ - Discoverable Partitions: http://systemd.cn/docs/DISCOVERABLE_PARTITIONS/ - Elf Dlopen Metadata: http://systemd.cn/docs/ELF_DLOPEN_METADATA/ - Osc Context: http://systemd.cn/docs/OSC_CONTEXT/ - Package Metadata for Executable Files: http://systemd.cn/docs/PACKAGE_METADATA_FOR_EXECUTABLE_FILES/ - API File Systems: http://systemd.cn/docs/API_FILE_SYSTEMS/ - Appstream Bundle: http://systemd.cn/docs/APPSTREAM_BUNDLE/ - Backports: http://systemd.cn/docs/BACKPORTS/ - Booting Without /usr is Broken: http://systemd.cn/docs/SEPARATE_USR_IS_BROKEN/ - Code Quality Tools: http://systemd.cn/docs/CODE_QUALITY/ - Coding Style: http://systemd.cn/docs/CODING_STYLE/ - Compatibility with SysV: http://systemd.cn/docs/INCOMPATIBILITIES/ - Container Interface: http://systemd.cn/docs/CONTAINER_INTERFACE/ - Contributing: http://systemd.cn/docs/CONTRIBUTING/ - Control Group APIs and Delegation: http://systemd.cn/docs/CGROUP_DELEGATION/ - Converting Existing Users to systemd-homed: http://systemd.cn/docs/CONVERTING_TO_HOMED/ - Credentials: http://systemd.cn/docs/CREDENTIALS/ - Desktop Environment Integration: http://systemd.cn/docs/DESKTOP_ENVIRONMENTS/ - Diagnosing Boot Problems: http://systemd.cn/docs/DEBUGGING/ - File Descriptor Store: http://systemd.cn/docs/FILE_DESCRIPTOR_STORE/ - Frequently Asked Questions: http://systemd.cn/docs/FAQ/ - Governance: http://systemd.cn/docs/GOVERNANCE/ - Hacking on systemd: http://systemd.cn/docs/HACKING/ - Home Directories: http://systemd.cn/docs/HOME_DIRECTORY/ - Inhibitor Locks: http://systemd.cn/docs/INHIBITOR_LOCKS/ - Initrd Interface: http://systemd.cn/docs/INITRD_INTERFACE/ - Journal Export Formats: http://systemd.cn/docs/JOURNAL_EXPORT_FORMATS/ - Journal File Format: http://systemd.cn/docs/JOURNAL_FILE_FORMAT/ - Journal Message Catalogs: http://systemd.cn/docs/CATALOG/ - JSON Group Records: http://systemd.cn/docs/GROUP_RECORD/ - JSON User Records: http://systemd.cn/docs/USER_RECORD/ - Known Environment Variables: http://systemd.cn/docs/ENVIRONMENT/ - Locking Block Device Access: http://systemd.cn/docs/BLOCK_DEVICE_LOCKING/ - Minimal Builds: http://systemd.cn/docs/MINIMAL_BUILDS/ - My Service Can't Get Realtime!: http://systemd.cn/docs/MY_SERVICE_CANT_GET_REALTIME/ - Native Journal Protocol: http://systemd.cn/docs/JOURNAL_NATIVE_PROTOCOL/ - New Control Group Interfaces: http://systemd.cn/docs/CONTROL_GROUP_INTERFACE/ - Notes for Translators: http://systemd.cn/docs/TRANSLATORS/ - Password Agents: http://systemd.cn/docs/PASSWORD_AGENTS/ - Pax Controla Groupiana: http://systemd.cn/docs/PAX_CONTROL_GROUPS/ - Portability and Stability: http://systemd.cn/docs/PORTABILITY_AND_STABILITY/ - Portable Services Introduction: http://systemd.cn/docs/PORTABLE_SERVICES/ - Porting systemd To New Distributions: http://systemd.cn/docs/DISTRO_PORTING/ - Porting to New Architectures: http://systemd.cn/docs/PORTING_TO_NEW_ARCHITECTURES/ - Predictable Network Interface Names: http://systemd.cn/docs/PREDICTABLE_INTERFACE_NAMES/ - Presets: http://systemd.cn/docs/PRESET/ - Project IDs for Disk Quotas on Exec Directories: http://systemd.cn/docs/DISK-QUOTAS-PROJECTIDS/ - Random Seeds: http://systemd.cn/docs/RANDOM_SEEDS/ - Reporting of Security Vulnerabilities: http://systemd.cn/docs/SECURITY/ - Resource Pressure Handling: http://systemd.cn/docs/PRESSURE/ - Running Services After the Network Is Up: http://systemd.cn/docs/NETWORK_ONLINE/ - Safely Building Images: http://systemd.cn/docs/BUILDING_IMAGES/ - Socket Activation with Popular Daemons: http://systemd.cn/docs/DAEMON_SOCKET_ACTIVATION/ - Steps to a Successful Release: http://systemd.cn/docs/RELEASE/ - Storage Daemons for the Root File System: http://systemd.cn/docs/ROOT_STORAGE_DAEMONS/ - systemd Community Conduct Guidelines: http://systemd.cn/docs/CODE_OF_CONDUCT/ - systemd Coredump Handling: http://systemd.cn/docs/COREDUMP/ - systemd File Hierarchy Requirements: http://systemd.cn/docs/SYSTEMD_FILE_HIERARCHY_REQUIREMENTS/ - systemd Optimizations: http://systemd.cn/docs/OPTIMIZATIONS/ - systemd Repository Architecture: http://systemd.cn/docs/ARCHITECTURE/ - systemd-boot UEFI Boot Manager: http://systemd.cn/docs/BOOT/ - systemd-homed and JSON User/Group Record Support in Desktop Environments: http://systemd.cn/docs/USERDB_AND_DESKTOPS/ - systemd-resolved and VPNs: http://systemd.cn/docs/RESOLVED-VPNS/ - Testing systemd Using Sanitizers: http://systemd.cn/docs/TESTING_WITH_SANITIZERS/ - The Case for the /usr Merge: http://systemd.cn/docs/THE_CASE_FOR_THE_USR_MERGE/ - Tips And Tricks: http://systemd.cn/docs/TIPS_AND_TRICKS/ - User Record Blob Directories: http://systemd.cn/docs/USER_RECORD_BLOB_DIRS/ - User/Group Name Syntax: http://systemd.cn/docs/USER_NAMES/ - User/Group Record Lookup API via Varlink: http://systemd.cn/docs/USER_GROUP_API/ - Users, Groups, UIDs and GIDs on systemd Systems: http://systemd.cn/docs/UIDS-GIDS/ - Using /tmp/ and /var/tmp/ Safely: http://systemd.cn/docs/TEMPORARY_DIRECTORIES/ - Varlink API Style: http://systemd.cn/docs/VARLINK/ - VM Interface: http://systemd.cn/docs/VM_INTERFACE/ - What Settings Are Currently Available For Transient Units?: http://systemd.cn/docs/TRANSIENT-SETTINGS/ - Writing Desktop Environments: http://systemd.cn/docs/WRITING_DESKTOP_ENVIRONMENTS/ - Writing Display Managers: http://systemd.cn/docs/WRITING_DISPLAY_MANAGERS/ - Writing Network Configuration Managers: http://systemd.cn/docs/WRITING_NETWORK_CONFIGURATION_MANAGERS/ - Writing Resolver Clients: http://systemd.cn/docs/WRITING_RESOLVER_CLIENTS/ - Writing syslog Daemons Which Cooperate Nicely With systemd: http://systemd.cn/docs/SYSLOG/ - Writing VM and Container Managers: http://systemd.cn/docs/WRITING_VM_AND_CONTAINER_MANAGERS/ # 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, device, swap, and target units are not supported at all as transient units, but others are pretty well supported. The lists below contain all settings currently available in unit files. The ones currently available in transient units are prefixed with `✓`. ## Generic Unit Settings Most generic unit settings are available for transient units. ``` ✓ Description= ✓ 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= ✓ PropagatesStopTo= ✓ StopPropagatedFrom= ✓ JoinsNamespaceOf= ✓ 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= ✓ 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= ✓ AssertUser= ✓ AssertGroup= ✓ AssertControlGroupController= ✓ AssertCPUs= ✓ AssertMemory= ✓ AssertEnvironment= ✓ AssertCPUFeature= ✓ AssertOSRelease= ✓ AssertMemoryPressure= ✓ AssertCPUPressure= ✓ AssertIOPressure= ✓ AssertKernelModuleLoaded= ``` ## Execution-Related Settings All execution-related settings are available for transient units. ``` ✓ WorkingDirectory= ✓ RootDirectory= ✓ RootImage= ✓ User= ✓ Group= ✓ SupplementaryGroups= ✓ Nice= ✓ OOMScoreAdjust= ✓ CoredumpFilter= ✓ IOSchedulingClass= ✓ IOSchedulingPriority= ✓ CPUSchedulingPolicy= ✓ CPUSchedulingPriority= ✓ CPUSchedulingResetOnFork= ✓ CPUAffinity= ✓ UMask= ✓ Environment= ✓ EnvironmentFile= ✓ PassEnvironment= ✓ UnsetEnvironment= ✓ DynamicUser= ✓ RemoveIPC= ✓ StandardInput= ✓ StandardOutput= ✓ StandardError= ✓ StandardInputText= ✓ StandardInputData= ✓ TTYPath= ✓ TTYReset= ✓ TTYVHangup= ✓ TTYVTDisallocate= ✓ TTYRows= ✓ TTYColumns= ✓ SyslogIdentifier= ✓ SyslogFacility= ✓ SyslogLevel= ✓ SyslogLevelPrefix= ✓ LogLevelMax= ✓ LogExtraFields= ✓ LogFilterPatterns= ✓ LogRateLimitIntervalSec= ✓ LogRateLimitBurst= ✓ SecureBits= ✓ CapabilityBoundingSet= ✓ AmbientCapabilities= ✓ TimerSlackNSec= ✓ NoNewPrivileges= ✓ KeyringMode= ✓ ProtectProc= ✓ ProcSubset= ✓ SystemCallFilter= ✓ SystemCallArchitectures= ✓ SystemCallErrorNumber= ✓ SystemCallLog= ✓ MemoryDenyWriteExecute= ✓ RestrictNamespaces= ✓ RestrictRealtime= ✓ RestrictSUIDSGID= ✓ RestrictAddressFamilies= ✓ RootHash= ✓ RootHashSignature= ✓ RootVerity= ✓ LockPersonality= ✓ LimitCPU= ✓ LimitFSIZE= ✓ LimitDATA= ✓ LimitSTACK= ✓ LimitCORE= ✓ LimitRSS= ✓ LimitNOFILE= ✓ LimitAS= ✓ LimitNPROC= ✓ LimitMEMLOCK= ✓ LimitLOCKS= ✓ LimitSIGPENDING= ✓ LimitMSGQUEUE= ✓ LimitNICE= ✓ LimitRTPRIO= ✓ LimitRTTIME= ✓ ReadWritePaths= ✓ ReadOnlyPaths= ✓ InaccessiblePaths= ✓ BindPaths= ✓ BindReadOnlyPaths= ✓ TemporaryFileSystem= ✓ PrivateTmp= ✓ PrivateDevices= ✓ PrivateMounts= ✓ ProtectKernelTunables= ✓ ProtectKernelModules= ✓ ProtectKernelLogs= ✓ ProtectControlGroups= ✓ PrivateNetwork= ✓ PrivateUsers= ✓ ProtectSystem= ✓ ProtectHome= ✓ ProtectClock= ✓ MountFlags= ✓ MountAPIVFS= ✓ Personality= ✓ RuntimeDirectoryPreserve= ✓ RuntimeDirectoryMode= ✓ RuntimeDirectory= ✓ StateDirectoryMode= ✓ StateDirectoryAccounting= ✓ StateDirectoryQuota= ✓ StateDirectory= ✓ CacheDirectoryMode= ✓ CacheDirectoryAccounting= ✓ CacheDirectoryQuota= ✓ CacheDirectory= ✓ LogsDirectoryMode= ✓ LogsDirectoryAccounting= ✓ LogsDirectoryQuota= ✓ LogsDirectory= ✓ ConfigurationDirectoryMode= ✓ ConfigurationDirectory= ✓ PAMName= ✓ IgnoreSIGPIPE= ✓ UtmpIdentifier= ✓ UtmpMode= ✓ SELinuxContext= ✓ SmackProcessLabel= ✓ AppArmorProfile= ✓ Slice= ``` ## Resource Control Settings All cgroup/resource control settings are available for transient units ``` ✓ DevicePolicy= ✓ Slice= ✓ ManagedOOMSwap= ✓ ManagedOOMMemoryPressure= ✓ ManagedOOMPreference= ✓ MemoryPressureWatch= ✓ DelegateSubgroup= ✓ ManagedOOMMemoryPressureLimit= ✓ MemoryAccounting= ✓ MemoryZSwapWriteback= ✓ IOAccounting= ✓ TasksAccounting= ✓ IPAccounting= ✓ CoredumpReceive= ✓ CPUWeight= ✓ StartupCPUWeight= ✓ IOWeight= ✓ StartupIOWeight= ✓ AllowedCPUs= ✓ StartupAllowedCPUs= ✓ AllowedMemoryNodes= ✓ StartupAllowedMemoryNodes= ✓ CPUSetPartition= ✓ DisableControllers= ✓ Delegate= ✓ MemoryMin= ✓ DefaultMemoryLow= ✓ DefaultMemoryMin= ✓ MemoryLow= ✓ MemoryHigh= ✓ MemoryMax= ✓ MemorySwapMax= ✓ MemoryZSwapMax= ✓ TasksMax= ✓ CPUQuota= ✓ CPUQuotaPeriodSec= ✓ DeviceAllow= ✓ IODeviceWeight= ✓ IODeviceLatencyTargetSec= ✓ IPAddressAllow= ✓ IPAddressDeny= ✓ IPIngressFilterPath= ✓ IPEgressFilterPath= ✓ BPFProgram= ✓ SocketBindAllow= ✓ SocketBindDeny= ✓ MemoryPressureThresholdSec= ✓ NFTSet= ✓ ManagedOOMMemoryPressureDurationSec= ✓ IOReadBandwidthMax= ✓ IOWriteBandwidthMax= ✓ IOReadIOPSMax= ✓ IOWriteIOPSMax= ``` ## Process Killing Settings All process killing settings are available for transient units: ``` ✓ KillMode= ✓ SendSIGHUP= ✓ SendSIGKILL= ✓ KillSignal= ✓ RestartKillSignal= ✓ FinalKillSignal= ✓ WatchdogSignal= ✓ ReloadSignal= ``` ## Service Unit Settings Most service unit settings are available for transient units. ``` ✓ PIDFile= ✓ Type= ✓ ExitType= ✓ Restart= ✓ RestartMode= ✓ BusName= ✓ NotifyAccess= ✓ USBFunctionDescriptors= ✓ USBFunctionStrings= ✓ OOMPolicy= ✓ TimeoutStartFailureMode= ✓ TimeoutStopFailureMode= ✓ FileDescriptorStorePreserve= ✓ PermissionsStartOnly= ✓ RootDirectoryStartOnly= ✓ RemainAfterExit= ✓ GuessMainPID= ✓ RestartSec= ✓ RestartMaxDelaySec= ✓ TimeoutStartSec= ✓ TimeoutStopSec= ✓ 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 All mount unit settings are available to transient units: ``` ✓ What= ✓ Where= ✓ Options= ✓ Type= ✓ TimeoutSec= ✓ DirectoryMode= ✓ SloppyOptions= ✓ LazyUnmount= ✓ ForceUnmount= ✓ ReadwriteOnly= ``` ## Automount Unit Settings All automount unit setting is available to transient units: ``` ✓ Where= ✓ ExtraOptions= ✓ DirectoryMode= ✓ TimeoutIdleSec= ``` ## Timer Unit Settings Most timer unit settings are available to transient units. ``` ✓ WakeSystem= ✓ RemainAfterElapse= ✓ Persistent= ✓ OnTimezoneChange= ✓ OnClockChange= ✓ FixedRandomDelay= ✓ DeferReactivation= ✓ AccuracySec= ✓ RandomizedDelaySec= ✓ OnActiveSec= ✓ OnBootSec= ✓ OnStartupSec= ✓ OnUnitActiveSec= ✓ OnUnitInactiveSec= ✓ OnCalendar= 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). ``` ✓ RuntimeMaxSec= ✓ RuntimeRandomizedExtraSec= ✓ TimeoutStopSec= ✓ User= ✓ Group= ✓ OOMPolicy= ``` ## Socket Unit Settings Most socket unit settings are available to transient units. ``` ✓ Accept= ✓ FlushPending= ✓ Writable= ✓ KeepAlive= ✓ NoDelay= ✓ FreeBind= ✓ Transparent= ✓ Broadcast= ✓ PassCredentials= ✓ PassFileDescriptorsToExec= ✓ PassSecurity= ✓ PassPacketInfo= ✓ ReusePort= ✓ RemoveOnStop= ✓ SELinuxContextFromNet= ✓ Priority= ✓ IPTTL= ✓ Mark= ✓ IPTOS= ✓ Backlog= ✓ MaxConnections= ✓ MaxConnectionsPerSource= ✓ KeepAliveProbes= ✓ TriggerLimitBurst= ✓ PollLimitBurst= ✓ SocketMode= ✓ DirectoryMode= ✓ MessageQueueMaxMessages= ✓ MessageQueueMessageSize= ✓ TimeoutSec= ✓ KeepAliveTimeSec= ✓ KeepAliveIntervalSec= ✓ DeferAcceptSec= ✓ DeferTrigger= ✓ DeferTriggerMaxSec= ✓ TriggerLimitIntervalSec= ✓ PollLimitIntervalSec= ✓ ReceiveBuffer= ✓ SendBuffer= ✓ PipeSize= ✓ ExecStartPre= ✓ ExecStartPost= ✓ ExecReload= ✓ ExecStopPost= ✓ SmackLabel= ✓ SmackLabelIPIn= ✓ SmackLabelIPOut= ✓ TCPCongestion= ✓ BindToDevice= ✓ BindIPv6Only= ✓ FileDescriptorName= ✓ SocketUser= ✓ SocketGroup= ✓ Timestamping= ✓ Symlinks= ✓ SocketProtocol= ✓ ListenStream= ✓ ListenDatagram= ✓ ListenSequentialPacket= ✓ ListenNetlink= ✓ ListenSpecial= ✓ ListenMessageQueue= ✓ ListenFIFO= ✓ ListenUSBFunction= Service= ``` ## Swap Unit Settings Swap units are currently not available at all as transient units: ``` What= Priority= Options= TimeoutSec= ``` ## Path Unit Settings Most path unit settings are available to transient units. ``` ✓ MakeDirectory= ✓ DirectoryMode= ✓ PathExists= ✓ PathExistsGlob= ✓ PathChanged= ✓ PathModified= ✓ DirectoryNotEmpty= ✓ TriggerLimitBurst= ✓ PollLimitBurst= ✓ TriggerLimitIntervalSec= ✓ PollLimitIntervalSec= Unit= ``` ## 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= ```