Mac இல் OpenConnect கிளையண்டைப் பெற மூன்று வழிகள் உள்ளன, அவை வட்டில் வெவ்வேறு விஷயங்களை விட்டுச் செல்கின்றன. Homebrew சூத்திரம் தொகுக்கப்பட்ட பைனரி மற்றும் பாதைகள் மற்றும் DNS ஐ அமைக்கும் வலையமைப்பு ஸ்கிரிப்டை நிறுவுகிறது. வெளியீட்டு காப்பகம் உருவாக்கப்பட்ட கட்டுமான அமைப்புடன் மூலக் குறியீட்டைத் தருகிறது. git செக் அவுட் அது இல்லாமல் மூலக் குறியீட்டைத் தருகிறது. தவறானதைத் தேர்ந்தெடுப்பதே பயிற்சி தொடங்கி சில நிமிடங்களில் காணாமல் போன configure ஐ மக்கள் சந்திப்பதற்கான காரணம்.

ஒரே பெயரின் கீழ் இரண்டு வெவ்வேறு இயந்திரங்கள்

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

brew install openconnect

அது எதை நிறுவுகிறது என்பது கட்டளையை விட முக்கியம். கிளையண்டின் பைனரியைப் பெறுகிறீர்கள், மேலும் இடைமுகம், பாதைகள் மற்றும் தீர்வியை நிரலாக்க கிளையண்ட் அழைக்கும் vpnc-script ஐயும் பெறுகிறீர்கள். இரண்டும் ஜோடியாக வேலை செய்கின்றன: பைனரி TLS அமர்வை முடித்து உருவான இடைமுகத்தை ஸ்கிரிப்டுக்கு வழங்குகிறது, ஸ்கிரிப்ட் இந்த இயங்குதளம் தனது வலையமைப்பை எவ்வாறு மாற்ற விரும்புகிறது என்பதை அறிந்த பகுதி.

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

மூல வழி உண்மையில் என்ன செய்கிறது

வெளியீட்டு காப்பகம் உருவாக்கப்பட்ட கட்டுமான அமைப்புடன் வருகிறது, எனவே பரிச்சயமான ./configure தொடக்கத்திலேயே உள்ளது. git செக் அவுட்டில் இல்லை, ஏனெனில் உருவாக்கப்பட்ட கோப்புகள் கட்டுமானத் தயாரிப்புகள், திட்டம் சேமிக்கும் விஷயங்கள் அல்ல. ./autogen.sh காப்பகங்களில் அல்லாமல் செக் அவுட் வழிமுறைகளில் தோன்றுவதற்கான முழுக் காரணம் இதுவே.

./autogen.sh
./configure
make
make install

ஒவ்வொரு வரியும் குறிப்பிட்ட ஒன்றைச் செய்கிறது, எது தோல்வியடைந்தது என்பதை அறிவது நிறைய ஊகங்களைச் சேமிக்கிறது. autogen படி configure உருவாக்க autotools ஐ இயக்குகிறது. configure படி கிளையண்டுக்குத் தேவையான தொகுப்பான், நூலகங்கள் மற்றும் தலைப்புகளைச் சரிபார்த்து, பின்னர் கண்டதைப் பிரதிபலிக்கும் makefile களை எழுதுகிறது. make படி தொகுக்கிறது. install படி முடிவுகளை உங்கள் பாதையில் எங்கோ நகலெடுக்கிறது.

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

அமர்வும் வலையமைப்பு உள்ளமைவும் தனித்தனி

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

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

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

நீங்கள் எந்த பைனரியை இயக்குகிறீர்கள் என்பதை அறியுங்கள்

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

which -a openconnect
openconnect --version
brew list --versions openconnect

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

கிளையண்டை நிறுவுவது நுழைவாயில் அனுமதி அல்ல

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

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

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