Chocolatey ਅਧੀਨ ਦਸਤਖ਼ਤ ਜਾਂ ਕੁੰਜੀ ਦੀਆਂ ਗਲਤੀਆਂ ਨਾਲ ਮਰਨ ਵਾਲੀ OpenVPN ਇੰਸਟਾਲ ਆਮ ਤੌਰ ’ਤੇ ਡਾਊਨਲੋਡ ਸਮੱਸਿਆ ਨਹੀਂ ਹੁੰਦੀ। ਪੈਕੇਜ ਇੱਕ ਪੜਤਾਲ ਕਦਮ ਚਲਾਉਂਦਾ ਹੈ ਜੋ gpg ਨੂੰ ਕਾਲ ਕਰਦਾ ਹੈ, ਅਤੇ Windows ਉਸ ਨੰਗੇ ਨਾਮ ਨੂੰ PATH ਰਾਹੀਂ ਹੱਲ ਕਰਦਾ ਹੈ। ਜੇ Git for Windows ਪਹਿਲਾਂ ਇੰਸਟਾਲ ਹੋਇਆ ਸੀ, ਤਾਂ ਉਸਦਾ ਨਾਲ ਆਉਣ ਵਾਲਾ gpg.exe OpenVPN ਦੇ ਉਮੀਦ ਕੀਤੇ GnuPG ਬਿਲਡ ਤੋਂ ਅੱਗੇ ਬੈਠਦਾ ਹੈ, ਅਤੇ ਗਲਤ ਪ੍ਰੋਗਰਾਮ ਕਾਲ ਦਾ ਜਵਾਬ ਦਿੰਦਾ ਹੈ। ਤੁਸੀਂ ਜੋ ਗਲਤੀ ਦੇਖਦੇ ਹੋ ਉਹ ਉਸ ਦੂਜੇ ਪ੍ਰੋਗਰਾਮ ਨੇ ਸ਼ਿਕਾਇਤ ਕਰਨ ਦਾ ਫੈਸਲਾ ਕੀਤਾ ਹੈ, ਇਸ ਲਈ ਇਹ ਕਦੇ ਅਸਲ ਕਾਰਨ ਨਹੀਂ ਦੱਸਦੀ।

PATH ਦਾ ਕ੍ਰਮ ਤੈਅ ਕਰਦਾ ਹੈ ਕਿਹੜਾ gpg ਚੱਲੇਗਾ

Windows ਕੋਲ ਚੱਲਣਯੋਗ ਨਾਵਾਂ ਦਾ ਕੇਂਦਰੀ ਰਜਿਸਟਰ ਨਹੀਂ ਹੈ। ਜਦੋਂ ਕੋਈ ਪ੍ਰਕਿਰਿਆ ਪੂਰੇ ਪਾਥ ਤੋਂ ਬਿਨਾਂ gpg ਮੰਗਦੀ ਹੈ, ਲੋਡਰ PATH ਦੀਆਂ ਐਂਟਰੀਆਂ ਕ੍ਰਮ ਵਿੱਚ ਲੰਘਦਾ ਹੈ ਅਤੇ ਪਹਿਲੀ ਮੇਲ ਚਲਾਉਂਦਾ ਹੈ। Git for Windows ਦਸਤਖ਼ਤ ਕੀਤੇ ਕਮਿਟ ਚੱਲਣ ਲਈ ਆਪਣੀ usr/bin ਡਾਇਰੈਕਟਰੀ ਅੰਦਰ ਘੱਟੋ-ਘੱਟ GnuPG ਬਿਲਡ ਲਿਆਉਂਦਾ ਹੈ, ਅਤੇ ਇਸਦਾ ਇੰਸਟਾਲਰ ਆਮ ਤੌਰ ’ਤੇ ਉਹ ਡਾਇਰੈਕਟਰੀ ਵਰਤੋਂਕਾਰ ਦੇ PATH ਦੇ ਸ਼ੁਰੂ ਨੇੜੇ ਰੱਖਦਾ ਹੈ।

