【发布时间】:2015-01-25 20:31:30
【问题描述】:
我正在使用运行 Debian 的 BeagleBone Black(我相信 BeagleBone 网站提供了最新版本的链接),并且我最近在其上安装了 Java。每次启动板子时,我都必须再次为 Java 设置 PATH,如下所示。
root@beaglebone:/etc/init.d# java -version
-bash: java: command not found
root@beaglebone:/etc/init.d# export PATH=$PATH:/bin/jdk1.7.0_60/bin
root@beaglebone:/etc/init.d# export JAVA_HOME=/bin/jdk1.7.0_60
root@beaglebone:/etc/init.d# java -version
java version "1.7.0_60"
Java(TM) SE Runtime Environment (build 1.7.0_60-b19)
Java HotSpot(TM) Client VM (build 24.60-b09, mixed mode)
root@beaglebone:/etc/init.d#
我想写一个脚本在启动过程中设置java,然后运行一些java程序。于是我写了一个脚本“helium_startup.sh”,放到init.d中,脚本是这样的:
export PATH=$PATH:/bin/jdk1.7.0_60/bin
export JAVA_HOME=/bin/jdk1.7.0_60
我还没有编写我想在这里运行的程序,但是我想我可以在这两行之后放置一行来运行它,对吧?然后我使用 update-rc.d 创建链接:
root@beaglebone:/etc/init.d# update-rc.d helium_startup.sh defaults
update-rc.d: using dependency based boot sequencing
insserv: warning: script 'helium_startup.sh' missing LSB tags and overrides
我相信警告不会影响任何事情?我检查了 /etc/rc5.d 以确认其中一个链接已建立:
root@beaglebone:~# cd /etc/rc5.d
root@beaglebone:/etc/rc5.d# ls
README S01sudo S03loadcpufreq S04wicd
S01boot_scripts.sh S01xrdp S03rsync S05saned
S01bootlogs S02apache2 S03ssh S06rc.local
S01capemgr.sh S03acpid S03udhcpd S06rmnologin
S01hostapd S03cron S04avahi-daemon
S01motd S03dbus S04cpufrequtils
S01rsyslog S03helium_startup.sh S04lightdm
而且,似乎确实为每个运行级别创建了链接。然后我重新启动 Beaglebone(我尝试通过“重新启动”、拔下电源并按下电源按钮来完成它)并尝试检查 java 的版本:
root@beaglebone:/etc/rc5.d# java -version
-bash: java: command not found
它失败了。我是 Debian(和一般 Linux)的新手,这是我第一次使用 BeagleBone Black,我不确定问题是什么。我还尝试将 2 行在 /etc/rc.local 中设置 java 的 PATH,但这也不起作用。
任何帮助将不胜感激。
-布兰登
【问题讨论】:
标签: java linux debian beagleboneblack