Проверьте, есть ли на вашем пути java, например, с помощью команд
which java echo $PATH
с и без рута.
Я думаю, что эта последовательность команд объясняет весь мой вопрос:
[Ramy@Moonface Downloads]$ java -version java version "1.6.0_22" Java(TM) SE Runtime Environment (build 1.6.0_22-b04) Java HotSpot(TM) Server VM (build 17.1-b03, mixed mode) [Ramy@Moonface Downloads]$ su - Password: [root@Moonface ~]# java -version bash: java: command not found
Запущенная федора 13
Я полагаю, что стоит явно спросить: какие шаги мне нужно предпринять, чтобы иметь возможность вызывать java от имени root?
больше информации:
[Ramy@Moonface ~]$ which java /usr/java/jdk1.6.0_22/bin/java [Ramy@Moonface ~]$ echo $PATH /usr/java/jdk1.6.0_12/bin:/usr/java/jdk1.6.0_12/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/ sbin:/usr/sbin:/sbin:/home/Ramy/bin:/usr/java/jdk1.6.0_22/bin [Ramy@Moonface ~]$ su - Password: [root@Moonface ~]# which java /usr/bin/which: no java in (/usr/java/jdk1.6.0_12/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/roo t/bin) [root@Moonface ~]# echo $PATH /usr/java/jdk1.6.0_12/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
ОБНОВЛЕНИЕ: так очевидно, что "/usr/java/jdk1.6.0_22/bin" отсутствует в пути для root. Как я могу добавить его к пути для root ?? вот мой ~ / bash_profile:
# .bash_profile # Get the aliases and functions if [ -f ~/.bashrc ]; then . ~/.bashrc fi # User specific environment and startup programs PATH=$PATH:$HOME/bin export PATH export JAVA_HOME="/usr/java/jdk1.6.0_22"
Проверьте, есть ли на вашем пути java, например, с помощью команд
which java echo $PATH
с и без рута.
Обратите внимание, что это от пользователя Windows с опытом работы в Linux всего несколько недель, поэтому, если я использую некоторые термины Windowsy, извините.
Файлы, необходимые для вызова Java, могут находиться в домашнем каталоге вашего пользователя или в каталоге Downloads. Эти местоположения могут не просматриваться, когда вы являетесь пользователем root (подобно тому, когда что-то отсутствует в переменной пути Windows), поэтому под root ОС просматривает общие области (и домашнюю директорию root) и не может найти его под Пользователь ищет в общих зонах, и это домашний каталог и находит его там.
Попробуйте найти файлы Java и переместить их в общую область.