zoukankan      html  css  js  c++  java
  • systemctl enable rc-local.service error

    /*******************************************************************************
     *                 systemctl enable rc-local.service error
     * 说明:
     *     在YOCTO中使能rc.local发现无法enable;
     *
     *                                          2019-6-10 深圳 宝安西乡 曾剑锋
     ******************************************************************************/
    
    一、Error
        root@zengjf:/etc/systemd/system# systemctl enable rc-local.service
        The unit files have no installation config (WantedBy, RequiredBy, Also, Alias
        settings in the [Install] section, and DefaultInstance for template units).
        This means 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, ...).
        4) In case of template units, the unit is meant to be enabled with some
           instance name specified.
    
    二、错误原因
        1. 无Install字段;
        2. 添加Install字段:
            root@zengjf:/lib/systemd/system# cat rc-local.service
            #  SPDX-License-Identifier: LGPL-2.1+
            #
            #  This file is part of systemd.
            #
            #  systemd is free software; you can redistribute it and/or modify it
            #  under the terms of the GNU Lesser General Public License as published by
            #  the Free Software Foundation; either version 2.1 of the License, or
            #  (at your option) any later version.
            
            # This unit gets pulled automatically into multi-user.target by
            # systemd-rc-local-generator if /etc/rc.local is executable.
            [Unit]
            Description=/etc/rc.local Compatibility
            Documentation=man:systemd-rc-local-generator(8)
            ConditionFileIsExecutable=/etc/rc.local
            After=network.target
            
            [Service]
            Type=forking
            ExecStart=/etc/rc.local start
            TimeoutSec=0
            RemainAfterExit=yes
            GuessMainPID=no
            
            [Install]
            WantedBy=multi-user.target
        3. 重新enable:
            root@zengjf:/etc/systemd/system# systemctl enable rc-local.service
            Created symlink /etc/systemd/system/multi-user.target.wants/rc-local.service → /lib/systemd/system/rc-local.service.
        4. 查看生成文件:
            root@zengjf:/etc/systemd/system/multi-user.target.wants# ls -al rc-local.service 
            lrwxrwxrwx 1 root root 36 Apr 19 20:00 rc-local.service -> /lib/systemd/system/rc-local.service
            root@zengjf:/etc/systemd/system/multi-user.target.wants#
        5. 创建/etc/rc.local,并赋予执行权限;
            root@zengjf:~# cat /etc/rc.local
            #!/bin/sh -e
            #
            # rc.local
            #
            
            echo "-------------------------------" >> /etc/zengjf
            echo rc.local >> /etc/zengjf
            echo "-------------------------------" >> /etc/zengjf
            
            exit 0
        6. 重启查看输出;
            root@zengjf:~# cat /etc/zengjf
            -------------------------------
            rc.local
            -------------------------------
  • 相关阅读:
    【应用安全】mssql db_owner权限拿shell
    【应用安全——XSS】input-hidden
    留言板
    Git配置多个SSH-Key
    13.InternalThreadLocalMap
    10.ChannelOutboundBuffer
    9.ChannelHandlerContext
    8.Future&Promise
    7.给大动脉来一刀-NioEventLoop 源码分析
    6.给大动脉来一刀
  • 原文地址:https://www.cnblogs.com/zengjfgit/p/10997034.html
Copyright © 2011-2022 走看看