Невозможно выполнить команду Java в Ubuntu
Я использую Ubuntu 12.04, установил JDK и интересно следующее ошибка. Почему у меня есть эта ошибка, хотя java
файл существует там?
appuser@securexmlgw-db:~/Downloads/jdk1.7.0_04/bin$ ls
appletviewer javac jcontrol jstack policytool tnameserv
apt javadoc jdb jstat rmic unpack200
ControlPanel javah jhat jstatd rmid wsgen
extcheck javap jinfo jvisualvm rmiregistry wsimport
idlj java-rmi.cgi jmap keytool schemagen xjc
jar javaws jps native2ascii serialver
jarsigner jcmd jrunscript orbd servertool
java jconsole jsadebugd pack200 test
appuser@securexmlgw-db:~/Downloads/jdk1.7.0_04/bin$ ./java -version
-bash: ./java: No such file or directory
Я дал все возможное упорство.
-rwxrwxrwx 1 500 500 5809 Apr 12 2012 jarsigner*
-rwxrwxrwx 1 500 500 5654 Apr 12 2012 java*
-rwxrwxrwx 1 500 500 5805 Apr 12 2012 javac*
-rwxrwxrwx 1 500 500 5809 Apr 12 2012 javadoc*
2 ответа
Скорее всего, вы скачали 32-битную JRE и запускаете ее на 64-битной платформе без библиотек эмуляции. Просто загрузите тот, который соответствует вашей платформе.
Ядро возвращается ENOENT
на exec
когда он не может найти интерпретатор ELF, который указывает исполняемый файл.
Есть ли шанс, что вы находитесь не в собственной файловой системе, а, например, в файловой системе FAT (Windows)?
Если это так, разрешения на выполнение не должны работать, поскольку файловая система не имеет надлежащей поддержки разрешений. Это называется noexec
и я рекомендую не менять его. В противном случае вы открываете двери для хакеров.
Используйте Ubuntu openjdk-7. Он гораздо лучше поддерживается, чем версия Oracle:
Вы получаете автоматические обновления безопасности, только если используете упакованную версию.
Еще кое-что:
НИКОГДА НЕ СДЕЛАЙТЕ JAVA ПИСЬМЕННОЙ ДЛЯ ПОЛЬЗОВАТЕЛЕЙ
-rwxrwxrwx 1 500 500 5654 Apr 12 2012 java*
это говорит, что "любой пользователь может изменить (= взломать, заразить вирусом и т. д.) ваш java". НЕ ДЕЛАЙТЕ ЭТОГО. Держите права на запись под максимально жестким контролем.