Ubuntu पर जावा कमांड निष्पादित नहीं कर सकता


0

मैं 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*

क्योंकि यह निष्पादन योग्य नहीं है।
Brian Roach

नहीं, इसे निष्पादन की आवश्यक अनुमति दी जाती है।
Ahmet Karakaya

जवाबों:


1

सबसे अधिक संभावना है, आपने एक 32-बिट JRE डाउनलोड किया है और इसे 64-बिट प्लेटफॉर्म पर एमुलेशन लाइब्रेरी के बिना चला रहे हैं। इसके बजाय अपने प्लेटफ़ॉर्म से मेल खाने वाले को डाउनलोड करें।

गिरी वापस आती है ENOENT पर exec जब वह ELF दुभाषिए को निष्पादन योग्य व्याख्या नहीं दे सकता है।


इसकी पुष्टि करने के लिए, के आउटपुट की तुलना करें uname -m द्वारा दी गई जानकारी के साथ file java। इसकी संभावना है uname आउटपुट पुष्टि करता है कि आप 64-बिट और हैं file आउटपुट पुष्टि करता है कि फ़ाइल 32-बिट के लिए संकलित है।

jdk-6u29-linux-x64.bin की स्थापना से समस्या हल हो गई है। धन्यवाद।
Ahmet Karakaya

@ mmc18 ने अब इसे फिर से अनइंस्टॉल कर दिया है, इसलिए आप अनुमतियों को खराब न करें, और इंस्टॉल करें Ubuntu Openjdk पैकेज बजाय। तो आपको ऑटोमैटिक सिक्योरिटी अपडेट मिलता है।
Anony-Mousse

0

कोई भी मौका जो आप हैं नहीं पर देशी फ़ाइल सिस्टम, लेकिन उदा। एक FAT (विंडोज) फाइलसिस्टम?

यदि ऐसा है, तो अनुमति निष्पादित करें माना काम नहीं करने के लिए, क्योंकि फ़ाइल सिस्टम के पास उचित अनुमति समर्थन नहीं है। यह कहा जाता है noexec, और मैं सलाह देता हूं नहीं इसे बदल रहा है। अन्यथा, आप हैकर्स के लिए दरवाजे खोलते हैं।

Ubuntu Openjdk-7 का उपयोग करें । यह Oracle संस्करण की तुलना में बहुत बेहतर समर्थित है:

यदि आप पैकेज्ड संस्करण का उपयोग करते हैं तो आपको केवल स्वचालित सुरक्षा अपडेट मिलते हैं।

एक और चीज़:

कभी भी जावरा का उपयोग न करें

 -rwxrwxrwx 1  500  500   5654 Apr 12  2012 java*

यह कहता है "कोई भी उपयोगकर्ता आपके जावा को संशोधित (= हैक, वायरस संक्रमित आदि) कर सकता है"। यह मत करो। संभव नियंत्रण के तहत लिखने की अनुमति रखें।


अगर वह समस्या थी, वह या तो हो रही होगी EACCES या EPERM, नहीं ENOENT
Dolda2000

@ Dolda2000 अच्छी तरह से देखा। वैसे भी, उसकी स्थापना बुरी तरह से खराब है ...
Anony-Mousse

यह परीक्षण के लिए है कि यह निष्पादन योग्य क्यों नहीं है। आम तौर पर आप सही हैं कि ऐसी अनुमति नहीं दी जानी चाहिए। :)
Ahmet Karakaya

मेरे पास है कभी नहीं सुना है कि लिखने की अनुमति निष्पादन के लिए आवश्यक होगी , विशेष रूप से नहीं जब एक निष्पादित बिट है।
Anony-Mousse
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.