• 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
            -------------------------------
  • 相关阅读:
    牛客网2017年校招全国统一模拟笔试(第三场)编程题集合
    侯捷STL学习(六)--深入list && Iterator traits
    侯捷STL学习(五)--allocator和容器之间的实现关系
    侯捷STL学习(四)--OOP-GP/操作符重载-泛化特化
    侯捷STL学习(三)--分配器测试
    侯捷STL学习(二)--序列容器测试
    牛客网2017年校招全国统一模拟笔试(第一场)编程题集合
    数据库面试题(一)
    SQL基础理论题
    基本SQL练习题--选课经典例题
  • 原文地址:https://www.cnblogs.com/zengjfgit/p/10997034.html
Copyright © 2020-2023  润新知