linux rc.local不生效

发布于:2024-05-22 ⋅ 阅读:(177) ⋅ 点赞:(0)

1. 权限问题直接 chmod 755 /etc/rc.d/rc.local 即可

2.本次发现问题

环境复杂造成,系统中有多个版本的JDK,导致tomcat无法启动

systemctl status rc-local.service
● rc-local.service - /etc/rc.d/rc.local Compatibility
   Loaded: loaded (/usr/lib/systemd/system/rc-local.service; static; vendor preset: disabled)
   Active: failed (Result: exit-code) since 二 2024-05-21 00:09:17 CST; 11s ago
  Process: 8978 ExecStart=/etc/rc.d/rc.local start (code=exited, status=1/FAILURE)

5月 21 00:09:17 localhost.localdomain rc.local[8978]: which: no javac in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin)
5月 21 00:09:17 localhost.localdomain rc.local[8978]: readlink: 缺少操作数
5月 21 00:09:17 localhost.localdomain rc.local[8978]: Try 'readlink --help' for more information.
5月 21 00:09:17 localhost.localdomain rc.local[8978]: dirname: 缺少操作数
5月 21 00:09:17 localhost.localdomain rc.local[8978]: Try 'dirname --help' for more information.
5月 21 00:09:17 localhost.localdomain rc.local[8978]: ERROR: Please set the JAVA_HOME variable in your environment, We need java(x64)! jdk8 or later is better! !!
5月 21 00:09:17 localhost.localdomain systemd[1]: rc-local.service: control process exited, code=exited status=1
5月 21 00:09:17 localhost.localdomain systemd[1]: Failed to start /etc/rc.d/rc.local Compatibility.
5月 21 00:09:17 localhost.localdomain systemd[1]: Unit rc-local.service entered failed state.
5月 21 00:09:17 localhost.localdomain systemd[1]: rc-local.service failed.

看这里 which: no javac in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin)

ls -l /usr/bin/java 发现指向的不是我的JDK

ls -l java 
lrwxrwxrwx. 1 root root 22 2月  21 17:36 java -> /etc/alternatives/java

于是修改,并且日志指的是需要javac,因此需要建立javac的软链接

[root@localhost bin]# mv java java11.0.22
[root@localhost bin]# ln -s $JAVA_HOME/bin/java /usr/bin/java
[root@localhost bin]# ln -s $JAVA_HOME/bin/javac /usr/bin/javac

启动成功。

(不成功看日志 systemctl status rc-local.service 即可)


网站公告

今日签到

点亮在社区的每一天
去签到