Сценарий Debian /etc/init.d/ не запущен?

1

Я использую 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

Теги:
debian
beagleboneblack

1 ответ

0
Лучший ответ

Вы не можете установить переменную среды (PATH) постоянно в init script. Соответствующим местом будет script в /etc/profile.d

  • 0
    Работал, спасибо!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню