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 ਮੌਜੂਦ ਹੈ ਅਤੇ ਸੇਵਾ ਖਾਤਾ ਉੱਥੇ ਲਿਖ ਸਕਦਾ ਹੈ। ਉੱਠ ਕੇ ਤੁਰੰਤ ਮਰਨ ਵਾਲੀ ਪ੍ਰਕਿਰਿਆ ਆਪਣਾ ਕਾਰਨ ਉਸੇ ਜਰਨਲ ਵਿੱਚ ਦਰਜ ਕਰਦੀ ਹੈ, ਅਤੇ ਇੱਕ ਲਾਈਨ ਪੜ੍ਹਨਾ ਦੁਬਾਰਾ ਸਥਾਪਨਾ ਕਰਨ ਤੋਂ ਤੇਜ਼ ਹੈ।