柔中带刚,刚中带柔,淫荡中富含柔和,刚猛中荡漾风骚,无坚不摧,无孔不入!
全部博文(1669)
分类: 系统运维
2018-01-05 11:57:12
Centos 系统服务脚本目录:
/usr/lib/systemd/
有系统(system)和用户(user)之分,如需要开机没有登陆情况下就能运行的程序,存在系统服务(system)里,即:
lib/systemd/system/
反之,用户登录后才能运行的程序,存在用户(user)里,服务以.service结尾。
这边以nginx开机运行为例:
1.建立服务文件
vim /lib/systemd/system/nginx.service
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
ExecStart=/www/lanmps/init.d/nginx start
ExecReload=/www/lanmps/init.d/nginx restart
ExecStop=/www/lanmps/init.d/nginx stop
PrivateTmp=true
[Install]
WantedBy=multi-user.target
[Unit]:服务的说明
Description:描述服务
After:描述服务类别
[Service]服务运行参数的设置
Type=forking是后台运行的形式
ExecStart为服务的具体运行命令
ExecReload为重启命令
ExecStop为停止命令
PrivateTmp=True表示给服务分配独立的临时空间
注意:[Service]的启动、重启、停止命令全部要求使用绝对路径
[Install]服务安装的相关设置,可设置为多用户
2.保存目录
以754的权限保存在目录:
/lib/systemd/system
3.设置开机自启动
systemctl enable nginx.service
4.其他命令
任务 |
旧指令 |
新指令 |
使某服务自动启动 |
Chkconfig --level 3 httpd on |
systemctl enable httpd.service |
使某服务不自动启动 |
chkconfig --level 3 httpd off |
systemctl disable httpd.service |
检查服务状态 |
service httpd status |
systemctl status httpd.service (服务详细信息) systemctl is-active httpd.service(仅显示是否Active) |
显示所有已启动的服务 |
chkconfig --list |
systemctl list-units --type=service |
启动某服务 |
service httpd start |
systemctl start httpd.service |
停止某服务 |
service httpd stop |
systemctl stop httpd.service |
重启某服务 |
service httpd restart |
systemctl restart httpd.service |
启动nginx服务:
systemctl start nginx.service
设置开机自启动:
systemctl enable nginx.service
停止开机自启动:
systemctl disable nginx.service
查看服务当前状态:
systemctl status nginx.service
重新启动服务:
systemctl restart nginx.service
查看所有已启动的服务:
systemctl list-units --type=service
Linux Systemctl是一个系统管理守护进程、工具和库的集合,用于取代System V、service和chkconfig命令,初始进程主要负责控制systemd系统和服务管理器。通过Systemctl –help可以看到该命令主要分为:查询或发送控制命令给systemd服务,管理单元服务的命令,服务文件的相关命令,任务、环境、快照相关命令,systemd服务的配置重载,系统开机关机相关的命令。
1. 列出所有可用单元
# systemctl list-unit-files
2. 列出所有运行中单元
# systemctl list-units
3. 列出所有失败单元
# systemctl –failed
4. 检查某个单元(如 crond.service)是否启用
# systemctl is-enabled crond.service
5. 列出所有服务
# systemctl list-unit-files –type=service
6. Linux中如何启动、重启、停止、重载服务以及检查服务(如 httpd.service)状态
# systemctl start httpd.service
# systemctl restart httpd.service
# systemctl stop httpd.service
# systemctl reload httpd.service
# systemctl status httpd.service
注意:当我们使用systemctl的start,restart,stop和reload命令时,终端不会输出任何内容,只有status命令可以打印输出。
7. 如何激活服务并在开机时启用或禁用服务(即系统启动时自动启动mysql.service服务)
# systemctl is-active mysql.service
# systemctl enable mysql.service
# systemctl disable mysql.service
8. 如何屏蔽(让它不能启动)或显示服务(如ntpdate.service)
# systemctl mask ntpdate.service
ln -s ‘/dev/null”/etc/systemd/system/ntpdate.service’
# systemctl unmask ntpdate.service
rm ‘/etc/systemd/system/ntpdate.service’
9. 使用systemctl命令杀死服务
# systemctl kill crond
10. 列出所有系统挂载点
# systemctl list-unit-files –type=mount
11. 挂载、卸载、重新挂载、重载系统挂载点并检查系统中挂载点状态
# systemctl start tmp.mount
# systemctl stop tmp.mount
# systemctl restart tmp.mount
# systemctl reload tmp.mount
# systemctl status tmp.mount
12. 在启动时激活、启用或禁用挂载点(系统启动时自动挂载)
# systemctl is-active tmp.mount
# systemctl enable tmp.mount
# systemctl disable tmp.mount
13. 在Linux中屏蔽(让它不能启用)或可见挂载点
# systemctl mask tmp.mount
ln -s ‘/dev/null”/etc/systemd/system/tmp.mount’
# systemctl unmask tmp.mount
rm ‘/etc/systemd/system/tmp.mount’
14. 列出所有可用系统套接口
# systemctl list-unit-files –type=socket
15. 检查某个服务的所有配置细节
# systemctl show mysql
16. 获取某个服务(httpd)的依赖性列表
# systemctl list-dependencies httpd.service
17. 启动救援模式
# systemctl rescue
18. 进入紧急模式
# systemctl emergency
19. 列出当前使用的运行等级
# systemctl get-default
20. 启动运行等级5,即图形模式
# systemctl isolate runlevel5.target
或
# systemctl isolate graphical.target
21. 启动运行等级3,即多用户模式(命令行)
# systemctl isolate runlevel3.target
或
# systemctl isolate multiuser.target
22. 设置多用户模式或图形模式为默认运行等级
# systemctl set-default runlevel3.target
# systemctl set-default runlevel5.target
23. 重启、停止、挂起、休眠系统或使系统进入混合睡眠
# systemctl reboot
# systemctl halt
# systemctl suspend
# systemctl hibernate
# systemctl hybrid-sleep
对于不知运行等级为何物的人,说明如下。
Runlevel 0 : 关闭系统
Runlevel 1 : 救援,维护模式
Runlevel 3 : 多用户,无图形系统
Runlevel 4 : 多用户,无图形系统
Runlevel 5 : 多用户,图形化系统
Runlevel 6 : 关闭并重启机器
处于活动的则是(active),当前正在运行
停止的则是(inactive),当前已经停止
启动中的则是(activing),当前正在启动
停止中的则是(deactiving),当前正在停止
失败的则是(failed)状态,意思说单元启动过程中遇到错误比如找不到文件、路径或者进程运行中崩溃了等。
单元类型 | 说明 |
service单元 | 用于封装一个后台服务进程,比如通过systemctl start firewalld启动防火墙,这种就属于service单元。 |
socket单元 | 用于封装一个后台服务进程,比如通过systemctl start firewalld启动防火墙,这种就属于service单元。 |
target单元 | 用于将多个单元在逻辑上组合在一起让它们同时启动。 |
device单元 | 用于封装一个设备文件,可用于基于设备启动。并不是每一个设备文件都需要一个device单元,但是每一个被udev规则标记的设备都必须作为一个device单元出现。 |
mount单元 | 用于封装一个文件系统挂载点(向后兼容/etc/fstab) |
automount单元 | 用于封装一个文件系统自动挂载点,只有该文件系统被访问时才会进行挂载,它取代了传统的autofs服务。 |
timer单元 | 用于封装一个基于时间触发的动作,它取代了atd、crond等计划任务。 |
swap单元 | 用于封装一个交换分区或者交换文件,它与mount类似。 |
path单元 | 用于根据文件系统上特定对象的变化来启动其他服务。 |
slice单元 | 用于控制特定的CGroup内所有进程的总体资源占有。 |
scope单元 | 它与service单元类似,但是由systemd根据D-bus接口接收到的信息自动创建,可用于管理外部创建的进程。 |
系统单元:在/lib/systemd/system目录中,优先级高于用户单元。
用户单元:在/usr/lib/systemd/system目录中
系统单元目录 | 说明 | 优先级 |
/lib/systemd/system | 本地配置的系统单元 | 高 |
/run/systemd/system | 运行时配置的系统单元 | 中 |
/usr/lib/systemd/system | 软件包安装的系统单元 | 低 |
1
|
systemctl list-unit-files
|
1
|
systemctl list-unit-files --type=类型
|
1
|
systemctl status 服务名称
|
字段 | 说明 |
Description= | 对单元进行简单描述的字符串。 用于UI中紧跟单元名称之后的简要描述文字。 例如 "Apache2 Web Server" 就是一个好例子。 不好的例子: "high-performance light-weight HTTP server"(太通用) 或 "Apache2"(信息太少)。 |
Documentation= | 一组用空格分隔的文档URI列表, 这些文档是对此单元的详细说明。 可接受 "http://", "https://", "file:", "info:", "man:" 五种URI类型。 有关URI语法的详细说明,参见 uri(7) 手册。 这些URI应该按照相关性由高到低列出。 比如,将解释该单元作用的文档放在第一个, 最好再紧跟单元的配置说明, 最后再附上其他文档。 可以多次使用此选项, 依次向文档列表尾部添加新文档。 但是,如果为此选项设置一个空字符串, 那么表示清空先前已存在的列表。 |
Requires= | 设置此单元所必须依赖的其他单元。 当此单元被启动时,所有这里列出的其他单元也必须被启动。 如果有某个单元未能成功启动,那么此单元也不会被启动。 想要添加多个单元, 可以多次使用此选项, 也可以设置一个空格分隔的单元列表。 注意,此选项并不影响单元之间的启动或停止顺序。 想要调整单元之间的启动或停止顺序, 请使用 After= 或 Before= 选项。 例如,在 foo.service 中设置了 Requires=bar.service 但是并未使用 After= 或 Before= 设定两者的启动顺序, 那么,当需要启动 foo.service 的时候, 这两个单元会被并行的同时启动。 建议使用 Wants= 代替 Requires= 来设置单元之间的非致命依赖关系, 从而有助于获得更好的健壮性, 特别是在某些单元启动失败的时候。 |
Wants= | |
BindsTo= | 与 Requires= 类似, 不同之处在于: 如果这里列出的单元停止运行或者崩溃, 那么也会连带导致该单元自身被停止。 这就意味着该单元可能因为 某个单元的主动退出、某个设备被拔出、某个挂载点被卸载, 而被强行停止。 |
PartOf= | 与 Requires= 类似, 不同之处在于:仅作用于单元的停止或重启。 其含义是,当停止或重启这里列出的某个单元时, 也会同时停止或重启该单元自身。 注意,这个依赖是单向的, 该单元自身的停止或重启并不影响这里列出的单元。 |
Conflicts= | 指定单元之间的冲突关系。 接受一个空格分隔的单元列表,表明该单元不能与列表中的任何单元共存, 也就是说:(1)当此单元启动的时候,列表中的所有单元都将被停止; (2)当列表中的某个单元启动的时候,该单元同样也将被停止。 注意,此选项与 After= 和 Before= 选项没有任何关系。 |
强制指定单元之间的先后顺序。 接受一个空格分隔的单元列表。 假定 foo.service 单元 包含 Before=bar.service 设置, 那么当两个单元都需要启动的时候, bar.service 将会一直延迟到 foo.service 启动完毕之后再启动。 注意,停止顺序与启动顺序正好相反, 也就是说, 只有当 bar.service 完全停止后, 才会停止 foo.service 单元。 After= 的含义 与 Before= 正好相反, 假定 foo.service 单元 包含 After=bar.service 设置, 那么当两个单元都需要启动的时候, foo.service 将会一直延迟到 bar.service 启动完毕之后再启动。 注意,停止顺序与启动顺序正好相反, 也就是说, 只有当 foo.service 完全停止后, 才会停止 bar.service 单元。 注意,此选项仅用于指定先后顺序, 与 Requires= 选项没有任何关系。 不过在实践中也经常遇见 将某个单元同时设置到 After= 与 Requires= 选项中的情形。 可以多次使用此选项, 以将多个单元添加到列表中。 假定两个单元之间存在先后顺序(无论谁先谁后), 并且一个要停止而另一个要启动, 那么永远是"先停止后启动"的顺序。 但如果两个单元之间没有先后顺序, 那么它们的停止和启动就都是相互独立的, 并且是并行的。 | |
OnFailure= | 接受一个空格分隔的单元列表。 当该单元进入失败("failed")状态时, 将会启动列表中的单元。 |
接受一个空格分隔的单元列表。 PropagatesReloadTo= 表示 在 reload 该单元时,也同时 reload 所有列表中的单元。 ReloadPropagatedFrom= 表示 在 reload 列表中的某个单元时,也同时 reload 该单元。 | |
JoinsNamespaceOf= | 接受一个空格分隔的单元列表, 表示将该单元所启动的进程加入到列表单元的网络及 临时文件(/tmp, /var/tmp) 的名字空间中。 如果单元列表中仅有一个单元处于已启动状态, 那么该单元将加入到这个唯一已启动单元的名字空间中。 如果单元列表中有多个单元处于已启动状态, 那么该单元将随机加入一个已启动单元的名字空间中。 此选项仅适用于支持 PrivateNetwork= 与/或 PrivateTmp= 指令的单元 (对加入者与被加入者都适用)。 详见 systemd.exec(5) 手册。 |
RequiresMountsFor= | 接受一个空格分隔的绝对路径列表,表示该单元将会使用到这些文件系统路径。 所有这些路径中涉及的挂载点所对应的 mount 单元,都会被隐式的添加到 Requires= 与 After= 选项中。 也就是说,这些路径中所涉及的挂载点都会在启动该单元之前被自动挂载。 |
OnFailureJobMode= | 可设为 "fail", "replace", "replace-irreversibly", "isolate", "flush", "ignore-dependencies", "ignore-requirements" 之一。 默认值是 "replace" 。 指定 OnFailure= 中列出的单元应该以何种方式排队。值的含义参见 systemctl(1) 手册中对 --job-mode= 选项的说明。 如果设为 "isolate" , 那么只能在 OnFailure= 中设置一个单独的单元。 |
IgnoreOnIsolate= | 如果设为 yes , 那么在执行 systemctl isolate another.target 命令时,此单元不会被停止。 默认值是 no 。 |
StopWhenUnneeded= | 如果设为 yes , 那么当此单元不再被任何已启动的单元依赖时, 将会被自动停止。 默认值 no 的含义是, 除非此单元与其他即将启动的单元冲突, 否则即使此单元已不再被任何已启动的单元依赖, 也不会自动停止它。 |
如果设为 yes , 那么此单元将拒绝被手动启动(RefuseManualStart=) 或拒绝被手动停止(RefuseManualStop=)。 也就是说, 此单元只能作为其他单元的依赖条件而存在, 只能因为依赖关系而被间接启动或者间接停止, 不能由用户以手动方式直接启动或者直接停止。 设置此选项是为了 禁止用户意外的启动或者停止某些特定的单元。 默认值是 no。 | |
AllowIsolate= | 如果设为 yes , 那么此单元将允许被 systemctl isolate 命令操作, 否则将会被拒绝。 唯一一个将此选项设为 yes 的理由,大概是为了兼容SysV初始化系统。 此时应该仅考虑对 target 单元进行设置, 以防止系统进入不可用状态。 建议保持默认值 no |
DefaultDependencies= | 默认值 yes 表示为此单元隐式地创建默认依赖。 不同类型的单元,其默认依赖也不同,详见各自的手册页。 例如对于 service 单元来说, 默认的依赖关系是指: (1)开机时,必须在基础系统初始化完成之后才能启动该服务; (2)关机时,必须在该服务完全停止后才能关闭基础系统。 通常,只有那些在系统启动的早期就必须启动的单元, 以及那些必须在系统关闭的末尾才能关闭的单元, 才可以将此选项设为 no 。 注意,设为 no 并不表示取消所有的默认依赖, 只是表示取消非关键的默认依赖。 强烈建议对绝大多数普通单元保持此选项的默认值 yes 。 |
用于设置该单元等候外部任务(job)完成的最长时限。 如果超时,那么超时的 job 将被撤销,并且该单元将保持其现有状态不变。 对于非 device 单元,此选项的默认值是 "infinity"(永不超时)。 注意,此选项的超时不是指单元自身的超时(例如 TimeoutStartSec= 就是指单元自身的超时), 而是指该单元在启动或者停止等状态变化过程中,等候某个外部任务完成的最长时限。 换句话说,适用于单元自身的超时设置(例如 TimeoutStartSec=)用于指定单元自身在改变其状态时,总共允许使用多长时间; 而 JobTimeoutSec= 则是设置此单元在改变其状态的过程中,等候某个外部任务完成所能容忍的最长时间。 | |
JobTimeoutAction= | 用于指定当超时发生时, 将触发什么样的额外动作。 默认值为 none 。 可设置的值与 StartLimitAction= 相同,参见 systemd.service(5) 手册。 JobTimeoutRebootArgument= 用于指定传递给 reboot(2) 系统调用的字符串参数。 |
设置单元的启动频率限制。 默认情况下,一个单元在10秒内最多允许启动5次。 StartLimitIntervalSec= 用于设置时长, 默认值等于 DefaultStartLimitIntervalSec= 的值(默认为10秒),设为 0 表示不作限制。 StartLimitBurst= 用于设置在一段给定的时长内,最多允许启动多少次, 默认值等于 DefaultStartLimitBurst= 的值(默认为5次)。 虽然此选项通常与 Restart= (参见 systemd.service(5)) 一起使用, 但实际上,此选项作用于任何方式的启动(包括手动启动), 而不仅仅是由 Restart= 触发的启动。 注意,一旦某个设置了 Restart= 自动重启逻辑的单元 触碰到了启动频率限制,那么该单元将再也不会尝试自动重启; 不过,如果该单元后来又被手动重启成功的话,那么该单元的自动重启逻辑将会被再次激活。 注意,systemctl reset-failed 命令能够重置单元的启动频率计数器。 系统管理员在手动启动某个已经触碰到了启动频率限制的单元之前,可以使用这个命令清除启动限制。 注意,因为启动频率限制位于所有单元条件检查之后,所以基于失败条件的启动不会计入启动频率限制的启动次数之中。 注意, slice, target, device, scope 单元不受此选项的影响, 因为这几种单元要么永远不会启动失败、要么只能成功启动一次。 | |
RebootArgument= | 当 StartLimitAction= 或 FailureAction= 触发关机动作时, 此选项的值就是传递给 reboot(2) 系统调用的字符串参数。 相当于 systemctl reboot 命令接收的可选参数。 |
这组选项用于在启动单元之前,首先测试特定的条件是否为真。 若为真则开始启动,否则将会(悄无声息地)跳过此单元(仅是跳过,而不是进入"failed"状态)。 注意,即使某单元由于测试条件为假而被跳过,那些由于依赖关系而必须先于此单元启动的单元并不会受到影响(也就是会照常启动)。 可以使用条件表达式来跳过那些对于本机系统无用的单元, 比如那些对于本机内核或运行环境没有用处的功能。 如果想要单元在测试条件为假时进入"failed"状态(而不是跳过), 可以使用对应的另一组 AssertXXX= 选项(见下面)。 | |
ConditionArchitecture= | 检测是否运行于特定的硬件平台: x86, x86-64, ppc, ppc-le, ppc64, ppc64-le, ia64, parisc, parisc64, s390, s390x, sparc, sparc64, mips, mips-le, mips64, mips64-le, alpha, arm, arm-be, arm64, arm64-be, sh, sh64, m86k, tilegx, cris, native(编译 systemd 时的目标平台)。 可以在这些关键字前面加上感叹号(!)前缀表示逻辑反转。 注意,Personality= 的设置对此选项没有任何影响。 |
ConditionVirtualization= | 检测是否运行于(特定的)虚拟环境中: qemu, kvm, zvm, vmware, microsoft, oracle, xen, bochs, uml, openvz, lxc, lxc-libvirt, systemd-nspawn, docker, rkt, vm(某种虚拟机), container(某种容器), yes(某种虚拟环境), no(物理机)。 参见 systemd-detect-virt(1) 手册以了解所有已知的虚拟化技术及其标识符。 如果嵌套在多个虚拟化环境内, 那么以最内层的那个为准。 可以在这些关键字前面加上感叹号(!)前缀表示逻辑反转。 |
ConditionHost= | 检测系统的 hostname 或者 "machine ID" 。 参数可以是一个主机名字符串(首尾可加引号界定), 或者是一个 "machine ID" 格式的字符串(首尾不可加引号), 参见 machine-id(5) 手册。 可以在字符串前面加上感叹号(!)前缀表示逻辑反转。 |
ConditionKernelCommandLine= | 检测是否设置了某个特定的内核引导选项。 参数可以是一个单独的单词,也可以是一个 "var=val" 格式的赋值字符串。 如果参数是一个单独的单词,那么以下两种情况都算是检测成功: (1)恰好存在一个完全匹配的单词选项; (2)在某个 "var=val" 格式的内核引导选项中等号前的 "var" 恰好与该单词完全匹配。 如果参数是一个 "var=val" 格式的赋值字符串, 那么必须恰好存在一个完全匹配的 "var=val" 格式的内核引导选项,才算检测成功。 可以在字符串前面加上感叹号(!)前缀表示逻辑反转。 |
ConditionSecurity= | 检测是否启用了特定的安全模块: selinux, apparmor, ima, smack, audit 。 可以在这些关键字前面加上感叹号(!)前缀表示逻辑反转。 |
ConditionCapability= | 检测 systemd 的 capability 集合中是否存在特定的 capabilities(7) 。 参数应设为例如 "CAP_MKNOD" 这样的 capability 名称。 注意,此选项不是检测特定的 capability 是否实际可用, 而是仅检测特定的 capability 在绑定集合中是否存在。 可以在名称前面加上感叹号(!)前缀表示逻辑反转。 |
ConditionACPower= | 检测系统是否正在使用交流电源。 yes 表示至少在使用一个交流电源, 或者更本不存在任何交流电源。 no 表示存在交流电源, 但是没有使用其中的任何一个。 |
ConditionNeedsUpdate= | 可设为 /var 或 /etc 之一, 用于检测指定的目录是否需要更新。 设为 /var 表示 检测 /usr 目录的最后更新时间(mtime) 是否比 /var/.updated 文件的最后更新时间(mtime)更晚。 设为 /etc 表示 检测 /usr 目录的最后更新时间(mtime) 是否比 /etc/.updated 文件的最后更新时间(mtime)更晚。 可以在值前面加上感叹号(!)前缀表示逻辑反转。 当更新了 /usr 中的资源之后,可以通过使用此选项, 实现在下一次启动时更新 /etc 或 /var 目录的目的。 使用此选项的单元必须设置 ConditionFirstBoot=systemd-update-done.service , 以确保在 .updated 文件被更新之前启动完毕。 参见 systemd-update-done.service(8) 手册。 |
ConditionFirstBoot= | 可设为 yes 或 no 。 用于检测 /etc 目录 是否处于未填充的原始状态 (也就是系统出厂后的首次启动)。 此选项可用于系统出厂后,首次开机时执行必要的初始化操作。 |
ConditionPathExists= | 检测指定的路径是否存在, 必须使用绝对路径。 可以在路径前面加上感叹号(!)前缀表示逻辑反转。 |
ConditionPathExistsGlob= | 与 ConditionPathExists= 类似, 唯一的不同是支持通配符。 |
ConditionPathIsDirectory= | 检测指定的路径是否存在并且是一个目录,必须使用绝对路径。 可以在路径前面加上感叹号(!)前缀表示逻辑反转。 |
ConditionPathIsSymbolicLink= | 检测指定的路径是否存在并且是一个软连接,必须使用绝对路径。 可以在路径前面加上感叹号(!)前缀表示逻辑反转。 |
ConditionPathIsMountPoint= | 检测指定的路径是否存在并且是一个挂载点,必须使用绝对路径。 可以在路径前面加上感叹号(!)前缀表示逻辑反转。 |
ConditionPathIsReadWrite= | 检测指定的路径是否存在并且可读写(rw),必须使用绝对路径。 可以在路径前面加上感叹号(!)前缀表示逻辑反转。 |
ConditionDirectoryNotEmpty= | 检测指定的路径是否存在并且是一个非空的目录,必须使用绝对路径。 可以在路径前面加上感叹号(!)前缀表示逻辑反转。 |
ConditionDirectoryNotEmpty= | 检测指定的路径是否存在并且是一个非空的目录,必须使用绝对路径。 可以在路径前面加上感叹号(!)前缀表示逻辑反转。 |
ConditionFileNotEmpty= | 检测指定的路径是否存在并且是一个非空的普通文件,必须使用绝对路径。 可以在路径前面加上感叹号(!)前缀表示逻辑反转。 |
ConditionFileIsExecutable= | 检测指定的路径是否存在并且是一个可执行文件,必须使用绝对路径。 可以在路径前面加上感叹号(!)前缀表示逻辑反转。 |
|
|
字段 | 说明 |
Alias= | 启用时使用的别名,可以设为一个空格分隔的别名列表。 每个别名的后缀(也就是单元类型)都必须与该单元自身的后缀相同。 如果多次使用此选项,那么每个选项所设置的别名都会被添加到别名列表中。 在启用此单元时,systemctl enable 命令将会为每个别名创建一个指向该单元文件的软连接。 注意,因为 mount, slice, swap, automount 单元不支持别名,所以不要在这些类型的单元中使用此选项。 |
Also= | |
DefaultInstance= | 仅对模板单元有意义, 用于指定默认的实例名称。 如果启用此单元时没有指定实例名称, 那么将使用这里设置的名称。 |