ubuntu 18.04 不再使用 inited 管理系统,改用 systemd
systemd 里面有个 rc-local.service 文件,里面有写到 rc.local 的启动顺序和行为,但是没用写加载这个 rc-local.service 。也就是说我们需要给它写上这个。
sudo vim /etc/systemd/system/rc-local.service
在文件后加上如下内容:
[Install]
WantedBy=multi-user.target
Alias=rc-local.service #这一行设置不设置都不影响,我不知道这是为什么
接下来就创建属于我们的 /etc/rc.local
bash
脚本吧
sudo touch /etc/rc.local
chmod 755 /etc/rc.local
写入 bash
脚本执行的编译器
makdir ~/caonima/fuck
我在华为云机器上试 了一下,但是没有用,
然后开始了我长达一个小时的问题解决之路,气死我了
这是自启动配置文件中配置的命令
root@:~# cat /etc/rc.local
#!bin/bash
#请注意命名文件与本内容无关
mkdir ~/caonima
结果
root@:~# ls
caonima
说说上面的问题
按照上面的办法,实际上上不行的,为什么不行,我不知道,但是实际上csdn上好多几万赞的文章办法都和上面的类似
不得已之下,我为了写这篇文章,而且我需要对读者负责的态度,我实践了一番
先说说少了哪些步骤
他们创建了服务以后没有说明服务启动环节
启用服务
sudo systemctl enable rc-local
启动服务并检查状态
sudo systemctl start rc-local.service
sudo systemctl status rc-local.service
如果systemctl status rc-local.service 命令报错,那说明设置的并不成功,需要检查存在哪些问题
实际上enable这个是必须有的,要不然好像是没办法使用
我遇到的问题
rc-local.service - /etc/rc.local Compatibility
Loaded: loaded (/etc/systemd/system/rc-local.service; enabled; vendor preset: enabled)
Drop-In: /lib/systemd/system/rc-local.service.d
└─debian.conf
Active: failed (Result: exit-code) since Sun 2020-09-27 21:05:35 CST; 12min ago
Docs: man:systemd-rc-local-generator(8)
Process: 1732 ExecStart=/etc/rc.local start (code=exited, status=203/EXEC)
Sep 27 21:05:35 ecs-s6-small-1-linux-20200914103851 systemd[1]: Starting /etc/rc.local Compatibility...
Sep 27 21:05:35 ecs-s6-small-1-linux-20200914103851 systemd[1732]: rc-local.service: Failed to execute command: Exec format error
Sep 27 21:05:35 ecs-s6-small-1-linux-20200914103851 systemd[1732]: rc-local.service: Failed at step EXEC spawning /etc/rc.local: Exec format error
Sep 27 21:05:35 ecs-s6-small-1-linux-20200914103851 systemd[1]: rc-local.service: Control process exited, code=exited status=203
Sep 27 21:05:35 ecs-s6-small-1-linux-20200914103851 systemd[1]: rc-local.service: Failed with result 'exit-code'.
Sep 27 21:05:35 ecs-s6-small-1-linux-20200914103851 systemd[1]: Failed to start /etc/rc.local Compatibility.
要么是我要自启动的命令出现了问题,要么是我的rc-local.service 文件设置的有问题,经过检查
最上边配置是没有问题的
前置知识的学习
说是最开始的linux版本带/etc/rc.local文件
但是新版本不带这个文件了,所以就需要创建上边那个rc-local.service 文件
但是创建了这个文件之后要使用systemctl来进行enable
这个就关系到systemctl命令的使用了
累死了,先不看了,改天再看