网络运营

Fedora 24 设置开机启动脚本

我们的电脑经常开机需要启动一些程序,例如代理啊,或者自己写的一些小软件,自动键盘切换等。

需要了解的是Fedora 从15开始,系统初始化软件开始由initscript转向了systemd方式,原来要写开机启动脚本一般写在rc.local里面,但现在不适用了,不过systemd仍然有rc-local服务。理论上fedora的15以后的版本都可以这样用。

关于systemd的介绍,可以参看这篇文章

 

个人配置的启动脚本

首先需要配置生成自启动运行的文件

 

sudo touch /etc/rc.d/rc.local    #生产文件

sudo vim /etc/rc.d/rc.local     # 开始编辑文件

在打开的vim中,在/etc/rc.d/rc.local文件中写入, 开机需要运行的命令,

 

#!/bin/bash

# 在这个文件中写入开机启动需要执行的命令

sh /opt/keyboard_manager/run.sh  #我的键盘管理程序

然后使用:wq命令 保存并退出.

接着赋予可执行权限:

 

sudo  chmod +x  /etc/rc.d/rc.local

然后可以用如下命令设置开机启动:

 

sudo systemctl enable rc-local.service

如果运行出现出现了以下错误提示:

[root@dev-zhanghua ~]# systemctl enable rc-local.service

The unit files have no [Install] section. They are not meant to be enabled

using systemctl.

Possible reasons for having this kind of units are:

1) A unit may be statically enabled by being symlinked from another unit’s

.wants/ or .requires/ directory.

2) A unit’s purpose may be to act as a helper for some other unit which has

a requirement dependency on it.

3) A unit may be started when needed via activation (socket, path, timer,

D-Bus, udev, scripted systemctl call, …).

这时编辑一下/usr/lib/systemd/system/rc-local.service文件:

 

sudo vim /usr/lib/systemd/system/rc-local.service

在该文件的末尾加入如下两行:

 

[Install]

WantedBy=multi-user.target

意思是用于告诉systemd需要在多用户启动时还是图形启动时自启动这个脚本,然后重新设置开机自启动:

 

sudo systemctl enable rc-local.service

想查看运行状态, 可以使用如下命令:

 

systemctl status rc-local.service

如果出现以下提示, 设置成功!

[zhangguhua@magic-box ~]$ systemctl status rc-local.service

  • rc-local.service – /etc/rc.d/rc.local Compatibility

Loaded: loaded (/usr/lib/systemd/system/rc-local.service; enabled)

Active: active (running) since Wed 2017-04-26 17:22:42 CST; 3h 11min ago

如果不想将该服务设置为开机自启动了,可以使用如下命令来取消:

 

sudo systemctl disable rc-local.service

系统的服务

比如我的代理程序使用supervisord管理的,平常启动命令如下:

 

sudo service supervisord start

如果我需要将其配置成开机自启动的话,也很简单,使用enable即可,命令如下:

 

systemctl enable supervisord.service

取消开机自启动就不说了,如同上文使用disable即可。

 

这样再也不用每次重启还得数一大堆命令,配置环境了。

Be the First to comment.

Leave a Comment

电子邮件地址不会被公开。 必填项已用*标注