最近开始装 centos7 了,确实有不少不习惯。。比如 rc.local 。这个文件是在开机自动执行的,里面可以写需要开机启动的命令。类似于 windows 的启动。很好用的一个文件。不过在 centos7 里面居然默认是不执行的。。
于是认真看了下 /etc/rc.local 文件内容的就发现了问题的原因了
#!/bin/bash
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
#
# It is highly advisable to create own systemd services or udev rules
# to run scripts during boot instead of using this file.
#
# In constrast to previous versions due to parallel execution during boot
# this script will NOT be run after all other services.
#
# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script will be executed during boot.
翻译:
# 这个文件是为了兼容性的问题而添加的。
#
# 强烈建议创建自己的 systemd 服务或 udev 规则来在开机时运行脚本而不是使用这个文件。
#
# 与以前的版本引导时的并行执行相比较,这个脚本将不会在其他所有的服务后执行。
#
# 请记住,你必须执行“ chmod +x /etc/rc.d/rc.local ”来确保确保这个脚本在引导时执行。
于是我有确认了下 /etc/rc.local 的权限
[root@localhost ~]# ll /etc/rc.local
lrwxrwxrwx. 1 root root 13 8 月 12 06:09 /etc/rc.local -> rc.d/rc.local
[root@localhost ~]# ll /etc/rc.d/rc.local
-rw-r--r--. 1 root root 477 6 月 10 13:35 /etc/rc.d/rc.local
/etc/rc.d/rc.local 没有执行权限,于是按说明的内容执行
chmod +x /etc/rc.d/rc.local
重启后发现 /etc/rc.local 能够执行了。
看样子是版本的变迁, /etc/rc.local /etc/rc.d/rc.local 正在弃用的路上。