2

Я думаю, что эта последовательность команд объясняет весь мой вопрос:

[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"

2 ответа2

3

Проверьте, есть ли на вашем пути java, например, с помощью команд

which java
echo $PATH

с и без рута.

2

Обратите внимание, что это от пользователя Windows с опытом работы в Linux всего несколько недель, поэтому, если я использую некоторые термины Windowsy, извините.

Файлы, необходимые для вызова Java, могут находиться в домашнем каталоге вашего пользователя или в каталоге Downloads. Эти местоположения могут не просматриваться, когда вы являетесь пользователем root (подобно тому, когда что-то отсутствует в переменной пути Windows), поэтому под root ОС просматривает общие области (и домашнюю директорию root) и не может найти его под Пользователь ищет в общих зонах, и это домашний каталог и находит его там.

Попробуйте найти файлы Java и переместить их в общую область.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .