zoukankan      html  css  js  c++  java
  • centos7下/etc/rc.local文件里配置的开机启动项不执行的解决办法

    习惯于在/etc/rc.local文件里配置我们需要开机启动的服务,这个在centos6系统下是正常生效的。但是到了centos7系统下,发现/etc/rc.local文件里的开机启动项不执行了!仔细研究/etc/rc.local文件内容,发现问题如下:

    [root@openstack ~]# cat /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 contrast 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@openstack ~]# ll /etc/rc.local
    lrwxrwxrwx. 1 root root 13 1月  29 10:45 /etc/rc.local -> rc.d/rc.local
    [root@openstack ~]# ll /etc/rc.d/rc.local 
    -rw-r--r--. 1 root root 473 1月  25 23:52 /etc/rc.d/rc.local
    

    /etc/rc.d/rc.local没有执行权限,于是按说明的内容执行:

    [root@openstack ~]# chmod +x /etc/rc.d/rc.local
    [root@openstack ~]# ll /etc/rc.d/rc.local 
    -rwxr-xr-x. 1 root root 473 1月  25 23:52 /etc/rc.d/rc.local
    

    重启服务器后发现/etc/rc.local文件里设置的开启启动项能够正常执行了。由此可见,虽然centos版本的变迁,/etc/rc.local、/etc/rc.d/rc.local正在处于被弃用的路上。

  • 相关阅读:
    Azure 虚拟机安全加固整理
    AzureARM 使用 powershell 扩容系统磁盘大小
    Azure Linux 云主机使用Root超级用户登录
    Open edX 配置 O365 SMTP
    powershell 根据错误GUID查寻错误详情
    azure 创建redhat镜像帮助
    Azure Powershell blob中指定的vhd创建虚拟机
    Azure Powershell 获取可用镜像 PublisherName,Offer,Skus,Version
    Power BI 连接到 Azure 账单,自动生成报表,可刷新
    Azure powershell 获取 vmSize 可用列表的命令
  • 原文地址:https://www.cnblogs.com/kevingrace/p/8387827.html
Copyright © 2011-2022 走看看