VPN ਰਿਪੋਜ਼ਟਰੀ ਸ਼ਾਮਲ ਕਰਨ ਤੋਂ ਬਾਅਦ NO_PUBKEY ਨਾਲ apt ਅੱਪਡੇਟ ਫੇਲ ਹੁੰਦਾ ਹੈ
NO_PUBKEY ਅਤੇ ਗੁੰਮ Release ਫਾਈਲ ਭਰੋਸੇ ਦੀਆਂ ਫੇਲ੍ਹਤਾਂ ਹਨ, ਨੈੱਟਵਰਕ ਖਰਾਬੀਆਂ ਨਹੀਂ। ਫੈਸਲਾ ਕਰੋ ਕਿ ਵਿਕਰੇਤਾ ਦੀ ਕੁੰਜੀ signed-by ਨਾਲ ਪਿੰਨ ਕਰਨੀ ਹੈ ਜਾਂ ਸਰੋਤ ਹਟਾਉਣਾ ਹੈ।
ਤੁਹਾਡੇ VPN ਵਿਕਰੇਤਾ ਦਾ apt ਸਰੋਤ ਪੈਕੇਜ ਮੈਨੇਜਰ ਨੂੰ ਤੋੜ ਦਿੱਤਾ ਹੈ, ਅਤੇ ਹੱਲ ਇੱਕ ਫੈਸਲਾ ਹੈ, ਹੁਕਮ ਨਹੀਂ। NO_PUBKEY, ਜਾਂ ਰਿਪੋਜ਼ਟਰੀ ਵਿੱਚ Release ਫਾਈਲ ਨਾ ਹੋਣ ਦੀ ਸ਼ਿਕਾਇਤ, ਦਾ ਮਤਲਬ ਹੈ ਕਿ apt ਨੇ ਉਸ ਸਰੋਤ 'ਤੇ ਭਰੋਸਾ ਕਰਨ ਤੋਂ ਇਨਕਾਰ ਕਰ ਦਿੱਤਾ, ਇਸ ਲਈ ਹਰ ਅਗਲੀ ਪੈਕੇਜ ਕਾਰਵਾਈ ਉਹੀ ਚੇਤਾਵਨੀ ਛਾਪਦੀ ਰਹਿੰਦੀ ਹੈ। ਸੁਰੰਗ ਆਪਣੇ ਆਪ ਵਿੱਚ ਸ਼ਾਇਦ ਨਿਰਦੋਸ਼ ਹੈ। ਉਹ ਸਰੋਤ ਹਾਲੇ ਵੀ ਚਾਹੀਦਾ ਹੈ ਜਾਂ ਨਹੀਂ, ਇਨ੍ਹਾਂ ਤਿੰਨ ਸਵਾਲਾਂ ਦਾ ਜਵਾਬ ਦਿਓ, ਅਤੇ ਸਹੀ ਮੁਰੰਮਤ ਲਗਭਗ ਯਾਂਤ੍ਰਿਕ ਰੂਪ ਵਿੱਚ ਆਉਂਦੀ ਹੈ।
ਪਹਿਲਾਂ, ਫੇਲ੍ਹਤ ਨੂੰ ਸਹੀ ਸ਼੍ਰੇਣੀ ਵਿੱਚ ਰੱਖੋ
ਭਰੋਸੇ ਦੀ ਫੇਲ੍ਹਤ ਸਰੋਤ ਫਾਈਲ ਦਾ ਨਾਂ ਅਤੇ ਜਾਂ ਤਾਂ ਗੁੰਮ ਕੁੰਜੀ ਜਾਂ ਗੈਰਹਾਜ਼ਰ Release ਫਾਈਲ ਦੱਸਦੀ ਹੈ। ਆਵਾਜਾਈ ਦੀ ਫੇਲ੍ਹਤ ਵੱਖਰੀ ਦਿਸਦੀ ਹੈ: TLS ਸਰਟੀਫਿਕੇਟ ਦੀਆਂ ਗਲਤੀਆਂ, ਰੱਦ ਕੀਤਾ ਕਨੈਕਸ਼ਨ, ਸਮਾਂ ਸੀਮਾ, ਜਾਂ CONNECT ਤੋਂ ਇਨਕਾਰ ਕਰਨ ਵਾਲਾ ਪ੍ਰੌਕਸੀ। ਇਹ ਫ਼ਰਕ ਹੀ ਤੈਅ ਕਰਦਾ ਹੈ ਕਿ ਤੁਸੀਂ ਕਿਹੜਾ ਲੇਖ ਪੜ੍ਹ ਰਹੇ ਹੋ, ਕਿਉਂਕਿ TLS ਰੋਕਣ ਵਾਲਾ ਜਾਂ ਵਿਕਰੇਤਾ ਦੇ ਹੋਸਟ ਨੂੰ ਬਲਾਕ ਕਰਨ ਵਾਲਾ VPN ਆਵਾਜਾਈ ਦੀਆਂ ਗਲਤੀਆਂ ਦਿੰਦਾ ਹੈ, ਦਸਤਖ਼ਤ ਦੀਆਂ ਨਹੀਂ।
ਚਲਾਓ sudo apt update ਇਕੱਲਾ ਅਤੇ ਅੰਤ ਪੜ੍ਹੋ, ਉੱਪਰਲੇ ਕੈਸ਼ ਨਤੀਜਿਆਂ ਨੂੰ ਨਜ਼ਰਅੰਦਾਜ਼ ਕਰਦਿਆਂ। ਮਹੱਤਵਪੂਰਨ ਲਾਈਨ /etc/apt/sources.list.d/ ਦਾ ਨਾਂ ਲੈਂਦੀ ਹੈ ਅਤੇ ਦੱਸਦੀ ਹੈ ਕਿ ਕਿਹੜੀ ਫਾਈਲ ਖੋਲ੍ਹਣੀ ਹੈ।
ਜੇ ਫੇਲ੍ਹਤ ਸੁਰੰਗ ਚੜ੍ਹਨ ਤੋਂ ਬਾਅਦ ਆਉਂਦੀ ਹੈ, ਤਾਂ ਸੁਰੰਗ ਬੰਦ ਰੱਖ ਕੇ ਅਤੇ DNS ਨੂੰ ਸਿਸਟਮ ਰਿਜ਼ੌਲਵਰ ਰਾਹੀਂ ਹੱਲ ਕਰਕੇ ਪਰਖੋ। ਜੋ ਸਰੋਤ VPN ਤੋਂ ਬਿਨਾਂ ਕੰਮ ਕਰਦਾ ਹੈ, ਉਹ ਰੂਟਿੰਗ ਜਾਂ ਰੋਕਥਾਮ ਦਾ ਸਵਾਲ ਹੈ, ਅਤੇ ਕੋਈ ਵੀ ਕੁੰਜੀ ਪ੍ਰਬੰਧਨ ਉਸ ਨੂੰ ਠੀਕ ਨਹੀਂ ਕਰੇਗਾ।
ਤਿੰਨ ਸਵਾਲ ਜੋ ਰਾਹ ਚੁਣਦੇ ਹਨ
ਕੀ ਤੁਸੀਂ ਹਾਲੇ ਵੀ ਇਸ ਸਰੋਤ ਤੋਂ ਪੈਕੇਜ ਇੰਸਟਾਲ ਜਾਂ ਅੱਪਗ੍ਰੇਡ ਕਰਦੇ ਹੋ? ਜੇ ਕਲਾਇੰਟ ਸਰਗਰਮ ਵਰਤੋਂ ਵਿੱਚ ਹੈ, ਤਾਂ ਭਰੋਸਾ ਮੁਰੰਮਤ ਕਰੋ। ਜੇ ਤੁਸੀਂ ਕਲਾਇੰਟ ਇੱਕ ਵਾਰ ਇੰਸਟਾਲ ਕੀਤਾ ਅਤੇ ਹੁਣ NetworkManager ਵਿੱਚ ਸਾਧਾਰਨ ਪ੍ਰੋਫਾਈਲ ਆਯਾਤ ਕਰਦੇ ਹੋ, ਤਾਂ ਸਰੋਤ ਵਾਧੂ ਭਾਰ ਹੈ ਅਤੇ ਹਟਾਉਣਾ ਹੀ ਇਮਾਨਦਾਰ ਮੁਰੰਮਤ ਹੈ।
ਦੂਜਾ, ਕੀ ਵਿਕਰੇਤਾ ਅਜਿਹੀ ਕੁੰਜੀ ਅਤੇ ਫਿੰਗਰਪ੍ਰਿੰਟ ਪ੍ਰਕਾਸ਼ਿਤ ਕਰਦਾ ਹੈ ਜਿਸ ਨੂੰ ਤੁਸੀਂ ਚੈਨਲ ਤੋਂ ਬਾਹਰ ਪਰਖ ਸਕਦੇ ਹੋ? ਤੀਜਾ, ਇਸ ਹੋਸਟ 'ਤੇ ਕੁੰਜੀਆਂ ਕੌਣ ਸੰਭਾਲਦਾ ਹੈ: ਵੰਡ ਜਾਂ ਤੁਸੀਂ? ਜਿਸ ਕੁੰਜੀ ਨਾਲ ਤੁਸੀਂ ਪਰਖ ਨਹੀਂ ਸਕਦੇ, ਉਸ ਨਾਲ ਦਸਤਖ਼ਤ ਕੀਤਾ ਸਰੋਤ ਉਹ ਅੱਪਡੇਟ ਅਧਿਕਾਰ ਹੈ ਜੋ ਤੁਹਾਨੂੰ ਨਹੀਂ ਦੇਣਾ ਚਾਹੀਦਾ।
ਪਹਿਲੇ ਸਵਾਲ ਦਾ ਨਾਂਹ ਜਵਾਬ ਵਿਸ਼ਲੇਸ਼ਣ ਖ਼ਤਮ ਕਰਦਾ ਹੈ। ਤਿੰਨੇ ਨੁਕਤਿਆਂ 'ਤੇ ਹਾਂ ਜਵਾਬ signed-by ਮੁਰੰਮਤ ਵੱਲ ਲੈ ਜਾਂਦਾ ਹੈ, ਜੋ ਇੱਕੋ ਇੱਕ ਪ੍ਰਬੰਧ ਹੈ ਜੋ ਕੰਮ ਵੀ ਕਰਦਾ ਹੈ ਅਤੇ ਜਾਂਚਯੋਗ ਵੀ ਰਹਿੰਦਾ ਹੈ। ਦੋਵੇਂ ਰਾਹ ਮਿਲਾਉਣਾ, ਸਰੋਤ ਰੱਖ ਕੇ ਜ਼ਬਰਦਸਤੀ ਪਾਰ ਕਰਾਉਣਾ, ਇੱਕੋ ਇੱਕ ਵਿਕਲਪ ਹੈ ਜਿਸ ਨੂੰ ਸਪਸ਼ਟ ਤੌਰ 'ਤੇ ਬਾਹਰ ਰੱਖਣਾ ਚਾਹੀਦਾ ਹੈ।
trusted=yes ਮੁਰੰਮਤ ਵਰਗਾ ਕਿਉਂ ਲੱਗਦਾ ਹੈ ਅਤੇ ਹੈ ਨਹੀਂ
sources.list ਦਸਤਾਵੇਜ਼ ਪੰਨਾ ਇਸ ਬਾਰੇ ਸਿੱਧਾ ਹੈ। Trusted ਚੋਣ ਨੂੰ yes 'ਤੇ ਸੈੱਟ ਕਰਨਾ apt ਨੂੰ ਕਹਿੰਦਾ ਹੈ ਕਿ ਪ੍ਰਮਾਣਿਕਤਾ ਫੇਲ ਹੋਣ 'ਤੇ ਵੀ ਸਰੋਤ ਮੰਨ ਲਵੇ, ਜੋ ਉਸ ਰਿਪੋਜ਼ਟਰੀ ਲਈ apt-secure ਬੰਦ ਕਰ ਦਿੰਦਾ ਹੈ। ਪੰਨਾ ਇਸ ਨੂੰ ਸਥਾਨਕ ਸੰਦਰਭ ਲਈ ਰੱਖਦਾ ਹੈ, ਜੇ ਬਿਲਕੁਲ ਵਰਤਿਆ ਜਾਵੇ।
ਇਹ ਵਿਕਰੇਤਾ 'ਤੇ ਭਰੋਸੇ ਦਾ ਸੌੜਾ ਸੰਸਕਰਣ ਨਹੀਂ ਹੈ। ਇਹ ਸੂਚਕ 'ਤੇ ਕਿਸ ਨੇ ਦਸਤਖ਼ਤ ਕੀਤੇ ਇਹ ਸਵਾਲ ਹੀ ਹਟਾ ਦਿੰਦਾ ਹੈ, ਇਸ ਲਈ ਜੋ ਵੀ ਉਸ ਹੋਸਟਨਾਮ ਲਈ ਜਵਾਬ ਦੇ ਸਕਦਾ ਹੈ, ਉਹ ਤੁਹਾਡੀ ਮਸ਼ੀਨ ਨੂੰ root ਵਜੋਂ ਇੰਸਟਾਲ ਹੋਣ ਵਾਲੇ ਪੈਕੇਜ ਦੇ ਸਕਦਾ ਹੈ।
ਮੁਰੰਮਤ ਦਾ ਰਾਹ: ਕੁੰਜੀ ਲਵੋ, ਫਿਰ ਪਿੰਨ ਕਰੋ
ਵਿਕਰੇਤਾ ਜਿਸ ਥਾਂ ਦਾ ਦਸਤਾਵੇਜ਼ ਕਰਦਾ ਹੈ ਉੱਥੋਂ ਕੁੰਜੀ ਲਵੋ ਅਤੇ ਪ੍ਰਸ਼ਾਸਕ ਵੱਲੋਂ ਸੰਭਾਲੇ ਕੀਅਰਿੰਗ ਵਿੱਚ ਖੋਲ੍ਹੋ, ਫਿਰ ਰਿਪੋਜ਼ਟਰੀ ਲਾਈਨ ਨੂੰ ਉਸ ਫਾਈਲ ਵੱਲ ਮੋੜੋ ਤਾਂ ਜੋ ਭਰੋਸਾ ਸਰਕ ਨਾ ਜਾਵੇ।
- ਫੇਲ ਹੋਣ ਵਾਲੀ ਲਾਈਨ ਪੜ੍ਹੋ ਤੇ ਕੁੰਜੀ ਦਾ ID ਅਤੇ ਸਰੋਤ ਫਾਈਲ ਦਾ ਨਾਂ ਲਵੋ।
- ਵਿਕਰੇਤਾ ਦੀ ASCII-ਕਵਚਿਤ ਕੁੰਜੀ ਡਾਊਨਲੋਡ ਕਰੋ ਅਤੇ
gpg --dearmorਨੂੰ/etc/apt/keyrings/vendor-name.gpgਵਿੱਚ ਚਲਾਓ। [signed-by=/etc/apt/keyrings/vendor-name.gpg]ਨੂੰ ਉਸ ਵਿਕਰੇਤਾ ਦੀ.listਫਾਈਲ ਦੀ ਐਂਟਰੀ ਵਿੱਚ ਸ਼ਾਮਲ ਕਰੋ।- ਚਲਾਓ
sudo apt updateਅਤੇ ਪੁਸ਼ਟੀ ਕਰੋ ਕਿ ਸਰੋਤ ਦਸਤਖ਼ਤ ਚੇਤਾਵਨੀ ਦੁਹਰਾਉਣ ਦੀ ਥਾਂ ਸੂਚਕ ਲਿਆਉਂਦਾ ਹੈ।
ਪੈਕੇਜ ਨਾਲ ਆਉਣ ਵਾਲੀਆਂ ਕੁੰਜੀਆਂ ਲਈ /usr/share/keyrings ਨੂੰ ਤਰਜੀਹ ਦਿਓ ਅਤੇ ਹੱਥੋਂ ਰੱਖੀਆਂ ਕੁੰਜੀਆਂ ਲਈ /etc/apt/keyrings। ਇਹ ਵੰਡ ਸਜਾਵਟ ਨਹੀਂ: ਇਹ ਅਗਲੇ ਪ੍ਰਸ਼ਾਸਕ ਨੂੰ ਦੱਸਦੀ ਹੈ ਕਿ ਕਿਹੜੀਆਂ ਕੁੰਜੀਆਂ ਪੈਕੇਜ ਅੱਪਗ੍ਰੇਡ ਝੱਲਣਗੀਆਂ ਅਤੇ ਕਿਨ੍ਹਾਂ ਨੂੰ ਮਨੁੱਖ ਚਾਹੀਦਾ ਹੈ।
ਭਰੋਸਾ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਫਿੰਗਰਪ੍ਰਿੰਟ ਨੂੰ ਵਿਕਰੇਤਾ ਦੇ ਪ੍ਰਕਾਸ਼ਿਤ ਮੁੱਲ ਨਾਲ ਮਿਲਾਓ। ਫੋਰਮ ਪੋਸਟ ਤੋਂ ਪੇਸਟ ਕੀਤਾ ਕੁੰਜੀ ID ਉਹ ਤਰੀਕਾ ਹੈ ਜਿਸ ਨਾਲ ਮਸ਼ੀਨ ਉਸ ਅੱਪਡੇਟ ਅਧਿਕਾਰ 'ਤੇ ਭਰੋਸਾ ਕਰਨ ਲੱਗਦੀ ਹੈ ਜਿਸ ਦਾ ਨਾਂ ਕੋਈ ਨਹੀਂ ਦੱਸ ਸਕਦਾ।
ਹਟਾਉਣ ਦਾ ਰਾਹ, ਅਤੇ ਗਲਤੀ ਕਿਉਂ ਵਾਪਸ ਆ ਸਕਦੀ ਹੈ
ਇੰਸਟਾਲਰ ਨੇ ਅਸਲ ਵਿੱਚ ਕੀ ਲਿਖਿਆ, ਇਹ ਵੇਖੋ, ਕਿਉਂਕਿ ਕਈ ਫਾਈਲਾਂ ਇੱਕੋ ਵਿਕਰੇਤਾ ਦਾ ਜ਼ਿਕਰ ਕਰ ਸਕਦੀਆਂ ਹਨ ਅਤੇ ਉਨ੍ਹਾਂ ਵਿੱਚੋਂ ਇੱਕ ਆਮ ਤੌਰ 'ਤੇ ਬਚੀ ਹੋਈ ਨਕਲ ਹੁੰਦੀ ਹੈ।
grep -r . /etc/apt/sources.list.d/
sudo rm /etc/apt/sources.list.d/vendor.listapt ਉਸ ਡਾਇਰੈਕਟਰੀ ਤੋਂ ਸਿਰਫ਼ .list ਅਤੇ .sources ਫਾਈਲਾਂ ਪੜ੍ਹਦਾ ਹੈ, ਇਸ ਲਈ .save ਜਾਂ .distUpgrade ਨਕਲ ਪਹਿਲਾਂ ਹੀ ਨਜ਼ਰਅੰਦਾਜ਼ ਹੈ; ਫਿਰ ਵੀ ਉਸ ਨੂੰ ਮਿਟਾਉਣਾ ਬਾਅਦ ਦੇ ਪਾਠਕ ਨੂੰ ਇਸ ਨੂੰ ਅਚਾਨਕ ਬਹਾਲ ਕਰਨ ਤੋਂ ਰੋਕਦਾ ਹੈ। ਸਰੋਤ ਹਟਾਉਣ ਨਾਲ ਕੁਝ ਵੀ ਅਣ-ਇੰਸਟਾਲ ਨਹੀਂ ਹੁੰਦਾ, ਅਤੇ apt ਫਿਰ ਇੰਸਟਾਲ ਕੀਤੇ VPN ਪੈਕੇਜ ਨੂੰ ਸਥਾਨਕ ਤੌਰ 'ਤੇ ਇੰਸਟਾਲ ਜਾਂ ਹੁਣ ਉਪਲਬਧ ਨਹੀਂ ਦੱਸ ਸਕਦਾ, ਜੋ ਪੈਕੇਜ-ਸਥਿਤੀ ਸੁਨੇਹਾ ਹੈ, ਭਰੋਸੇ ਦੀ ਗਲਤੀ ਦਾ ਮੁੜ ਆਉਣਾ ਨਹੀਂ।
ਦੁਹਰਾਉਣ ਵਾਲੀ ਘਟਨਾ ਪੁਰਾਣੀ ਹਦਾਇਤ ਹੈ ਜੋ ਕੁੰਜੀਆਂ apt-key ਨਾਲ ਗਲੋਬਲ ਭਰੋਸੇਯੋਗ ਰਿੰਗ ਵਿੱਚ ਇੰਸਟਾਲ ਕਰਦੀ ਸੀ। ਉਹ ਰਾਹ ਅਪ੍ਰਚਲਿਤ ਹੈ, ਅਤੇ ਰਿਲੀਜ਼ ਅੱਪਗ੍ਰੇਡ ਕੁੰਜੀ ਨੂੰ ਡਿੱਗਿਆ ਜਾਂ ਸਿਰਫ਼ ਨਾ ਪੁੱਛਿਆ ਛੱਡ ਸਕਦਾ ਹੈ, ਅਤੇ ਇੱਕ ਸਾਲ ਚੁੱਪ ਰਹੀ ਗਲਤੀ ਤੁਹਾਡੇ ਅੱਪਗ੍ਰੇਡ ਵਾਲੇ ਹਫ਼ਤੇ ਦਿਸਣ ਦਾ ਕਾਰਨ ਇਹੀ ਹੈ। /etc/apt/trusted.gpg.d/ ਵੇਖੋ, ਫਿਰ ਭਰੋਸੇ ਦਾ ਫੈਸਲਾ ਰਿਪੋਜ਼ਟਰੀ ਲਾਈਨ ਵਿੱਚ, ਉਸ ਦੀ ਥਾਂ 'ਤੇ ਲੈ ਜਾਓ। ਜੇ ਵਿਕਰੇਤਾ ਹਾਲੇ ਵੀ apt-key ਹਦਾਇਤਾਂ ਛਾਪਦਾ ਹੈ, ਤਾਂ ਵੀ signed-by ਵਰਤੋ; ਇਹੀ ਦਸਤਾਵੇਜ਼ ਵਿੱਚ ਦਰਜ ਪ੍ਰਬੰਧ ਹੈ, ਅਤੇ ਅੱਪਗ੍ਰੇਡ ਝੱਲਣ ਵਾਲਾ ਵੀ ਇਹੀ ਹੈ।