எவ்வாறு சரிசெய்வது என்பது உபுண்டுவில் ‘பைனரி கோப்பை இயக்க முடியாது: எக்செக் வடிவமைப்பு பிழை’



சிக்கல்களை அகற்ற எங்கள் கருவியை முயற்சிக்கவும்

உத்தியோகபூர்வ apt-get களஞ்சியங்களைப் பயன்படுத்தும் போது அது நடக்கக்கூடாது என்றாலும், நீங்கள் இணையத்திலிருந்து மென்பொருளைப் பதிவிறக்கம் செய்து இயக்கினால், நீங்கள் அச்சமடைவதைக் காண வாய்ப்பு உள்ளது bash: ./nameOfProgram: பைனரி கோப்பை இயக்க முடியாது: Exec வடிவமைப்பு பிழை . இந்த பிழை, இது வழக்கமாக பின்பற்றப்படுகிறது bash: ./nameOfProgram.sh: அனுமதி மறுக்கப்பட்டது அல்லது அது போன்ற ஏதாவது, நீங்கள் பதிவிறக்கிய பைனரியுடன் உபுண்டு சரியாக இணைக்க முடியவில்லை என்பதைக் குறிக்கிறது. ஏனென்றால் இது ஒரு செல்லுபடியாகும் லினக்ஸ் பைனரி என்றாலும், இது உங்கள் கர்னல் தற்போது ஆதரிப்பதை விட வேறு சிப்செட்டுக்காக வடிவமைக்கப்பட்டுள்ளது.



உபுண்டுவைப் பயன்படுத்தும் பெரும்பாலான மக்கள் 32-பிட் அல்லது 64-பிட் செயலிகளில் இன்டெல் வெளியிட்ட ஒரு நிலையான கட்டமைப்பை அடிப்படையாகக் கொண்டுள்ளனர், உண்மையில் யார் தங்கள் மைக்ரோசிப்களை உருவாக்கினார்கள் என்பதைப் பொருட்படுத்தாமல். 64-பிட் செயலிகள் 32-பிட் பயன்முறையில் இயங்க முடியும் என்பதை நினைவில் கொள்வது அவசியம், எனவே உங்களிடம் 64 பிட் செயலி இருந்தாலும் இந்த பிழையைப் பெற்றால், உபுண்டுவின் 32 பிட் பதிப்பை இயக்க வாய்ப்பு உள்ளது. உங்கள் சிப் என்ன இயங்குகிறது என்பதைக் கூற சில எளிய கட்டளைகள் தேவை.



முறை 1: பரம கட்டளையைப் பயன்படுத்துதல்

உங்கள் கணினியில் நீங்கள் நிறுவிய நுண்செயலி வகை உங்களுக்குத் தெரியாவிட்டால், நீங்கள் முதலில் கட்டளை வரியிலிருந்து பரம கட்டளையைப் பயன்படுத்த விரும்புவீர்கள். இந்த கட்டளையை இயக்கிய பின் ஒரு வரி வெளியீடு மட்டுமே உங்களிடம் திரும்பும். பல சந்தர்ப்பங்களில், நீங்கள் i686 ஐப் பார்ப்பீர்கள், அதாவது நீங்கள் 32 பிட் செயலியில் இருக்கிறீர்கள், எனவே x86_64 பைனரிகளை இயக்க முடியாது. அதற்கு பதிலாக நீங்கள் amd64 அல்லது அதற்கு ஒத்த ஒன்றைக் கண்டால், நீங்கள் ஒரு x86_64 செயலியில் இருக்கிறீர்கள், மேலும் கோட்பாட்டளவில் குறைந்தபட்சம் 32-பிட் மற்றும் 64-பிட் பைனரிகளை இயக்க முடியும். மைக்ரோசாப்ட் விண்டோஸ் போலல்லாமல், உபுண்டு லினக்ஸ் உண்மையில் 644-பிட் சிப்செட்களின் பயனர்களை 16-பிட் விண்டோஸ் நிரல்களை தங்கள் இயக்க முறைமையில் இயக்க அனுமதிக்கும் சரியான கருவிகளைக் கொண்டுள்ளது.



