以下是 systemd 支持的所有单元文件类型的汇总,包括它们的用途和功能:
1. .service
-
用途:定义和管理系统服务。
-
功能:配置服务的启动、停止、重启行为及其他参数。
-
示例:
[Unit] Description=My Service [Service] ExecStart=/usr/bin/myservice [Install] WantedBy=multi-user.target
2. .socket
-
用途:定义用于 socket 激活的服务。
-
功能:配置 socket 监听,触发关联的
.service
单元。 -
示例:
[Unit] Description=My Socket [Socket] ListenStream=80 [Install] WantedBy=sockets.target
3. .target
-
用途:定义一个目标单元,用于组织和协调多个服务。
-
功能:管理和协调多个单元的启动顺序。
-
示例:
[Unit] Description=My Target [Install] WantedBy=multi-user.target
4. .timer
-
用途:定义定时任务。
-
功能:配置任务的定时触发规则,通常与
.service
配合使用。 -
示例:
[Unit] Description=My Timer [Timer] OnBootSec=5min OnUnitActiveSec=1h [Install] WantedBy=timers.target
5. .mount
-
用途:管理文件系统挂载点。
-
功能:定义文件系统的挂载点和选项。
-
示例:
[Unit] Description=Mount my filesystems [Mount] What=/dev/sda1 Where=/mnt/mydisk Type=ext4 Options=defaults [Install] WantedBy=multi-user.target
6. .automount
-
用途:管理自动挂载的文件系统。
-
功能:配置当访问特定路径时自动挂载文件系统。
-
示例:
[Unit] Description=Automount my filesystem [Automount] Where=/mnt/mydisk [Install] WantedBy=multi-user.target
7. .swap
-
用途:管理交换分区(swap space)。
-
功能:定义如何启用和配置交换分区。
-
示例:
[Unit] Description=Swap Space [Swap] What=/dev/sda2 [Install] WantedBy=swap.target
8. .slice
-
用途:定义控制组(cgroup),用于资源管理。
-
功能:创建和管理资源限制和隔离。
-
示例:
[Unit] Description=My Slice [Slice] CPUQuota=50% MemoryLimit=1G
9. .path
-
用途:监控文件系统路径的变化。
-
功能:定义对指定路径的监控,触发相关服务或动作。
-
示例:
[Unit] Description=Path for my service [Path] PathModified=/etc/myconfig.conf [Install] WantedBy=multi-user.target
10. .snapshot
-
用途:管理系统快照。
-
功能:创建和恢复系统快照,用于系统恢复和备份。
-
示例:
[Unit] Description=System Snapshot [Snapshot] Description=Take a snapshot of the system
11. .scope
-
用途:用于临时运行的进程,通常由外部程序启动。
-
功能:管理外部程序或服务的生命周期。
-
示例:
[Unit] Description=My Scope [Scope]
12. .network
-
用途:定义网络配置。
-
功能:配置网络接口的设置(如静态 IP、网关等)。
-
示例:
[Match] Name=enp0s3 [Network] Address=192.168.1.100/24 Gateway=192.168.1.1
13. .link
-
用途:配置网络设备的属性。
-
功能:定义设备的属性(如 MAC 地址过滤、接口名称)。
-
示例:
[Match] MACAddress=00:11:22:33:44:55 [Link] Name=enp0s3
14. .tmpfile
-
用途:定义临时文件和目录的创建和管理。
-
功能:配置系统在启动时创建和清理临时文件。
-
示例:
# Create a directory d /var/tmp/mydir 0755 root root # Create an empty file f /var/tmp/myfile 0644 root root
总结
这些单元文件类型在 systemd 中各自承担着不同的角色,共同协作以管理系统服务、资源、定时任务、挂载点等功能。通过这种模块化的方式,systemd 实现了对系统和服务的精细控制。
标签:Systemd,Description,示例,汇总,用途,WantedBy,文件类型,Unit,target From: https://www.cnblogs.com/wanghongwei-dev/p/18408080