共计 1431 个字符,预计需要花费 4 分钟才能阅读完成。
ubuntu 从 16.04 开始不再使用 initd 管理系统,改用 systemd。
然而 systemd 对于使用者的要求很高,需要记忆很多命令不说,每个命令的单词长度也是不能忍的。
然而,没办法,谁叫他的图形界面确实支持的软件多呢,吐完后还是接着干活吧。
为了像以前一样,在 /etc/rc.local 中设置开机启动程序,需要以下几步:
1、使用现有的启动项
systemd 默认读取 /etc/systemd/system 下的配置文件。
该目录下的文件会链接 /lib/systemd/system/ 下的文件。
一般系统安装完 /lib/systemd/system/ 下会有 rc-local.service 文件,即我们需要的配置文件。
链接过来:
ln -fs /lib/systemd/system/rc-local.service /etc/systemd/system/rc-local.service
cd /etc/systemd/system/
vim rc-local.service
rc-local.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
GuessMainPID=no
[Install]
WantedBy=multi-user.target
Alias=rc-local.service
2、创建 /etc/rc.local 文件
touch /etc/rc.local
3、赋可执行权限
chmod 755 /etc/rc.local
4、编辑 rc.local,添加需要开机启动的任务
#!/bin/bash
/home/chin/startup.sh
执行 reboot 重启系统验证 OK。
最后,说一下 /etc/systemd/system/ 下的配置文件(XXXX.service),
其中有三个配置项,[Unit] / [Service] / [Install]
1) [Unit] 区块:启动顺序与依赖关系。
2) [Service] 区块:启动行为, 如何启动,启动类型。
3) [Install] 区块,定义如何安装这个配置文件,即怎样做到开机启动。