மைக்ரோசிப்பின் குறிப்பிட்ட மாதிரியை நீங்கள் உண்மையில் பயன்படுத்தாவிட்டாலும் இந்த விதிமுறைகள் இன்னும் உண்மைதான். உதாரணமாக, i686 என்பது லினக்ஸ் பல 32-பிட் செயலிகளைக் குறிக்கிறது, அவை உண்மையில் இன்டெல் 80686 சில்லுகள் இல்லையென்றாலும் கூட. நீங்கள் 64-பிட் இன்டெல் தொழில்நுட்பத்தைப் பயன்படுத்தினாலும், வளைவு உங்கள் செயலியை ஒரு AMD64 சிப் என்று அழைக்கக்கூடும். இது பிழையைக் குறிக்கவில்லை, பாதுகாப்பாக புறக்கணிக்கப்படலாம். நீங்கள் பூனை பயன்படுத்தலாம் / proc / cpuinfo அல்லது மேலும் / proc / cpuinfo நீங்கள் பயன்படுத்தும் செயலியின் சரியான வகையைக் கண்டறிய. இந்த கோப்பில் உள்ள கோடுகள் நீளமாக இருப்பதால், நீங்கள் ஒரு வரைகலை முனைய சாளரத்தைப் பயன்படுத்தினால், அதை வெளியிடுவதற்கு முன் F11 ஐ தள்ள விரும்பலாம். மெய்நிகர் கன்சோலின் பயனர்கள், குறிப்பாக உபுண்டு சேவையகத்துடன் பணிபுரிபவர்கள் அதிகம் கவலைப்பட வேண்டியதில்லை.

வேறு சில வகையான வெளியீட்டை நீங்கள் காணலாம், இது மென்பொருளை இயக்கும் போது உங்கள் விருப்பங்களை மேலும் கட்டுப்படுத்தக்கூடும். உபுண்டு நீண்ட காலமாக பவர்பிசி கட்டமைப்பை ஆதரித்தது, இது சில பணிநிலையங்களிலும் பல கிளாசிக் மேகிண்டோஷ் மற்றும் பழைய ஓஎஸ் எக்ஸ் மேகிண்டோஷ் இயந்திரங்களிலும் காணப்படுகிறது. இந்த கட்டமைப்புகளுக்கான உபுண்டு களஞ்சியங்களை நீங்கள் இன்னும் காணலாம், இருப்பினும் அவை இன்று சிறிய ஆதரவைப் பெறுகின்றன. இருப்பினும், இந்த விஷயத்தில் உத்தியோகபூர்வ களஞ்சியங்களுக்கு வெளியே இணையத்திலிருந்து நீங்கள் பதிவிறக்கும் பல லினக்ஸ் பைனரிகளை நீங்கள் இயக்க முடியாது. இலகுவான லுபுண்டு விநியோகத்தை நீங்கள் பார்க்க விரும்பினாலும், உபுண்டு இந்த இயந்திரங்களில் வேலை செய்யாது என்று அர்த்தமல்ல.

முறை 2: கட்டளை கோப்பைப் பயன்படுத்துதல்

கோப்பு கட்டளை வெவ்வேறு கோப்புகளைக் கொண்டிருப்பதை அடையாளம் காட்டுகிறது, இது பொதுவாக மிகவும் துல்லியமானது. கோப்பை தட்டச்சு செய்வதன் மூலம் கேள்விக்குரிய கோப்பை அடையாளம் காண முயற்சிக்கவும் nameOfProgram நீங்கள் வெளியீடாக ELF 32-பிட் அல்லது ELF 64-பிட் பெறுகிறீர்களா என்று பார்க்க. இது ஒரு ELF 64-பிட் பைனரி என்றும், பரம கட்டளையின் வெளியீட்டாக i686 ஐப் பெற்றதாகவும் அது உங்களுக்குச் சொன்னால், அதை உங்கள் கணினியில் நியாயமான முறையில் இயக்க எந்த வழியும் இல்லை. நீங்கள் 32 பிட் உபுண்டு இயங்கும் 64-பிட் நுண்செயலியில் இருந்தால், நீங்கள் ஒரு கணினியை தொழில்நுட்ப ரீதியாக மீண்டும் நிறுவலாம், இருப்பினும் இது ஒரு நிரலை இயக்குவதற்கான ஒரு தீவிர படியாகும்.



