一、服务管理
Ubuntu18.04版本以上使用 systemd 管理工具对启动项进行管理,该工具默认读取 /etc/systemd/system 下的文件,并且链接到 /lib/systemd/system/ 目录下的脚本文件。
其中 /etc/systemd/system 存放的是系统管理员设定的启动服务,优先级在启动项中处于最高地位。/lib/systemd/system/ 存放的是安装包的启动服务。
对于我们自定义的启动服务,建议放到 /lib/systemd/system/ 下,然后利用软连接的方式连接到 /etc/systemd/system。这两个目录下启动项服务的优先级从高到低,如果在两个文件夹下对同一个启动项都有配置,优先级高的会覆盖掉优先级低的。
二、自启动服务配置
本篇博客通过开机在用户 /home/<用户名> 目录下创建一个测试文件,实现开机自启动服务的配置功能。
1. 修改服务文件
- 修改启动脚本:rc-local.service
ff@EVA-01:~$ cd /lib/systemd/system
ff@EVA-01:~$ sudo vim rc-local.service
- 首先在文件末尾添加 [Install] 内容,service文件中各个标题含义大家可以通过该 链接 进行详细学习。
# This file is part of systemd.
#
# systemd is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
# This unit gets pulled automatically into multi-user.target by
# systemd-rc-local-generator if /etc/rc.local is executable.
[Unit]
Description=/etc/rc.local Compatibility
ConditionFileIsExecutable=/etc/rc.local
After=network.target
[Service]
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
RemainAfterExit=yes
# 添加内容
[Install]
WantedBy=multi-user.target
Alias=rc-local.service
2. 创建链接脚本
- 创建 rc.local脚本,并添加执行权限。
ff@EVA-01:~$ sudo vim /etc/rc.local
- 将打开后的文件中填入如下内容:
#!/bin/bash
# 创建一个脚本
touch /home/<你的用户名>/testfile.txt
- 保存退出后对该文件进行可执行权限添加:
sudo chmod a+x /etc/rc.local
3. 建立软连接
- 在 /etc/systemd/system 目录下建立软连接:
ln -s /lib/systemd/system/rc-local.service /etc/systemd/system/
4. 测试及说明
- 经过上述配置后使用reboot命令重启系统,可以在用户的目录下看见我们创建的 testfile.txt 文档。
- 说明1:
- 说明2: