일부 응용 프로그램을 설치하기 위해 .run 파일을 실행하려고 합니다. /opt/에 애플리케이션을 설치하는 중입니다... sudo 없이 실행하면 설치 프로그램이 올바르게 실행되지만 /opt/에 쓸 수 없습니다. sudo를 사용하여 실행하면 설치 프로그램이 컴퓨터에서 유효한 Java 설치를 찾을 수 없다고 불평합니다.
Java는 oracle rpm을 사용하여 설치됩니다.
$rpm -ivh --prefix=javapath jdk1.7.0_75.x86_64.rpm
$ which java
/usr/bin/java
$ echo $JAVA_HOME
/usr/lib/java-1.7.0/jdk1.7.0_75
$ sudo echo $JAVA_HOME
/usr/lib/java-1.7.0/jdk1.7.0_75
$ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/java-1.7.0/jdk1.7.0_75/bin
$ sudo echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/java-1.7.0/jdk1.7.0_75/bin
$ java -version
java version "1.7.0_75"
Java(TM) SE Runtime Environment (build 1.7.0_75-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.75-b04, mixed mode)
$ javac -version
javac 1.7.0_75
그 후,
$ ./installer.run
잘 작동하겠지만
$ sudo ./installer.run
돌아올 것이다
Error: There has been an error.
The installer could not find a valid JAVA(tm) on this machine.
이는 시스템 오류가 아닌 응용 프로그램 오류입니다.
답변1
실행 sudo visudo
또는 열기/etc/sudoers
배선을 확인하고 secure_paths="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
,
Java가 다른 곳에 있는 경우 해당 경로를 이 목록에 추가하십시오.