เหตุใดฉันจึงเรียกใช้จาวาจากผู้ใช้หนึ่งคน แต่ไม่ใช่รูท


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

UPDATE: เห็นได้ชัดว่า "/usr/java/jdk1.6.0_22/bin" หายไปจากเส้นทางสำหรับรูท ฉันจะเพิ่มลงในพา ธ สำหรับรูทได้อย่างไร? นี่คือ ~ / 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

ตรวจสอบว่ามีจาวาอยู่บนเส้นทางของคุณหรือไม่เช่นโดยใช้คำสั่ง

which java
echo $PATH

มีและไม่มีรูต


ฉันได้อัปเดตคำถามแล้ว แต่ต้องการความช่วยเหลือเพิ่มเติม ฉันไม่แน่ใจว่าจะแก้ไขเส้นทางของฉันอย่างไรหรือจะแก้ไขอย่างไร
Ramy

สวัสดีคุณสามารถเปลี่ยนตัวแปรสภาพแวดล้อม PATH ในไฟล์การกำหนดค่าเชลล์ ตำแหน่งแตกต่างกันไปจากการกระจายไปยังการกระจาย แต่โดยทั่วไปคุณสามารถค้นหาได้ใน / etc (เช่น /etc/bash.bashrc, / etc / profile, /etc/profile.d/*) คุณสามารถค้นหารายละเอียดโดยไปที่ "เส้นทางการเปลี่ยนแปลง [ชื่อการแจกจ่าย]" คุณอาจต้องตั้งค่า JAVA_HOME เพื่อให้แน่ใจว่า java ค้นหาไลบรารีที่ถูกต้อง
billc.cn

2

ต่อไปนี้มาจากผู้ใช้ Windows ที่มีประสบการณ์ linux เพียงไม่กี่สัปดาห์ดังนั้นถ้าฉันใช้ Windowsy บางคำฉันขอโทษ

ไฟล์ที่จำเป็นในการเรียกใช้ Java อาจอยู่ในโฮมไดเรกทอรีของผู้ใช้ของคุณหรือดาวน์โหลดหนึ่งไฟล์ ตำแหน่งเหล่านี้อาจไม่ถูกค้นหาเมื่อคุณรูต (คล้ายกับเมื่อบางสิ่งไม่ได้อยู่ในตัวแปรพา ธ ของ Windows) ดังนั้นภายใต้รูทระบบปฏิบัติการจะดูในพื้นที่ส่วนกลาง (และที่บ้านของรูท) และไม่สามารถค้นหาได้ ผู้ใช้มันดูในพื้นที่ทั่วไปและมันเป็นไดเรกทอรีบ้านและพบว่ามีใน

ลองค้นหาไฟล์ Java และย้ายไปยังพื้นที่ส่วนกลาง


1
/ etc ‽‽‽‽‽‽
Hello71

ฉันไม่ทราบว่าจะใส่ไว้ที่ไหนและ / etc / เป็นไดเรกทอรีเดียวที่ฉันนึกได้ ... เพราะเหตุนี้ "?"
Windos

FHS : "/ etc: การกำหนดค่าระบบเฉพาะสำหรับโฮสต์"
Hello71

@Josh King: หากคุณไม่รู้จักระบบไฟล์ยูนิกซ์คุณควรจะตัดคำตอบส่วนนั้นออก โดยเฉพาะอย่างยิ่งสำหรับ "Windows ผู้ใช้ที่มีเพียงไม่กี่สัปดาห์ที่ผ่านมามูลค่าของประสบการณ์ลินุกซ์" พวกเขาจะใช้ของคุณ/etcข้อเสนอแนะเป็นคำตอบที่ถูกต้อง ...
อากิระ
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.