Ubuntu18.04 systemd开机自启

it2024-01-17  62

Ubuntu18.04不再使用initd管理系统,改用systemd,为了像以前一样,在/etc/rc.local中设置开机启动程序,需要以下几步:

1、systemd默认读取/etc/systemd/system下的配置文件,该目录下的文件会链接/lib/systemd/system/下的文件。一般系统安装完/lib/systemd/system/下会有rc-local.service文件,即我们需要的配置文件。

创建软链接:

1

ln -fs /lib/systemd/system/rc-local.service /etc/systemd/system/rc-local.service

1

2

cd /etc/systemd/system/

cat rc-local.service

rc-local.service内容如下

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

#  SPDX-License-Identifier: LGPL-2.1+ 

#  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 

Documentation=man:systemd-rc-local-generator(8) 

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    

区块解释:

  [Unit]:启动顺序与依赖关系。

  [Service]:启动行为,如何启动,启动类型。

  [Install] :定义如何安装这个配置文件,即怎样做到开机启动。

2、创建/etc/rc.local文件,赋可执行权限

2

sudo touch /etc/rc.local

sudo chmod 755 /etc/rc.local

3、编辑/etc/rc.local,添加需要开机启动的任务

1

 #!/bin/bash

echo "test " > /var/test.log

4、重启系统,然后查看test.log

最新回复(0)