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

சேவை துவக்கும் பாதையிலிருந்து தொடங்குங்கள்

முனையமும் systemd அலகும் இயக்கக்கூடிய கோப்புகளை ஒரே வழியில் தீர்க்காது. shell PATH இல் தேடுகிறது; அலகு ஒரு பாதையைப் பெயரிடுகிறது, drop-in மேலெழுதல்கள் நீங்கள் படிக்கும் கோப்பைத் தொடாமல் அதை மாற்றலாம். அந்த வேறுபாடே இந்த வேலையின் பெரும்பாலான குழப்பத்தை விளக்குகிறது. உங்கள் பழுதுநீக்கல் எந்தக் கோப்பை இலக்காகக் கொள்ள வேண்டும் என்பதையும் அது தீர்மானிக்கிறது.

அலகிடம் அது எதை இயக்குகிறது என்று கேளுங்கள், அதை மாற்றும் drop-in உட்பட, மேலும் அதிகாரபூர்வம் என நீங்கள் கருதும் பகுதிக்குப் பதிலாக விளையும் ExecStart வரியைப் படியுங்கள். பின்னர் அந்தப் பாதையை எந்தக் குறியீட்டு இணைப்பு வழியாகவும் இறுதிக் கோப்பு வரை பின்தொடருங்கள். மறைந்த கோப்பகத்திற்கு exec உடன் முடியும் மடக்கு இந்தப் பழைய திருத்தங்களின் வழக்கமான அமைப்பாகும்.

எதையும் மாற்றும் முன் தீர்க்கப்பட்ட பாதையை எழுதி வைக்கவும்.

systemctl cat [email protected] | grep -n 'ExecStart'
readlink -f "$(command -v openvpn)"

கட்டளைப் பெயரை சேவைப் பாதையுடன் ஒப்பிடுங்கள்

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

முக்கியமானது போக்குவரத்திற்குச் சேவை செய்யும் செயல்முறையை எந்த உரிமையாளர் துவக்குகிறார் என்பதை அறிவதே. அலகு /usr/local/sbin/openvpn-wrapper இயக்கும்போது உங்கள் shell /usr/sbin/openvpn தீர்க்கிறது என்றால், இரண்டாவது கோப்பைச் சரிசெய்வது சேவையில் எதையும் மாற்றாது.

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

தொகுப்புக் கோப்புகள் பற்றி தொகுப்புத் தரவுத்தளம் பேசட்டும்

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

சரிபார்ப்பை இயக்கி, காலியான முடிவை எதற்கும் சான்றாகக் கருதுவதற்குப் பதிலாக வெளியீட்டைப் படியுங்கள்.

dpkg -S /usr/sbin/openvpn
dpkg --verify openvpn

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

பழுதுநீக்கலுக்கு முன் நிலையைப் பதிவு செய்யுங்கள்

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

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

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

துவக்கத்தைச் சரிபார்த்து, பின்னர் மடக்கை நீக்குங்கள்

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

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

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

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