GnuPG ਆਪਣੀ ਡਾਇਰੈਕਟਰੀ ਵਿੱਚ, ਆਮ ਤੌਰ ’ਤੇ C:\Program Files (x86)\GNU\GnuPG\pub ਵਿੱਚ ਇੰਸਟਾਲ ਹੁੰਦਾ ਹੈ, ਅਤੇ ਉਹ ਐਂਟਰੀ ਸੂਚੀ ਵਿੱਚ ਬਾਅਦ ਵਿੱਚ ਹੋ ਸਕਦੀ ਹੈ ਜਾਂ ਵਰਤੋਂਕਾਰ ਦੇ PATH ਤੋਂ ਪੂਰੀ ਤਰ੍ਹਾਂ ਗਾਇਬ ਹੋ ਸਕਦੀ ਹੈ। ਦੋਵੇਂ ਪ੍ਰੋਗਰਾਮ ਨਾਮ ਅਤੇ ਕਮਾਂਡ-ਲਾਈਨ ਇੰਟਰਫ਼ੇਸ ਦਾ ਵੱਡਾ ਹਿੱਸਾ ਸਾਂਝਾ ਕਰਦੇ ਹਨ, ਪਰ ਆਪਣੀ ਹਾਲਤ ਨਹੀਂ: Git ਬਿਲਡ ਕੁੰਜੀ-ਛੱਲਾ ਕਿਤੇ ਹੋਰ ਲੱਭਦਾ ਹੈ, ਵੱਖਰਾ ਵਰਜ਼ਨ ਹੋ ਸਕਦਾ ਹੈ, ਅਤੇ ਇੰਸਟਾਲਰ ਵੱਲੋਂ ਭੇਜੇ ਵਿਕਲਪ ਸਵੀਕਾਰ ਨਾ ਕਰੇ। ਇਹ ਬੇਮੇਲ ਗਲਤੀ ਦਸਤਖ਼ਤ ਜਾਂ ਕੁੰਜੀ ਵਜੋਂ ਸਾਹਮਣੇ ਆਉਂਦੀ ਹੈ, ਜੋ ਗਲਤ ਬਾਈਨਰੀ ਨੇ ਜੋ ਦੇਖਿਆ ਉਸਦੀ ਸੱਚੀ ਰਿਪੋਰਟ ਹੈ। ਸੁਨੇਹੇ ਵਿੱਚ ਕੁਝ ਵੀ ਲੋਡਰ ਵੱਲ ਇਸ਼ਾਰਾ ਨਹੀਂ ਕਰਦਾ, ਕਿਉਂਕਿ ਲੋਡਰ ਨੇ ਉਹੀ ਕੀਤਾ ਜੋ ਉਸਨੂੰ ਕਿਹਾ ਗਿਆ ਸੀ।

ਤੁਸੀਂ ਜਿਸ ਸ਼ੈੱਲ ਤੋਂ ਸ਼ੁਰੂ ਕਰਦੇ ਹੋ ਉਹ ਨਤੀਜਾ ਕਿਉਂ ਤੈਅ ਕਰਦਾ ਹੈ

ਵਿਰਾਸਤ ਦਾ ਨਿਯਮ ਉਹ ਹਿੱਸਾ ਹੈ ਜੋ ਅੰਦਰੂਨੀ ਕਰਨ ਯੋਗ ਹੈ। ਚਾਈਲਡ ਪ੍ਰਕਿਰਿਆ ਨੂੰ ਉਸ ਸ਼ੈੱਲ ਦਾ ਵਾਤਾਵਰਣ ਮਿਲਦਾ ਹੈ ਜਿਸਨੇ ਉਸਨੂੰ ਸ਼ੁਰੂ ਕੀਤਾ, ਇਸ ਲਈ ਮਹੱਤਵਪੂਰਨ ਕ੍ਰਮ ਉਹ ਹੈ ਜੋ Chocolatey ਸ਼ੁਰੂ ਹੋਣ ਵੇਲੇ ਸੀ, ਤੁਹਾਡੇ ਸੁਧਾਰ ਤੋਂ ਬਾਅਦ ਦਾ ਕ੍ਰਮ ਨਹੀਂ।

