Jetson Orin (ubuntu20.04)rc自启动程序无法成功启动报错解决: Failed to start /etc/rc.local Compatibility.7月 07 09:40:
删除/usr/lib/systemd/system/rc-local.servive/lib/systemd/system/rc-local.service /etc/systemd/system/rc-local.service。如果不放心,重新给/etc/rc.local文件赋予权限chmod +x /etc/rc.local。将新的rc-local.service文件拷贝到上面的/lib/s
错误一:
: Failed to start /etc/rc.local Compatibility.7月 07 09:40:03Ubuntusystemd[1]: rc-local.service: Unit entered failed state.7月 07 09:40:03Ubuntu systemd[1]: rc-local.service: Failed with result 'exit-code'
按照一般的排查都是查看rc-local.service文件和rc.local文件内容是否写错,添加exit 0 更改脚本内的#! /bin/bash等,替换以后不行,看到错误里面关于有no such file的提示可能是和文件未成功识别加载有关,ubuntu下的格式改为unix格式,一般情况下下载dos2unix即可 sudo apt install dos2unix
再运行 dos2unix xx.sh(或者rc.local等文件)为你要运行的sh文件,这是将文件格式转换为unix的
重新执行错误二的步骤即可
错误二: (其实就是没完全删除步骤一里面的错误文件,重新换格式做一次即可)
sudo systemctl disable rc-local
Failed to disable unit: Refusing to operate on alias name or linked unit
删除/usr/lib/systemd/system/rc-local.servive /lib/systemd/system/rc-local.service /etc/systemd/system/rc-local.service
重新使用dos2unix 把rc-local.service文件转换一下格式 dos2unix 加文件名回车即可
将新的rc-local.service文件拷贝到上面的/lib/systemd/system/
重新链接
sudo ln -fs /lib/systemd/system/rc-local.service /etc/systemd/system/
如果不放心,重新给/etc/rc.local文件赋予权限chmod +x /etc/rc.local
重新加入到系统服务中
sudo systemctl enable rc-local #这条语句就是创建一个超链接,在系统启动服务程序中.
sudo systemctl daemon-reload #
sudo systemctl stop rc-local.service
sudo systemctl start rc-local.service
sudo systemctl status rc-local.service
成功运行如下两图,附systemctl 解释说明
systemctl [command] [unit] :控制systemd系统和服务(单一服务的启动/关闭/观察)
command 主要有:
start :立刻启动后面接的 unit
stop :立刻关闭后面接的 unit
restart :立刻关闭后启动后面接的 unit,亦即执行 stop 再 start 的意思
reload :不关闭后面接的 unit 的情况下,重载配置文件,让设定生效
enable :设定下次开机时,后面接的 unit 会被启动
disable :设定下次开机时,后面接的 unit 不会被启动
status :目前后面接的这个 unit 的状态,会列出有没有正在执行、开机预设执行否、登录等信息等!
is-active :目前有没有正在运作中
is-enable :开机时有没有预设要启用这个 unit
systemctl [command] [--type=TYPE] [--all] :观察系统上所有的服务
command 主要有:
list-units :依据 unit 列出目前有启动的 unit。若加上 --all 才会列出没启动的。
list-unit-files :依据 /usr/lib/systemd/system/ 内的文件,将所有文件列表说明。
--type=TYPE:就是之前提到的 unit type,主要有 service, socket, target 等
systemctl [command] [unit.target] :管理不同的操作环境
command:
get-default :取得目前的 target
set-default :设定后面接的 target 成为默认的操作模式
isolate :切换到后面接的模式
systemctl list-dependencies [unit] [--reverse] :分析各服务之间的相依性
--reverse :反向追踪谁使用这个 unit 的意思!
systemctl daemon-reload :重载 systemd 的脚本配置文件内容
systemctl poweroff 系统关机
systemctl reboot 重新启动
systemctl suspend 进入暂停模式
systemctl hibernate 进入休眠模式
systemctl rescue 强制进入救援模式
systemctl emergency 强制进入紧急救援模式
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)