Я использую BeagleBone Black, который запускает Debian (последняя версия, на которой, как мне кажется, на сайте BeagleBone предоставляется ссылка), и я недавно установил Java на нее. Каждый раз, когда я загружаю плату, я должен снова установить PATH для Java, как показано ниже.
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#
Я хотел написать script для настройки java во время запуска, а затем запустить некоторую java-программу. Поэтому я написал script "helium_startup.sh" и поместил его в init.d, script выглядит так:
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/rc 5.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 строки, чтобы установить PATH для java в /etc/rc.local, и это тоже не сработало.
Любая помощь будет принята с благодарностью.
-Brandon
Вы не можете установить переменную среды (PATH) постоянно в init script. Соответствующим местом будет script в /etc/profile.d