ਇਸ ਲਈ ਸੈਟਿੰਗ ਵਿੰਡੋ ਵਿੱਚ PATH ਸੰਪਾਦਿਤ ਕਰਕੇ ਉਸੇ ਟਰਮੀਨਲ ਵਿੱਚ ਇੰਸਟਾਲ ਦੁਬਾਰਾ ਚਲਾਉਣ ਨਾਲ ਅਕਸਰ ਕੁਝ ਨਹੀਂ ਬਦਲਦਾ: ਟਰਮੀਨਲ ਨੇ ਪੁਰਾਣਾ ਵਾਤਾਵਰਣ ਰੱਖਿਆ ਸੀ। ਕਿਸੇ ਵੀ ਬਦਲਾਅ ਤੋਂ ਬਾਅਦ ਨਵਾਂ ਸ਼ੈੱਲ ਸ਼ੁਰੂ ਕਰੋ, ਅਤੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਉਸ ਨਵੇਂ ਸ਼ੈੱਲ ਵਿੱਚ where.exe gpg ਨਾਲ ਪੁਸ਼ਟੀ ਕਰੋ। ਇਹੀ ਕਾਰਨ ਹੈ ਕਿ ਮਸ਼ੀਨ-ਪੱਧਰ ਦੀ ਐਂਟਰੀ ਵਰਤੋਂਕਾਰ-ਪੱਧਰ ਦੇ ਬਦਲਾਅ ਨੂੰ ਹਰਾ ਸਕਦੀ ਹੈ, ਕਿਉਂਕਿ ਕੁਝ ਇੰਸਟਾਲਰ ਮਸ਼ੀਨ ਦੇ PATH ਦੇ ਸ਼ੁਰੂ ਵਿੱਚ ਜੋੜਦੇ ਹਨ ਅਤੇ ਮਸ਼ੀਨ ਐਂਟਰੀਆਂ ਵਰਤੋਂਕਾਰ ਐਂਟਰੀਆਂ ਤੋਂ ਪਹਿਲਾਂ ਮੁਲਾਂਕਣ ਹੁੰਦੀਆਂ ਹਨ। ਜੇ ਦੋਵੇਂ ਪੱਧਰਾਂ ਵਿੱਚ GnuPG ਪਾਥ ਹੈ, ਤਾਂ ਤੈਅ ਕਰੋ ਕਿ ਤੁਸੀਂ ਅਸਲ ਵਿੱਚ ਕਿਸਨੂੰ ਸੰਭਾਲ ਰਹੇ ਹੋ।

ਪਹਿਲਾ ਸੁਧਾਰ: ਐਂਟਰੀਆਂ ਦਾ ਕ੍ਰਮ ਬਦਲੋ

ਸਹੀ ਸੁਧਾਰ ਇਹ ਹੈ ਕਿ ਲੋੜੀਂਦੀ GnuPG ਡਾਇਰੈਕਟਰੀ ਜਿੱਤੇ। ਵਰਤੋਂਕਾਰ ਦੇ ਵਾਤਾਵਰਣ ਚਲ ਖੋਲ੍ਹੋ, Path ਸੰਪਾਦਿਤ ਕਰੋ, ਅਤੇ GnuPG ਦੀ pub ਡਾਇਰੈਕਟਰੀ ਨੂੰ Git ਐਂਟਰੀਆਂ ਤੋਂ ਉੱਪਰ ਲੈ ਜਾਓ। ਫਿਰ ਨਵੀਂ PowerShell ਵਿੰਡੋ ਖੋਲ੍ਹੋ, ਕਿਉਂਕਿ ਚੱਲ ਰਹੀ ਵਿੰਡੋ ਹਾਲੇ ਵੀ ਪੁਰਾਣੀ ਸੂਚੀ ਫੜੀ ਬੈਠੀ ਹੈ।

ਬਦਲ ਇੰਸਟਾਲ ਲਈ ਆਰਜ਼ੀ ਸਾਫ਼ ਵਾਤਾਵਰਣ ਹੈ: Git ਐਂਟਰੀਆਂ ਹਟਾਓ, ਨਵਾਂ ਸ਼ੈੱਲ ਖੋਲ੍ਹੋ, choco install openvpn ਚਲਾਓ, ਫਿਰ ਉਹਨਾਂ ਨੂੰ ਬਹਾਲ ਕਰੋ।

ਦੋਵੇਂ ਤਰੀਕੇ ਇੱਕੋ ਕਾਰਨ ਕਰਕੇ ਕੰਮ ਕਰਦੇ ਹਨ, ਅਤੇ ਦੂਜਾ ਤਾਂ ਹੀ ਸੁਰੱਖਿਅਤ ਹੈ ਜੇ ਤੁਸੀਂ ਐਂਟਰੀਆਂ ਸੱਚਮੁੱਚ ਬਹਾਲ ਕਰੋ। Git ਦੀ usr/bin ਨੂੰ PATH ਤੋਂ ਹਟਾਉਣਾ ਦਸਤਖ਼ਤ ਕੀਤੇ ਕਮਿਟ ਨੂੰ ਪੱਕੇ ਤੌਰ ’ਤੇ ਤੋੜ ਦਿੰਦਾ ਹੈ, ਅਤੇ ਕੰਮ ਕਰਦੇ gpg ਦੀ ਉਮੀਦ ਕਰਨ ਵਾਲਾ ਅਗਲਾ ਸਾਧਨ OpenVPN ਨਾਲ ਕੋਈ ਸੰਬੰਧ ਨਾ ਰੱਖਣ ਵਾਲੇ ਆਪਣੇ ਸੁਨੇਹੇ ਨਾਲ ਫੇਲ੍ਹ ਹੁੰਦਾ ਹੈ। ਜੇ ਤੁਸੀਂ ਆਰਜ਼ੀ ਰਾਹ ਲੈਂਦੇ ਹੋ, ਤਾਂ ਟਿਕਟ ਵਿੱਚ Path ਦਾ ਮੂਲ ਮੁੱਲ ਰੱਖੋ ਤਾਂ ਜੋ ਬਹਾਲੀ ਮੁੜ-ਨਿਰਮਾਣ ਨਹੀਂ, ਪੇਸਟ ਹੋਵੇ। ਐਂਟਰੀਆਂ ਦਾ ਕ੍ਰਮ ਰੱਖਣਾ ਟਿਕਾਊ ਸੁਧਾਰ ਹੈ; ਉਹਨਾਂ ਨੂੰ ਮਿਟਾਉਣਾ ਮਿਆਦ ਵਾਲਾ ਬਚਾਅ ਹੈ।

