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

வகுப்பும் இயந்திரமும் வெவ்வேறு கேள்விகளுக்குப் பதிலளிக்கின்றன

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

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

readelf -h ./vendor-vpn
readelf -l ./vendor-vpn | head -20
file ./vendor-vpn

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

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

நிறுவியை இயக்கும் முன் தலைப்பைப் படியுங்கள்

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

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

dpkg --print-architecture
uname -m
getconf LONG_BIT

முதல் கட்டளை எந்தக் கட்டமைப்புக்காகக் கணினி தொகுப்புகளை நிறுவுகிறது எனத் தெரிவிக்கிறது, அந்த மதிப்பே பொருந்த வேண்டும். மற்ற இரண்டு கர்னல் மற்றும் சொல் அளவை விவரிக்கின்றன, பல்கட்டமைப்பு நிறுவலில் அவை பயனர் இடத்துடன் வேறுபடலாம்.

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

மொழிபெயர்ப்பானைச் சரிபார்க்கவும், கட்டமைப்பு மட்டுமல்ல

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

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

readelf -l ./vendor-vpn | grep -A1 INTERP
ls -l /lib64/ld-linux-x86-64.so.2

முதல் கட்டளை பைனரி கோரும் மொழிபெயர்ப்பான் பாதையைக் காட்டுகிறது. இரண்டாவது அந்தப் பாதை உள்ளதா எனச் சரிபார்க்கிறது, இது தவறான கட்டுமானத்தைக் காணாத ஏற்றியிலிருந்து பிரிக்கிறது.

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

உண்மைகளைக் கையில் வைத்துக் கட்டுமானம் கேளுங்கள்

விற்பனையாளருக்கு OS வெளியீடு, தொகுப்பு கட்டமைப்பு, வகுப்பு மற்றும் இயந்திர மதிப்புகள் மற்றும் முதல் பிழைச் செய்தியை அனுப்புங்கள். அந்தக் கலவை பயனுள்ள பதிலைப் பெறுகிறது, பொதுவான தோல்வியின் திரைப்பிடிப்பு ஆதரவு வார்ப்புருவைப் பெறுகிறது.

பைனரி கேள்வியை உள்ளமைவுக் கேள்வியிலிருந்து தனியாக வைத்திருங்கள். சரியான கட்டுமானம் தொடங்கியதும், சுயவிவரங்கள், சான்றுகள் மற்றும் வழிகள் இன்னும் அவற்றின் சொந்தச் சிக்கல்களே, எவ்வளவு சுயவிவரத் திருத்தமும் தவறான கட்டமைப்பின் பைனரியை இயக்காது.

தொடர்புடைய கட்டுரைகள்