чому я можу викликати java від одного користувача, але не root?


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

Запуск Fedora 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"

Відповіді:


3

Перевірте, чи знаходиться Java на вашому шляху, наприклад, використовуючи команди

which java
echo $PATH

з коренем і без нього.


я оновив своє запитання, але мені потрібна додаткова допомога. Я не впевнений, як змінити мій шлях або яким способом змінити його.
Рамі

Привіт, ви можете змінити змінну середовища PATH у файлах конфігурації оболонки. Розташування змінюється від розподілу до розповсюдження, але його зазвичай можна знайти в / etc (наприклад, /etc/bash.bashrc, / etc / profile, /etc/profile.d/*). Ви можете знайти деталі, гуглюючи "[ім'я розповсюдження] змінити шлях". Вам також може знадобитися встановити JAVA_HOME, щоб переконатися, що java знайде правильні бібліотеки.
billc.cn

2

nb нижче - від користувача Windows, що має лише декілька тижнів досвіду Linux, тому якщо я використовую деякі терміни Windowsy, вибачте.

Файли, необхідні для виклику Java, можуть знаходитись у домашньому каталозі користувача або у файлі "Завантаження". Ці місцеположення можуть не розглядатися, коли ви маєте root (подібно до того, коли чогось немає у змінній шляху Windows), тому під корінь ОС шукає загальні ділянки (та домашній dir-каталог root) і не може знайти його під Користувача він дивиться в загальних місцях, і це домашній каталог, і знайти його там.

Спробуйте знайти файли Java та перемістити їх у загальну область.


1
/ тощо ‽‽‽‽‽‽
Hello71,

Я не знав, куди його поставити, і / тощо / був єдиним каталогом, про який я міг придумати ... отже, "?"
Віндос

FHS : "/ тощо: Конфігурація системи, що
залежить від

@Josh King: якщо ви не знаєте файлової системи unix, вам слід просто відкинути цю частину відповіді. особливо для "користувача Windows, який має лише кілька тижнів досвіду Linux", вони приймуть ваші /etcпропозиції як вагому відповідь ...
akira
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.