ਪੁਸ਼ਟੀ ਕਰੋ, ਫਿਰ ਵਾਪਸ ਰੱਖੋ

Chocolatey ਜਿਸ ਵਰਤੋਂਕਾਰ ਸੰਦਰਭ ਦੀ ਵਰਤੋਂ ਕਰੇਗਾ ਉਸੇ ਸੰਦਰਭ ਵਿੱਚ ਪਹਿਲਾਂ ਅਤੇ ਬਾਅਦ ਵਿੱਚ ਪੁਸ਼ਟੀ ਕਰੋ। where.exe gpg ਹਰ ਮੇਲ ਨੂੰ ਹੱਲ ਕ੍ਰਮ ਵਿੱਚ ਸੂਚੀਬੱਧ ਕਰਦਾ ਹੈ, ਇਸ ਲਈ ਪਹਿਲੀ ਲਾਈਨ ਉਹੀ ਹੈ ਜੋ ਚੱਲੇਗੀ; Get-Command gpg -All PowerShell ਵਿੱਚ ਵਧੇਰੇ ਵੇਰਵੇ ਨਾਲ ਉਹੀ ਜਵਾਬ ਦਿੰਦਾ ਹੈ। ਫਿਰ gpg --version ਪੁਸ਼ਟੀ ਕਰਦਾ ਹੈ ਕਿ ਕਿਹੜਾ ਬਿਲਡ ਜਵਾਬ ਦੇ ਗਿਆ।

ਜੇ where.exe ਅਜੇ ਵੀ Git ਦੀ ਕਾਪੀ ਨੂੰ ਪਹਿਲਾਂ ਸੂਚੀਬੱਧ ਕਰਦਾ ਹੈ, ਤਾਂ ਕ੍ਰਮ ਬਦਲੀ ਉਸ ਸੈਸ਼ਨ ਤੱਕ ਨਹੀਂ ਪਹੁੰਚੀ, ਅਤੇ ਕਿੰਨੀ ਵੀ ਵਾਰ ਮੁੜ ਇੰਸਟਾਲ ਕਰਨ ਨਾਲ ਮਦਦ ਨਹੀਂ ਮਿਲੇਗੀ। ਮਸ਼ੀਨ ਅਤੇ ਵਰਤੋਂਕਾਰ ਦੋਵਾਂ ਦੀ PATH ਨੂੰ [Environment]::GetEnvironmentVariable('Path','Machine') ਨਾਲ ਅਤੇ 'User' ਨਾਲ ਉਹੀ ਕਾਲ ਜਾਂਚੋ, ਕਿਉਂਕਿ ਪ੍ਰਭਾਵੀ ਸੂਚੀ ਦੋਵਾਂ ਤੋਂ ਬਣਦੀ ਹੈ। ਸਫਲ ਇੰਸਟਾਲ ਤੋਂ ਬਾਅਦ, openvpn --version ਨਾਲ ਮੁੜ ਜਾਂਚੋ ਅਤੇ ਸੇਵਾ ਜਾਂ GUI ਇੱਕ ਵਾਰ ਸ਼ੁਰੂ ਕਰੋ, ਕਿਉਂਕਿ ਪੈਕੇਜ ਸਾਫ਼ ਇੰਸਟਾਲ ਹੋ ਕੇ ਵੀ ਅਜਿਹੀ ਸੇਵਾ ਛੱਡ ਸਕਦਾ ਹੈ ਜੋ ਸ਼ੁਰੂ ਨਹੀਂ ਹੋਵੇਗੀ।

