银河麒麟系统不再使用initd管理系统,改用systemd。
然而systemd很难用,改变太大,跟之前的完全不同。
使用systemd设置开机启动,为了像以前一样,在/etc/rc.local中设置开机启动程序,需要以下几步:
一、实现原理
systemd 默认会读取 /etc/systemd/system 下的配置文件,该目录下的文件会链接 /lib/systemd/system/ 下的文件。一般系统安装完 /lib/systemd/system/ 下会有 rc-local.service文件,即我们需要的配置文件。
/lib/systemd/system/:
可以看到 target 的定义:
查看
target:ll | grep target
target 用于指定什么时候启动我们自己自定的软件。
二、操作方法
1.将 /lib/systemd/system/rc-local.service 链接到 /etc/systemd/system/ 目录下面来:
ln -fs /lib/systemd/system/rc-local.service /etc
/systemd/system/rc-local.service
查看文件内容:
cd /etc/systemd/system/
cat rc-local.service
说明:
[Unit] 区块:启动顺序与依赖关系。
ConditionFileIsExecutable :指定了执行的文件,
After :表示在 network.target 这个target后面进行执行。也就是网络启动完成之后,执行 /etc/rc.local 文件。
[Service] 区块:启动行为,如何启动,启动类型。
Type=forking
ExecStart=/etc/rc.local start
TimeoutSec=0
RemainAfterExit=yes
GuessMainPID=no
[Install] 区块:定义如何安装这个配置文件,即怎样做到开机启动。也是我们自己编辑新增的。
2.创建/etc/rc.local文件
touch /etc/rc.local
3.赋可执行权限
chmod 755 /etc/rc.local
4.编辑rc.local,添加需要开机启动的任务
#!/bin/bash
echo "test rc "> /var/test.log
# startup redis-server:
/usr/local/bin/redis-server /usr/redis/redis.conf
# startup mysqld
/usr/local/mysql/bin/mysqld_safe --user=mysql &
# startup tomcat
/usr/tomcat/apache-tomcat-7.0.90/bin/startup.sh
/usr/tomcat/apache-tomcat-7.0.90-02/bin/startup.sh
这里是设置的 redis 、 mysqld、tomcat等开机自动启动。
5.执行reboot重启系统,然后查看test.log文章来源:https://www.toymoban.com/news/detail-402864.html
注:其实就是利用 systemd 的启动原理, 通过/etc/systemd/system/rc-local.service 文件来达到启动时执行 /etc/rc.local 文件的目的。文章来源地址https://www.toymoban.com/news/detail-402864.html
到了这里,关于银河麒麟桌面系统启用 rc.local 设置开机启动方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!