நீங்கள் ஒரு தீம்பொருளை ஸ்கேன் செய்திருந்தாலும் கூட, அதை இயக்க முயற்சிக்கும்போது முனையத்திற்கு குப்பை எழுத்துக்களை வெளியேற்றும் ஒரு பைனரியை நீங்கள் காணக்கூடும் என்பதற்கான உண்மையான சாத்தியமும் உள்ளது. இந்த எழுத்துக்கள் வழக்கமாக லோஸ்ஜ் வடிவ தொகுதிகள் அல்லது மாற்றாக செவ்வக க்யூப்ஸ் போன்றவற்றில் எண்ணியல் மதிப்புகளைக் கொண்டுள்ளன. சில கணினி விஞ்ஞானிகள் பிந்தைய டோஃபு என்று அழைக்கிறார்கள், மேலும் தற்போது நிறுவப்பட்ட தட்டச்சுப்பொறிகள் காண்பிக்க முடியாத எழுத்துகளின் யூனிகோட் மதிப்புகளைக் குறிக்கின்றன. முனையம் அவற்றை இப்படி காண்பிக்கிறது என்றால், இது எழுத்துரு பிழை அல்லது தீம்பொருளுடன் எதுவும் செய்யவில்லை என்று நீங்கள் உறுதியாக நம்பலாம். மாறாக, பைனரிக்குள் தொகுக்கப்பட்ட நுண்செயலி ஆப்கோட் உங்கள் கணினியில் மிகவும் அந்நியமாக இருப்பதால் இது சில குறியீட்டை எவ்வாறு விளக்குவது என்று தெரியாது.

இதை சரிசெய்ய சிறந்த வழி உங்கள் கட்டிடக்கலைக்கு சரியான தொகுப்பை நிறுவுவதாகும். நீங்கள் உபுண்டுக்குள் இருந்து தொகுப்புகளை நிறுவுகிறீர்கள் என்றால், apt-get system அல்லது வரைகலை சினாப்டிக் மேலாளர் எந்த பிரச்சனையும் இல்லாமல் நீங்கள் மூடிவிட்டீர்கள். நீங்கள் மற்றொரு விநியோகத்திலிருந்து தொகுப்புகளைப் பதிவிறக்குகிறீர்கள் என்றால், உங்கள் கட்டிடக்கலைக்கு சரியானதைக் கண்டுபிடிக்க வேண்டும். எடுத்துக்காட்டாக, ஜி.வி.எம் தொகுப்பின் ஆர்ச் லினக்ஸின் பட்டியலை எடுத்துக் கொள்ளுங்கள். இயல்புநிலை தொகுப்பு x86_64 கட்டமைப்பைக் கொண்டிருந்தாலும், i686 சிப்செட்டுக்கு ஒன்று உள்ளது. இது இன்டெல் குறுக்கீடு கட்டமைப்பில் வேலை செய்யும் 32-பிட் கணினிகளில் வேலை செய்யும், ஆனால் லினக்ஸ் ஆதரிக்கும் பிற சிப்செட்டுகள் உண்மையில் அவற்றின் 32 பிட் செயலாக்கங்களைக் கொண்டிருப்பதால், i686 மற்றும் 32-பிட் சொற்கள் எல்லா நேரத்திலும் பரஸ்பரம் உள்ளடக்கியவை அல்ல என்பதை நினைவில் கொள்ளுங்கள்.

முழு குனு / லினக்ஸ் காட்சியை ஆராயும் பயனர்கள் இவற்றை விட மிகவும் கவர்ச்சியான தொழில்நுட்பங்களுக்காக தொகுக்கப்பட்ட பைனரிகளைக் காணலாம். லினக்ஸ் உண்மையிலேயே ஒரு குறுக்கு-இயங்குதளக் குறியீடு காட்சி, எனவே நீங்கள் OpenRISC, MIPS, SPARC, M32R, MN103, ARM, ARC, Alpha மற்றும் பல தரநிலை பைனரிகள் இணைந்து பணியாற்றுவதைக் காண்பீர்கள். ARM மிகவும் பிரபலமான டேப்லெட் மற்றும் ஸ்மார்ட்போன் இயங்குதளமாக இருந்தாலும், இவற்றில் எதையும் நீங்கள் இயக்க முடியாது. இது ராஸ்பெர்ரி பை அடிப்படையாகக் கொண்ட தளமாகும், அதாவது நீங்கள் உண்மையில் ஒரு மொபைல் சாதனத்தில் உபுண்டுவை இயக்குகிறீர்கள் என்றால் அல்லது ராஸ்பெர்ரி பைக்கான உபுண்டு மேட் விநியோகம் என்றால் இன்டெல் 32-பிட் அல்லது x86_64 பைனரிகளுக்கு பதிலாக உங்களுக்கு இது தேவைப்படும்.

4 நிமிடங்கள் படித்தேன்