ਜੇ ਸਹੀ ਕ੍ਰਮ ਵਾਲਾ PATH ਅਜੇ ਵੀ ਫੇਲ੍ਹ ਹੁੰਦਾ ਹੈ, ਤਾਂ ਬਚਿਆ ਚਲ ਪੈਕੇਜ ਵਰਜ਼ਨ ਹੈ। ਪਿੰਨ ਕੀਤਾ Chocolatey ਪੈਕੇਜ ਕਿਸੇ ਖਾਸ GnuPG ਬਿਲਡ ਜਾਂ ਇੰਸਟਾਲ ਪਾਥ ਦੀ ਉਮੀਦ ਕਰ ਸਕਦਾ ਹੈ ਜੋ ਤੁਹਾਡੀ ਮਸ਼ੀਨ ਕੋਲ ਨਹੀਂ ਹੈ।

ਪੈਕੇਜ ਦਾ ਆਪਣਾ ਲੌਗ ਪੜ੍ਹੋ ਹੋਰ ਕੁਝ ਬਦਲਣ ਤੋਂ ਪਹਿਲਾਂ। C:\ProgramData\chocolatey\logs\chocolatey.log ਫੇਲ੍ਹ ਹੋਈ ਕਮਾਂਡ ਲਾਈਨ ਅਤੇ ਉਹ ਡਾਇਰੈਕਟਰੀ ਦਰਜ ਕਰਦਾ ਹੈ ਜਿੱਥੋਂ ਇਹ ਚੱਲੀ, ਜੋ ਤੁਹਾਨੂੰ ਦੱਸਦਾ ਹੈ ਕਿ ਫੇਲ੍ਹ ਹੋਈ ਕਾਲ ਦਸਤਖ਼ਤ ਜਾਂਚ, ਕੱਢਣਾ ਜਾਂ ਇੰਸਟਾਲ ਤੋਂ ਬਾਅਦ ਦੀ ਸਕ੍ਰਿਪਟ ਸੀ। ਇਹੀ ਫ਼ਰਕ ਤੈਅ ਕਰਦਾ ਹੈ ਕਿ ਤੁਸੀਂ ਅਜੇ ਵੀ gpg ਡੀਬੱਗ ਕਰ ਰਹੇ ਹੋ ਜਾਂ ਨਹੀਂ।

ਦੁਹਰਾਅ ਰੋਕਣ ਵਾਲੀ ਆਦਤ ਇਹ ਹੈ ਕਿ PATH ਨੂੰ ਡਾਇਰੈਕਟਰੀਆਂ ਦੀ ਥੈਲੀ ਨਹੀਂ, ਦਰਜ ਕ੍ਰਮ ਵਾਲੀ ਸਾਂਝੀ ਹਾਲਤ ਮੰਨੋ। ਜਦੋਂ ਤੁਸੀਂ ਅਜਿਹਾ ਸਾਧਨ ਇੰਸਟਾਲ ਕਰੋ ਜੋ ਆਮ ਬਾਈਨਰੀ ਨਾਮ ਲਿਆਉਂਦਾ ਹੈ, ਤਾਂ ਜਾਂਚੋ ਕਿ ਤੁਸੀਂ ਖੋਲ੍ਹਣ ਵਾਲੇ ਅਗਲੇ ਸ਼ੈੱਲ ਵਿੱਚ ਇਹ ਕਿਸ ਨੂੰ ਛਾਇਆ ਕਰਦਾ ਹੈ। ਫਿਰ ਤੁਸੀਂ ਜਿਸ ਕ੍ਰਮ ’ਤੇ ਟਿਕੇ ਉਹ ਲਿਖ ਲਓ, ਕਿਉਂਕਿ ਅਗਲਾ ਇੰਸਟਾਲਰ ਉਸ ਵਿੱਚ ਵਾਧਾ ਕਰੇਗਾ ਅਤੇ ਅਗਲਾ ਵਿਅਕਤੀ ਸੋਚੇਗਾ ਕਿ ਜਿੱਥੇ ਕੁਝ ਨਹੀਂ ਬਦਲਿਆ ਉੱਥੇ ਦਸਤਖ਼ਤ ਜਾਂਚ ਕਿਉਂ ਫੇਲ੍ਹ ਹੁੰਦੀ ਹੈ। ਇੰਸਟਾਲ ਤੋਂ ਪਹਿਲਾਂ ਇੱਕ where.exe ਪੂਰਾ ਚੱਕਰ ਬਚਾ ਲੈਂਦਾ ਹੈ।

ਸੰਬੰਧਿਤ ਲੇਖ