rc.local文件中添加的命令不执行且rc-local.service启动失败怎么办128


猕猴桃
猕猴桃 2024-10-13 18:52:25 7461
分类专栏:问答 问题分类: 麒麟软件
已结题
2 个回答
  • 1、将/etc/rc.local的命令改成更加兼容的模式,将"#!/bin/sh"改为"#!/bin/bash" 

    2、将/bin/sh重新链接到/bin/bash,方法如下:

    方法一:终端执行 sudo dpkg-reconfigure dash,然后选择 no.

    方法二:重新进行软链接,执行以下命令:

    sudo rm /bin/sh
    sudo ln -s /bin/bash /bin/sh

    这样就将/bin/sh链接到了/bin/bash。reboot系统后,命令正常执行

    我使用的是第一个方法连接的,实测可用。

    此时,开机自启后,可以看到相应目录下的test.txt里被写入了指定内容。

    赞同 0 反对 0

    漫漫漫过海湾
  • AI机器人 进阶 2024-10-13 19:21:01

    当你在 Linux 系统的 `/etc/rc.local` 文件中添加命令,但这些命令不执行,并且 `rc-local.service` 启动失败时,你可以按照以下步骤进行故障排查和解决:

    ### 1. 检查 `/etc/rc.local` 文件的权限和内容

    确保 `/etc/rc.local` 文件是可执行的,并且具有正确的权限。通常,这个文件应该有执行权限,并且以 root 用户身份运行。

    ```bash
    sudo chmod +x /etc/rc.local
    ```

    检查 `/etc/rc.local` 文件的内容,确保它有一个明确的 `exit 0` 语句作为最后一个命令,以确保脚本正常退出。

    ```bash
    sudo cat /etc/rc.local
    ```

    确保文件中没有语法错误,并且所有命令都适合在启动时执行。

    ### 2. 检查 systemd 的 `rc-local.service`

    在较新的 Linux 发行版中,`/etc/rc.local` 可能不再默认启用,而是使用 systemd 的 `rc-local.service` 来控制。你需要确保这个服务是启用的。

    首先,检查 `rc-local.service` 文件是否存在,并查看其内容。这个文件通常位于 `/lib/systemd/system/` 或 `/etc/systemd/system/`。

    ```bash
    sudo cat /lib/systemd/system/rc-local.service
    ```

    或者,如果你的系统中有自定义的 `rc-local.service`,请查看 `/etc/systemd/system/` 目录。

    确保 `rc-local.service` 文件中正确引用了 `/etc/rc.local`。通常,它应该看起来像这样:

    ```ini
    [Unit]
    Description=/etc/rc.local Compatibility
    ConditionPathExists=/etc/rc.local

    [Service]
    Type=forking
    ExecStart=/etc/rc.local start
    TimeoutSec=0
    StandardOutput=tty
    RemainAfterExit=yes
    SysVStartPriority=99

    [Install]
    WantedBy=multi-user.target
    ```

    注意:`ExecStart` 应该直接指向 `/etc/rc.local`,而不是使用 `start` 参数(除非你有特殊的包装脚本)。

    ### 3. 启用并启动 `rc-local.service`

    如果 `rc-local.service` 文件看起来没问题,尝试启用并启动服务:

    ```bash
    sudo systemctl enable rc-local.service
    sudo systemctl start rc-local.service
    ```

    然后检查服务的状态:

    ```bash
    sudo systemctl status rc-local.service
    ```

    ### 4. 查看日志

    如果服务仍然失败,查看系统日志以获取更多信息:

    ```bash
    journalctl -u rc-local.service
    ```

    或者,查看 `/var/log/syslog` 或 `/var/log/messages`(取决于你的 Linux 发行版)。

    ### 5. 确保没有其他服务冲突

    有时,其他服务可能会干扰 `rc-local.service` 的运行。确保没有其他服务或脚本正在尝试同时修改或依赖 `rc.local` 中的资源。

    ### 6. 考虑使用其他方法

    如果 `rc.local` 和 `rc-local.service` 持续引发问题,你可以考虑使用 systemd 的其他功能来运行你的启动脚本,例如创建自定义的 systemd 服务单元。

    赞同 0 反对 0

猕猴桃新手
粉丝 1 发表 18 + 关注 私信
上周热门
有没有整合的麒麟各版本镜像资源分享一下  710
统信系统在文件的移动删除复制粘贴都会遇到卡在百分之1的情况,是什么原因呢  683
统信系统可以装这些软件吗?  675
这段话是什么意思,我远程麒麟系统选xvnc以前可以操作,比xorg模式快很多,最近突然提示这个不让远程登录了。  629
您好鸭,想问问麒麟系统怎么进行系统监控,进程的运行时间来优化性能  577
微信打开后白屏显示,无任何消息怎么办  501
目前海康威视频插件有适配麒麟嘛?  381
磁盘分区显示没有efi分区怎么办  364
求最新的全套化的麒麟系统安装教程  334
统信uos1060无法更换壁纸了怎么办  291
本周热议
麒麟系统登录输入密码后又需要重新输入密码,确定密码正确。如何处理? 12
统信UOS系统下安装HP打印机驱动问题 10
求麒麟系统下的Broadcom 802.11n 无线网卡驱动 10
银河麒麟桌面操作系统V10 SP1安装应用时会反复提示安全授权认证,如何才能取消呢? 10
如何在统信系统使用VFP? 9
银河麒麟系统登录时用户名是中文,如何将输入法切换成中文进行登录? 9
银河麒麟系统安装软件需要密码授权,单用户模式修改密码不行,如何解决 8
使用正版软件承诺书每年一签有相关的政策文件吗? 8
uos浏览器不能访问住建部网站 7
Windows电脑通过蓝牙向统信UOS系统传输小文件提示成功但UOS并未显示接受到文件如何解决? 7

添加我为好友,拉您入交流群!

请使用微信扫一扫!