nordvpn ഡീമണിൽ എത്താൻ കഴിയില്ലെന്ന് പറയുന്നു: സോക്കറ്റ്, ഗ്രൂപ്പ് അല്ലെങ്കിൽ unit?
ടണൽ പൂർണ്ണമായും കുഴപ്പമില്ലാതിരിക്കാം; CLI-ക്ക് nordvpnd-ലേക്കുള്ള സോക്കറ്റ് നഷ്ടപ്പെട്ടു എന്നു മാത്രം. കമാൻഡിൽ നിന്ന് unit-ലേക്ക്, പിന്നെ സോക്കറ്റ് അനുമതികളിലേക്ക് പോകുക, ആദ്യ പരാജയത്തിൽ നിർത്തുക.
nordvpn പ്രവർത്തിപ്പിച്ച് എത്തിപ്പെടാനാകാത്ത ഡീമണിനെക്കുറിച്ച് സന്ദേശം ലഭിക്കുന്നത് ഒരു ഇടുങ്ങിയ പരാതിയാണ്, സാധാരണയായി നിങ്ങൾ ഇതിനകം വൈകിയിരിക്കുമ്പോഴാണ് അത് വരുന്നത്. ടണൽ പ്രവർത്തിക്കുന്നുണ്ടോ എന്നതിനെക്കുറിച്ച് അത് ഒന്നും പറയുന്നില്ല, കാരണം CLI വെറും മുൻഭാഗം മാത്രമാണ്: അത് ഒരു Unix സോക്കറ്റ് വഴി പശ്ചാത്തല പ്രക്രിയയോട് സംസാരിക്കുന്നു, സന്ദേശം എന്നാൽ ആ സംഭാഷണം നടന്നില്ല എന്നാണ്. കമാൻഡിൽ നിന്ന് പുറത്തേക്ക് നടന്ന് കള്ളമെന്ന് തെളിയുന്ന ആദ്യത്തെ കാര്യത്തിൽ നിർത്തുക.
പിശക് പ്രത്യക്ഷപ്പെടുന്നിടത്ത് നിന്ന് തുടങ്ങുക
ഇവിടെ രണ്ട് പ്രക്രിയകൾ ഉൾപ്പെട്ടിരിക്കുന്നു, അവയെ കൂട്ടിക്കുഴയ്ക്കുന്നതാണ് ഇതിനെ ദുരൂഹമാക്കുന്നത്. ഡീമൺ ടണലിന്റെ ഉടമയാണ്, /run/nordvpn/ എന്നതിന് താഴെയുള്ള ഒരു സോക്കറ്റിൽ അത് കേൾക്കുന്നു. നിങ്ങൾ ടൈപ്പ് ചെയ്ത കമാൻഡ് സ്വയം ഇന്റർഫേസുകളിൽ തൊടാതെ ആ സോക്കറ്റിലേക്ക് ബന്ധിപ്പിക്കുന്നു.
സോക്കറ്റ് ഇല്ലാതിരിക്കുകയോ കണക്ഷൻ നിരസിക്കുകയോ ചെയ്യുമ്പോൾ, CLI-ക്ക് ചോദിക്കാൻ ആരുമില്ല, അതിനാൽ അതേ പരാതിയുടെ ഉപയോക്തൃ-ഡീമൺ അല്ലെങ്കിൽ സിസ്റ്റം-ഡീമൺ രൂപം റിപ്പോർട്ട് ചെയ്യുന്നു. ആ രൂപങ്ങളിലൊന്ന് പാത നേരിട്ട് പേരിടുന്നു, അതാണ് മുഴുവൻ കൈമാറ്റത്തിലെയും ഏറ്റവും ഉപയോഗപ്രദമായ വാക്യം.
മറ്റെല്ലാറ്റിനും മുൻപ് unit പരിശോധിക്കുക
സേവന മാനേജരോട് ഡീമൺ പ്രവർത്തിക്കുന്നുണ്ടോ എന്ന് ചോദിക്കുക, ഇല്ലെങ്കിൽ ഒരു ഘട്ടത്തിൽ അത് ആരംഭിച്ച് പ്രവർത്തനക്ഷമമാക്കുക:
systemctl status nordvpnd
sudo systemctl enable --now nordvpnd
nordvpn version
unit ഉണ്ടെങ്കിലും നിഷ്ക്രിയമാണെങ്കിൽ, enable --now അതേ സമയം അത് ആരംഭിക്കുകയും അടുത്ത ബൂട്ട് ക്രമീകരിക്കുകയും ചെയ്യുന്നു. unit ഇല്ലെങ്കിൽ, പാക്കേജ് നിങ്ങൾ കരുതുന്നതല്ല, ഇൻസ്റ്റാൾ ചെയ്ത പേര് നിങ്ങളുടെ കുറിപ്പുകളിലെ പേരിനേക്കാൾ പ്രധാനമാണ്. ആ ലേബലിന് കീഴിൽ ഒരിക്കലും ഇൻസ്റ്റാൾ ചെയ്യാത്ത ഒരു സേവനം പ്രവർത്തനക്ഷമമാക്കാൻ ഇരുപത് മിനിറ്റ് ചെലവഴിക്കുന്നതുവരെ ഇത് നിസ്സാരമായ വ്യത്യാസമായി തോന്നും. ഉള്ളത് വായിക്കുക, എന്നിട്ട് അതനുസരിച്ച് പ്രവർത്തിക്കുക.
unit ഫയലുകൾ ലിസ്റ്റ് ചെയ്യുന്നത് ഇത് ഒരു കമാൻഡിൽ തീർപ്പാക്കുന്നു, ഇൻസ്റ്റാളേഷനെക്കുറിച്ച് എന്തെങ്കിലും അനുമാനിക്കുന്നതിന് മുൻപ് ഇത് ചെയ്യാൻ തക്കതാണ്:
systemctl list-unit-files 'nordvpn*'
service --status-all
റിലീസുകൾ സേവനം ഒന്നിലധികം unit പേരുകളിൽ എത്തിച്ചിട്ടുണ്ട്, അതിനാൽ nordvpn എന്നതിന് പകരം nordvpnd ഉപയോഗിക്കുന്ന build ഈ പിശകിന്റെ കൃത്യമായ പകർപ്പ് നിർമ്മിക്കും, അതേസമയം ആരോഗ്യകരമായ സേവനം അതിന് തൊട്ടടുത്ത് പ്രവർത്തിക്കുന്നു.
സോക്കറ്റും അതിന്റെ ഗ്രൂപ്പും പ്രവേശനം തീരുമാനിക്കുന്നു
ഡീമൺ പ്രവർത്തിക്കുന്നുണ്ടെങ്കിലും അനുമതികൾ കാരണം കണക്ഷൻ നിരസിക്കപ്പെടാം. ഇൻസ്റ്റാളർ nordvpn ഗ്രൂപ്പ് സൃഷ്ടിക്കുന്നു, സോക്കറ്റ് അതനുസരിച്ച് ഉടമസ്ഥതയിലാണ്, അതിനാൽ ആ ഗ്രൂപ്പിന് പുറത്തുള്ള ഉപയോക്താവ് നിരസിക്കപ്പെടുന്നു, സേവനം പൂർണ്ണമായും ആരോഗ്യകരമായിരിക്കെ.
sudo usermod -aG nordvpn "$USER"
newgrp nordvpn
സെഷൻ ആരംഭിക്കുമ്പോഴാണ് ഗ്രൂപ്പ് അംഗത്വം വായിക്കുന്നത്, അതുകൊണ്ടാണ് മാറ്റം വരുത്തിയ ടെർമിനലിൽ അത് പ്രവർത്തിക്കാത്തതായി തോന്നുന്നത്. പ്രവർത്തിക്കുന്ന സെഷൻ പുതിയ ഗ്രൂപ്പ് കാണുന്നതിന് മുൻപ് പുതിയ ലോഗിൻ ഷെല്ലോ newgrp ആവശ്യമാണ്. പുതിയ ഷെല്ലിൽ പരീക്ഷിക്കുക, കമാൻഡ് ഇപ്പോൾ പ്രവർത്തിപ്പിച്ച ഷെല്ലിൽ അല്ല. അല്ലെങ്കിൽ പരിഹാരം പരാജയപ്പെട്ടു എന്ന് നിങ്ങൾ അനുമാനിക്കും, എന്നാൽ അത് ഇപ്പോഴും പ്രയോഗിച്ചിട്ടില്ല.
സോക്കറ്റിന്റെ ഉടമസ്ഥത തന്നെയാണ് ആ പരിശോധനയുടെ രണ്ടാം പകുതി. സോക്കറ്റിലെ ഗ്രൂപ്പിനെ CLI പ്രവർത്തിപ്പിക്കുന്ന ഷെൽ റിപ്പോർട്ട് ചെയ്യുന്ന ഗ്രൂപ്പുകളുമായി താരതമ്യം ചെയ്യുക, അനുമതി ചോദ്യത്തിന് പുനർഇൻസ്റ്റാളിന് പകരം ഒരു ഘട്ടത്തിൽ ഉത്തരം ലഭിക്കുന്നു:
ls -l /run/nordvpn
id
ജീവനുള്ള പ്രക്രിയ ശരിയായ സോക്കറ്റിന്റെ തെളിവല്ല. മറ്റൊരു മാനേജർ ആരംഭിച്ച ഡീമണോ മറ്റൊരു പേരിലുള്ള സോക്കറ്റ് ബന്ധിച്ച പഴയ പാക്കേജോ അതേ രീതിയിൽ റിപ്പോർട്ട് ചെയ്യുന്നു. ഡയറക്ടറി ലിസ്റ്റ് ആ സന്ദർഭങ്ങളെ ഒരു വരിയിൽ വേർതിരിക്കുന്നു, അതുകൊണ്ടാണ് അത് പുനർഇൻസ്റ്റാളിനേക്കാൾ മികച്ചതാകുന്നത്.
പഴയ പാക്കേജിംഗിലെ ഉപയോക്തൃ പ്രക്രിയ
ചില പാക്കേജിംഗ് ലോഗിൻ ചെയ്ത ഉപയോക്താവിന്റെ സന്ദർഭത്തിൽ രണ്ടാം പ്രക്രിയ പ്രവർത്തിപ്പിക്കുന്നു, ഡെസ്ക്ടോപ്പ് സംയോജനം അത് കണ്ടെത്താൻ പ്രതീക്ഷിക്കുന്നു. സിസ്റ്റം init സ്ക്രിപ്റ്റ് ആ അക്കൗണ്ടിലേക്ക് ഇറങ്ങാതെ അത് ആരംഭിച്ചാൽ, ഏത് സെഷനും ഉടമസ്ഥതയില്ലാത്ത ഒരു ഡീമണിനെ CLI തിരയുന്നു.
systemd അല്ലാത്ത init-ൽ, രേഖപ്പെടുത്തിയ ക്രമീകരണം റോളുകൾ വിഭജിക്കുന്നു: സിസ്റ്റം സേവനം ഒരു പേരിൽ പ്രവർത്തിക്കുന്നു, ഉപയോക്തൃ വശത്തെ പ്രക്രിയ ലക്ഷ്യ അക്കൗണ്ടിന് കീഴിൽ chpst -u <user> ഉപയോഗിച്ച് പ്രവർത്തിക്കുന്നു. മറ്റേത് അനുമാനിക്കുന്ന ഒരു സ്റ്റാർട്ടപ്പ് സ്ക്രിപ്റ്റ് ചേർക്കുന്നതിന് മുൻപ് നിങ്ങളുടെ ഇൻസ്റ്റാളേഷൻ യഥാർത്ഥത്തിൽ ഏത് ക്രമീകരണമാണ് ഉപയോഗിക്കുന്നതെന്ന് പരിശോധിക്കുക.
നിങ്ങൾ പൂർത്തിയാക്കിയെന്ന് എങ്ങനെ അറിയാം
സാധാരണ പ്രേരകം അപ്ഗ്രേഡ് ആണ്, കാരണം പുതിയ ബൈനറി പഴയത് ഒരിക്കലും വിട്ടേച്ചുപോകാത്ത ഒരു സേവന അവസ്ഥ പ്രതീക്ഷിക്കുന്നു. നിർത്തുക, വീണ്ടും പ്രവർത്തനക്ഷമമാക്കുക, ആരംഭിക്കുക എന്ന ക്രമത്തിൽ അത് വൃത്തിയാക്കുന്നു:
sudo systemctl stop nordvpnd
sudo systemctl enable --now nordvpnd
sudo systemctl start nordvpnd
nordvpn version
ആ അവസാന കമാൻഡാണ് സ്വീകാര്യതാ പരീക്ഷ. പതിപ്പ് അച്ചടിച്ചാൽ സോക്കറ്റ് പ്രതികരിക്കുന്നു എന്നർത്ഥം, അത് ബാക്കിയുള്ള ഓരോ തകരാറും ലോഗിൻ, പ്ലാൻ അല്ലെങ്കിൽ കണക്റ്റിവിറ്റി മേഖലയിലേക്ക് മാറ്റി ഈ ലേഖനത്തിന് പുറത്താക്കുന്നു. അത് പ്രതികരിച്ചാൽ, ഇവിടെ വായന നിർത്തി പകരം അക്കൗണ്ട് നോക്കുക.
സോക്കറ്റ് ഇപ്പോഴും ഇല്ലെങ്കിൽ, അത് എന്തുകൊണ്ട് അവസാനിച്ചുവെന്ന് കാണാൻ unit ജേണൽ വായിക്കുക, എന്നിട്ട് /run/nordvpn നിലവിലുണ്ടെന്നും സേവന അക്കൗണ്ടിന് അവിടെ എഴുതാമെന്നും പരിശോധിക്കുക. ഉയർന്ന് ഉടൻ മരിക്കുന്ന പ്രക്രിയ അതിന്റെ കാരണം ആ ജേണലിൽ രേഖപ്പെടുത്തുന്നു, ഒരു വരി വായിക്കുന്നത് പുനർഇൻസ്റ്റാൾ ചെയ്യുന്നതിനേക്കാൾ വേഗമേറിയതാണ്.