linux java -version은 루트 사용자에게만 작동합니다.

linux java -version은 루트 사용자에게만 작동합니다.

jdk1.8.0_151오라클 홈페이지에서 다운받아 설치했습니다. _HOME을 정의 JAVA하고 이를 PATH/etc/environment.

문제는 java -version터미널에서 명령을 입력하면 다음 오류가 발생한다는 것입니다.

The program 'java' can be found in the following packages:
* default-jre
* gcj-5-jre-headless
* openjdk-8-jre-headless
* gcj-4.8-jre-headless
* gcj-4.9-jre-headless
* openjdk-9-jre-headless

시도: sudo apt install <selected package> 하지만 터미널에서 루트라면 그 이후에는 잘 작동한다는 의미 sudo su입니다 java -version. 이것이 정상입니까, 아니면 뭔가 빠졌습니까? 내 /etc/environment파일은 다음과 같습니다.

 PATH="/home/aliinsan/jdk1.8.0_151/bin:/home/aliinsan/apache-maven-
 3.5.2/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:
/sbin:/bin:/usr/games:/usr/local/games"
JAVA_HOME="/home/aliinsan/jdk1.8.0_151"

미리 감사드립니다,,

편집: 루트가 아닌 사용자의 경로는 다음과 같습니다.

aliinsan@aliinsan-Inspiron-7548 ~ $ echo $PATH
/home/aliinsan/bin:/home/aliinsan/.local/bin:/home/aliinsan/apache-
maven-
3.5.2/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:
/bin:/usr/games:/usr/local/games

답변1

시스템 전체에서 사용하려는 패키지를 설치하는 것이 다소 이상하게 보일 수 있습니다 /home. 이것이 user 에만 적용되는 경우 aliinsanuser 가 쉘로 사용된다고 가정하고 bash다음을 편집 ~aliinsan/.bash_profile하고 추가합니다.

export PATH="/home/aliinsan/jdk1.8.0_151/bin:${PATH}"

source ~/.bash_profile이 변경 사항을 기존 셸의 셸의 기존 환경에 병합 할 수 있습니다 .

다른 셸을 사용하는 경우 프로세스는 비슷하지만 파일은 다릅니다.

이 Java 버전을 시스템 전체에서 사용하려면 다른 위치( /opt예:)에 설치하는 것이 좋습니다.

관련 정보