Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1377839
  • 博文数量: 198
  • 博客积分: 1629
  • 博客等级: 上尉
  • 技术积分: 2743
  • 用 户 组: 普通用户
  • 注册时间: 2011-08-01 15:41
文章分类
文章存档

2023年(6)

2022年(20)

2021年(8)

2020年(3)

2018年(17)

2017年(3)

2016年(3)

2015年(9)

2014年(13)

2013年(17)

2012年(77)

2011年(22)

分类: LINUX

2022-12-26 18:56:53

在Ubuntu14.04 /16.04 系统上,其用initd管理系统,之前也写的一篇文章《在Linux中利用Service命令添加系统服务及开机自启动》,介绍如何在 rc.local 脚本中开启启动自己编写的脚本、程序或者服务等。而现在Ubuntu18.04不再使用initd管理系统,改用systemd。下面介绍一种方法,通过下列简单设置后,可以使rc.local重新发挥作用。

1 机制
systemd 默认会读取 /etc/systemd/system 下的配置文件,该目录下的文件会链接 /lib/systemd/system/ 下的文件。
一般系统安装完 /lib/systemd/system/ 下会有 rc-local.service 文件,即我们需要的配置文件。该文件里面有写到 rc.local 的启动顺序和行为。
我们可以看到,其中还有类似reboot.target 一类的*.target文件,用于指定什么时候启动 我们自己自定的软件。

$ ll | grep target
-rw-r--r--  1 root root   919 1月  28  2018 basic.target
drwxr-xr-x  2 root root  4096 5月  18  2018 basic.target.wants/
-rw-r--r--  1 root root   419 1月  28  2018 bluetooth.target
-rw-r--r--  1 root root   465 1月  28  2018 cryptsetup-pre.target
-rw-r--r--  1 root root   412 1月  28  2018 cryptsetup.target
lrwxrwxrwx  1 root root    13 9月  30 23:23 ctrl-alt-del.target -> reboot.target
lrwxrwxrwx  1 root root    16 9月  30 23:23 default.target -> graphical.target
-rw-r--r--  1 root root   471 1月  28  2018 emergency.target
-rw-r--r--  1 root root   541 1月  28  2018 exit.target
-rw-r--r--  1 root root   480 1月  28  2018 final.target
...


2 方法
现在介绍如何在Ubuntu18.04启用 rc.local 设置开机启动脚本。

1) rc-local.service 文件虽然里面有写到 rc.local 的启动顺序和行为,但是没用写加载这个 rc-local.service ,编译该文件:
sudo vim /lib/systemd/system/rc-local.service
在文件后加上如下内容:


[Install]
WantedBy=multi-user.target
Alias=rc-local.service

2)将 /lib/systemd/system/rc-local.service 链接到 /etc/systemd/system/ 目录下:

sudo systemctl enable rc-local.service
#或者
sudo ln -fs /lib/systemd/system/rc-local.service /etc/systemd/system/rc-local.service

3)创建/etc/rc.local文件,赋可执行权限:
sudo touch /etc/rc.local
sudo chmod 755 /etc/rc.local 

4)编辑rc.local,添加需要开机启动的任务:
#!/bin/bash
echo "test rc " > /var/test.log

5)执行reboot重启系统,然后查看test.log:


到此为止,和以前一样的 rc.local 就完成了!

原文链接:https://blog.csdn.net/u013554213/article/details/102947060
阅读(632) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~