VPN ਕਲਾਇੰਟ ਅਣਇੰਸਟਾਲ ਹੋ ਗਿਆ, ਪਰ ਟਨਲ ਅਜੇ ਵੀ ਬੂਟ ਵੇਲੇ ਸ਼ੁਰੂ ਹੁੰਦੀ ਹੈ
ਹਟਾਇਆ VPN ਕਲਾਇੰਟ ਇੱਕ systemd ਯੂਨਿਟ, ਸੰਭਾਲਿਆ ਪਰੋਫਾਈਲ, ਇੱਕ ਹੈਲਪਰ ਅਤੇ ਇੱਕ apt ਭੰਡਾਰ ਛੱਡ ਸਕਦਾ ਹੈ। ਹੋਰ ਕੁਝ ਵੀ ਸਾਫ਼ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਚਾਰੇ ਦੀ ਸੂਚੀ ਬਣਾਓ।
ਤੁਹਾਡਾ ਡਿਸਟ੍ਰੋ ਪੈਕੇਜ ਹਟਾ ਦਿੰਦਾ ਹੈ, ਤੁਹਾਡਾ ਮੀਨੂ ਆਪਣੀ ਐਂਟਰੀ ਗੁਆ ਦਿੰਦਾ ਹੈ, ਅਤੇ ਫਿਰ ਵੀ ਅਗਲੇ ਰੀਬੂਟ ਤੋਂ ਬਾਅਦ ਟਨਲ ਉੱਪਰ ਆ ਜਾਂਦੀ ਹੈ। ਇੱਕ ਵਪਾਰਕ VPN ਕਲਾਇੰਟ ਅਜਿਹੇ ਟੁਕੜੇ ਛੱਡਦਾ ਹੈ ਜਿਨ੍ਹਾਂ ਨੂੰ ਪੈਕੇਜ ਮੈਨੇਜਰ ਨੇ ਕਦੇ ਟ੍ਰੈਕ ਨਹੀਂ ਕੀਤਾ, ਇਸ ਲਈ ਸਾਫ਼ ਹਟਾਉਣਾ ਸਾਫ਼ ਮਸ਼ੀਨ ਵਰਗਾ ਨਹੀਂ ਹੈ। ਉਨ੍ਹਾਂ ਟੁਕੜਿਆਂ ਵਿੱਚੋਂ ਚਾਰ ਲਗਭਗ ਹਰ ਭੂਤ ਕਨੈਕਸ਼ਨ ਦੀ ਵਿਆਖਿਆ ਕਰਦੇ ਹਨ: ਇੱਕ ਯੂਨਿਟ, ਇੱਕ ਕਨੈਕਸ਼ਨ ਪਰੋਫਾਈਲ, ਇੱਕ ਵਿਸ਼ੇਸ਼ ਅਧਿਕਾਰ ਵਾਲਾ ਹੈਲਪਰ ਅਤੇ ਇੱਕ ਵਿਕਰੇਤਾ ਭੰਡਾਰ। ਕੁਝ ਵੀ ਹਟਾਉਣ ਤੋਂ ਪਹਿਲਾਂ ਚਾਰੇ ਪੜ੍ਹੋ, ਫਿਰ ਹਰ ਇੱਕ ਨੂੰ ਉਸ ਦੇ ਮਾਲਕ ਕੰਪੋਨੈਂਟ ਰਾਹੀਂ ਹਟਾਓ।
ਜੋ ਅਣਇੰਸਟਾਲਰ ਨੇ ਕਦੇ ਦਰਜ ਨਹੀਂ ਕੀਤਾ
ਪੈਕੇਜ ਮੈਨੇਜਰ ਸਿਰਫ਼ ਉਹ ਫਾਈਲਾਂ ਹਟਾਉਂਦਾ ਹੈ ਜੋ ਉਸ ਨੇ ਖੁਦ ਲਿਖੀਆਂ ਸਨ, ਹੋਰ ਕੁਝ ਨਹੀਂ। ਉਸ ਕੋਲ ਕਲਾਇੰਟ ਵੱਲੋਂ ਰਨਟਾਈਮ ਵਿੱਚ ਬਣਾਈ ਕਨੈਕਸ਼ਨ ਪਰੋਫਾਈਲ ਦਾ, ਇੰਸਟਾਲ ਤੋਂ ਬਾਅਦ ਸਮਰੱਥ ਕੀਤੀ ਯੂਨਿਟ ਦਾ, ਜਾਂ ਵਧੇ ਅਧਿਕਾਰਾਂ ਨਾਲ ਚੱਲਦਿਆਂ ਆਪਣੇ ਆਪ ਨੂੰ ਦਰਜ ਕਰਨ ਵਾਲੇ ਹੈਲਪਰ ਦਾ ਕੋਈ ਰਿਕਾਰਡ ਨਹੀਂ ਹੈ। ਇਨ੍ਹਾਂ ਵਿੱਚੋਂ ਹਰ ਇੱਕ ਵੱਖਰੀ ਉਪਪ੍ਰਣਾਲੀ ਦਾ ਹੈ, ਅਤੇ ਹਰ ਇੱਕ ਪੈਕੇਜ ਤੋਂ ਬਾਅਦ ਇੱਕ ਜਾਂ ਵੱਧ ਰੀਬੂਟ ਤੱਕ ਬਚ ਸਕਦਾ ਹੈ। ਇਹੀ ਖੱਟਾ ਵਿਆਖਿਆ ਕਰਦਾ ਹੈ ਕਿ ਟਨਲ ਸਿਹਤਮੰਦ ਕਿਵੇਂ ਹੋ ਸਕਦੀ ਹੈ ਜਦੋਂ ਕਿ ਉਸ ਨੂੰ ਬਣਾਉਣ ਵਾਲਾ ਸਾਫ਼ਟਵੇਅਰ ਜਾ ਚੁੱਕਾ ਹੈ।
ਬਚੇ ਹੋਏ ਹਿੱਸੇ ਦਾ ਹਮੇਸ਼ਾ ਮਾਲਕ ਹੁੰਦਾ ਹੈ, ਚਾਹੇ ਉਹ systemd ਹੋਵੇ, NetworkManager ਹੋਵੇ, ਭੰਡਾਰ ਦੀ ਸੰਰਚਨਾ ਹੋਵੇ ਜਾਂ ਪ੍ਰਤੀ-ਵਰਤੋਂਕਾਰ ਆਟੋਸਟਾਰਟ ਐਂਟਰੀ। ਪਹਿਲਾਂ ਮਾਲਕ ਲੱਭਣਾ ਹੀ ਸਫ਼ਾਈ ਨੂੰ ਅੱਧ-ਸੰਰਚਿਤ ਮਸ਼ੀਨ ਬਣਨ ਤੋਂ ਰੋਕਦਾ ਹੈ। ਫਾਈਲਾਂ ਸਿੱਧੀਆਂ ਹਟਾਉਣਾ ਆਮ ਤੌਰ ’ਤੇ ਉਦੋਂ ਤੱਕ ਕੰਮ ਕਰਦਾ ਹੈ ਜਦੋਂ ਤੱਕ ਮਾਲਕ ਉਨ੍ਹਾਂ ਨੂੰ ਦੁਬਾਰਾ ਨਹੀਂ ਬਣਾਉਂਦਾ, ਇਸ ਲਈ ਹੇਠਾਂ ਦਿੱਤੇ ਕਮਾਂਡ ਪ੍ਰਸ਼ਨਾਂ ਨਾਲ ਸ਼ੁਰੂ ਹੁੰਦੇ ਹਨ।
ਚਾਰ ਮਾਲਕ, ਪਹਿਲਾਂ ਸਿਰਫ਼ ਪੜ੍ਹਨਾ
ਹਟਾਉਣ ਦੀ ਬਜਾਏ ਪ੍ਰਸ਼ਨਾਂ ਨਾਲ ਸ਼ੁਰੂ ਕਰੋ ਅਤੇ ਵਾਪਸ ਆਉਣ ਵਾਲੇ ਸਹੀ ਨਾਂ ਲਿਖੋ। ਵਿਕਰੇਤਾ ਅਕਸਰ ਮੈਟਾ-ਪੈਕੇਜ ਦੇ ਨਾਲ ਵਰਜਨ ਵਾਲਾ ਪੇਲੋਡ ਭੇਜਦੇ ਹਨ, ਇਸ ਲਈ ਇੱਕ ਉਤਪਾਦ ਦੋ ਨਾਂ ਹੇਠ ਦਿਖ ਸਕਦਾ ਹੈ। ਦੋਵੇਂ ਸੂਚੀਆਂ ਵਿੱਚ ਦਿਖਣ ਵਾਲਾ ਨਾਂ ਦੋ ਮਾਲਕਾਂ ਵਾਲਾ ਇੱਕ ਹੀ ਉਤਪਾਦ ਹੈ, ਅਤੇ ਦੋਵੇਂ ਹਟਾਉਣੇ ਪੈਂਦੇ ਹਨ। ਪਹਿਲਾ ਬੈਚ ਪੈਕੇਜ ਅਤੇ ਯੂਨਿਟ ਕਵਰ ਕਰਦਾ ਹੈ, ਜਿੱਥੇ ਬਹੁਤੇ ਬਚੇ ਹੋਏ ਹਿੱਸੇ ਦਿਖਦੇ ਹਨ।
dpkg -l | grep -i acmevpn
systemctl list-unit-files | grep -i acmevpn
systemctl list-units --type=service --state=running | grep -i acmevpn
ਦੂਜਾ ਬੈਚ ਉਨ੍ਹਾਂ ਦੋ ਕੰਪੋਨੈਂਟਾਂ ਨੂੰ ਕਵਰ ਕਰਦਾ ਹੈ ਜੋ ਸਫ਼ਾਈ ਤੋਂ ਬਾਅਦ ਸਭ ਤੋਂ ਵੱਧ ਬਚਦੇ ਹਨ, ਭਾਵ ਕਨੈਕਸ਼ਨ ਪਰੋਫਾਈਲ ਅਤੇ ਵਿਕਰੇਤਾ ਭੰਡਾਰ। ਨਾਂ ਦੀ ਬਜਾਏ UUID ਕਾਲਮ ਪੜ੍ਹੋ, ਕਿਉਂਕਿ ਦੁਹਰਾਏ ਨਾਂ ਆਮ ਹਨ ਅਤੇ ਹਟਾਉਣ ਵਾਲੀ ਕਮਾਂਡ ਪਛਾਣਕਰਤਾ ਦੀ ਉਮੀਦ ਕਰਦੀ ਹੈ। ਭੰਡਾਰ ਦੀ ਲਾਈਨ ਅੱਜ ਨਾ ਹਟਾਉਣ ’ਤੇ ਵੀ ਪੜ੍ਹਨ ਯੋਗ ਹੈ, ਕਿਉਂਕਿ ਮਰਿਆ ਵਿਕਰੇਤਾ ਹੋਸਟ ਮਹੀਨਿਆਂ ਬਾਅਦ ਕਿਸੇ ਅਸੰਬੰਧਿਤ ਇੰਸਟਾਲੇਸ਼ਨ ਨੂੰ ਤੋੜ ਸਕਦਾ ਹੈ। ਦੋਵਾਂ ਵਿੱਚੋਂ ਕੋਈ ਸੂਚੀ ਕੁਝ ਨਹੀਂ ਬਦਲਦੀ, ਅਤੇ ਪਹਿਲਾਂ ਉਨ੍ਹਾਂ ਨੂੰ ਚਲਾਉਣ ਦਾ ਮਕਸਦ ਵੀ ਇਹੀ ਹੈ।
nmcli -f NAME,UUID,TYPE connection show
nmcli connection show --active
grep -ril acmevpn /etc/apt/sources.list.d/ /etc/apt/sources.list
ਸਫ਼ਾਈ ਤੋਂ ਬਾਅਦ ਵੀ ਜੀਵਤ ਪ੍ਰਕਿਰਿਆ ਜਾਂ ਤਾਂ ਸਰਗਰਮ ਯੂਨਿਟ ਹੈ ਜਾਂ ਕਿਸੇ ਹੋਰ ਪ੍ਰੋਗਰਾਮ ਦੀ ਸੰਤਾਨ। ਹੁਣ ਨਾ ਰਹੀ ਸੇਵਾ ਨੂੰ ਦੋਸ਼ ਦੇਣ ਤੋਂ ਪਹਿਲਾਂ ਪ੍ਰਕਿਰਿਆ ਸਾਰਣੀ ਅਤੇ ਉਸ ਦੀ ਮਾਪੇ-ਚੇਨ ਪੜ੍ਹੋ। ਪ੍ਰਤੀ-ਵਰਤੋਂਕਾਰ ਆਟੋਸਟਾਰਟ ਐਂਟਰੀਆਂ ਨੂੰ ਵੀ ਉਹੀ ਜਾਂਚ ਚਾਹੀਦੀ ਹੈ, ਅਤੇ ਉਹ ਸਿਰਫ਼ ਨਵੇਂ ਲਾਗਇਨ ਸ਼ੈੱਲ ਵਿੱਚ ਦਿਖਦੀਆਂ ਹਨ, root ਸ਼ੈਸ਼ਨ ਵਿੱਚ ਨਹੀਂ।
ਤਿੰਨ ਕਿਰਿਆਵਾਂ ਜੋ ਆਪਸ ਵਿੱਚ ਬਦਲੀਆਂ ਨਹੀਂ ਜਾ ਸਕਦੀਆਂ
ਰੋਕਣਾ ਮੌਜੂਦਾ ਦੌੜ ਖਤਮ ਕਰਦਾ ਹੈ, ਅਯੋਗ ਕਰਨਾ ਬੂਟ-ਵੇਲੇ ਦੀਆਂ ਲਿੰਕਾਂ ਹਟਾਉਂਦਾ ਹੈ, ਅਤੇ ਮਾਸਕਿੰਗ ਯੂਨਿਟ ਨੂੰ /dev/null ਵੱਲ ਇਸ਼ਾਰਾ ਕਰਦੀ ਹੈ। ਸਿਰਫ਼ ਤੀਜੀ ਸਾਕਟ, ਟਾਈਮਰ ਜਾਂ ਨਿਰਭਰਤਾ ਰਾਹੀਂ ਸਰਗਰਮੀ ਨੂੰ ਵੀ ਰੋਕਦੀ ਹੈ, ਜੋ ਇਸ ਨੂੰ ਤਿੰਨਾਂ ਵਿੱਚੋਂ ਸਭ ਤੋਂ ਮਜ਼ਬੂਤ ਬਣਾਉਂਦੀ ਹੈ। ਮਸ਼ੀਨ ਨਾਲ ਕੀ ਕਰਨਾ ਹੈ ਇਹ ਅਜੇ ਤੈਅ ਕਰਦਿਆਂ ਕ੍ਰਮ ਮਹੱਤਵਪੂਰਨ ਹੈ। ਉਸ ਫੈਸਲੇ ਦੌਰਾਨ ਮਾਸਕਿੰਗ ਸਹੀ ਸਥਿਤੀ ਹੈ, ਕਿਉਂਕਿ ਇਹ ਅਗਲੇ ਬੂਟ ’ਤੇ ਚੁੱਪਚਾਪ ਸ਼ੁਰੂ ਹੋਣ ਦੀ ਬਜਾਏ ਜ਼ੋਰ ਨਾਲ ਫੇਲ ਹੁੰਦੀ ਹੈ।
ਦੁਬਾਰਾ ਇੰਸਟਾਲ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਅਣਮਾਸਕ ਕਰੋ, ਨਹੀਂ ਤਾਂ ਨਵਾਂ ਪੈਕੇਜ ਅਜਿਹੇ ਕਾਰਨ ਨਾਲ ਟੁੱਟਿਆ ਦਿਖੇਗਾ ਜੋ ਕਿਸੇ ਨੇ ਨਹੀਂ ਲਿਖਿਆ। ਉਹੀ ਸਾਵਧਾਨੀ ਪੈਕੇਜਿੰਗ ਫਰਕਾਂ ’ਤੇ ਵੀ ਲਾਗੂ ਹੁੰਦੀ ਹੈ: ਇੱਕ ਬਿਲਡ ਰੋਕੀ ਜਾ ਸਕਣ ਵਾਲੀ ਯੂਨਿਟ ਦਿੰਦਾ ਹੈ, ਜਦੋਂ ਕਿ ਦੂਜਾ ਕੋਈ ਸੇਵਾ ਹੀ ਨਹੀਂ ਛੱਡਦਾ। ਕਿਰਿਆ ਚੁਣਨ ਤੋਂ ਪਹਿਲਾਂ ਤੈਅ ਕਰੋ ਕਿ ਤੁਹਾਡੇ ਕੋਲ ਕਿਹੜੀ ਪੈਕੇਜਿੰਗ ਹੈ, ਕਿਉਂਕਿ ਸਫ਼ਾਈ ਦਾ ਰਾਹ ਦੋਵਾਂ ਵਿੱਚ ਵੱਖਰਾ ਹੈ।
ਵਾਈਲਡਕਾਰਡ ਨਾਲ ਗਲਤ ਪਰੋਫਾਈਲ ਹਟਦੀ ਹੈ
ਤੁਹਾਡੇ ਦਰਜ ਕੀਤੇ UUID ਨਾਲ ਪਰੋਫਾਈਲ ਹਟਾਓ, ਅਤੇ ਕਦੇ ਵੀ ਵਾਈਲਡਕਾਰਡ ਨਾਲ ਨਹੀਂ। keyfile ਡਾਇਰੈਕਟਰੀ ਵਿੱਚ ਮਸ਼ੀਨ ਦੀ ਹਰ Wi-Fi ਅਤੇ Ethernet ਪਰੋਫਾਈਲ ਵੀ ਹੁੰਦੀ ਹੈ, ਇਸ ਲਈ ਚੌੜੀ ਮੇਲ ਤੁਹਾਨੂੰ ਅਜੇ ਲੋੜੀਂਦੀਆਂ ਚੀਜ਼ਾਂ ਹਟਾ ਦਿੰਦੀ ਹੈ। ਹੱਥ ਨਾਲ ਹਟਾਈ keyfile ਨੂੰ ਜਿਸ ਨੀਤੀ ਦੀ ਮਾਲਕੀ ਹੈ ਉਹ ਦੁਬਾਰਾ ਬਣਾ ਸਕਦੀ ਹੈ, ਜੋ ਹਟਾਉਣ ਨੂੰ ਬੇਅਸਰ ਦਿਖਾਉਂਦੀ ਹੈ।
nmcli connection delete uuid <uuid>
ਜੇ ਉਹ ਪਰੋਫਾਈਲ ਤੁਹਾਡੇ ਕੋਲ ਬਚੀ ਇੱਕੋ ਇੱਕ ਕਾਪੀ ਹੈ ਤਾਂ ਪਹਿਲਾਂ ਗੇਟਵੇ ਅਤੇ ਪਛਾਣ ਐਕਸਪੋਰਟ ਕਰੋ, ਕਿਉਂਕਿ ਸਥਾਨਕ ਹਟਾਉਣਾ ਸਰਵਰ ’ਤੇ ਕੁਝ ਵੀ ਰੱਦ ਨਹੀਂ ਕਰਦਾ। ਭੰਡਾਰ ਵੀ ਉਹੀ ਨਿਯਮ ਮੰਨਦਾ ਹੈ: ਇੱਕੋ ਵਿਕਰੇਤਾ ਫਾਈਲ ਅਤੇ ਉਸ ਦੀ ਕੀਰਿੰਗ ਹਟਾਓ, ਫਿਰ ਪੈਕੇਜ ਸੂਚੀਆਂ ਤਾਜ਼ਾ ਕਰੋ ਅਤੇ ਜੋ ਇੰਸਟਾਲੇਸ਼ਨ ਤੁਸੀਂ ਸੱਚਮੁੱਚ ਚਾਹੁੰਦੇ ਸੀ ਉਹ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ। ਪੁਰਾਣੀ ਤੀਜੀ-ਧਿਰ ਐਂਟਰੀ ਛੱਡਣਾ ਪੁਰਾਣੀ ਨਿਰਭਰਤਾ ਪਿੰਨ ਕਰ ਸਕਦਾ ਹੈ ਜਾਂ ਜਵਾਬ ਹੀ ਨਾ ਦੇ ਸਕਦਾ ਹੈ। ਦੋਵੇਂ ਹਟਾਉਣੇ ਛੋਟੇ ਹਨ, ਅਤੇ ਤੁਹਾਡੇ ਰੱਖੇ ਕਾਪੀ ਤੋਂ ਕੋਈ ਵੀ ਵਾਪਸ ਲਿਆਇਆ ਜਾ ਸਕਦਾ ਹੈ।
ਰੀਬੂਟ ਤੋਂ ਬਾਅਦ ਅਜੇ ਕੀ ਚੱਲਦਾ ਹੈ
ਜਿੱਤ ਦਾ ਐਲਾਨ ਕਰਨ ਤੋਂ ਪਹਿਲਾਂ ਰੀਬੂਟ ਕਰੋ, ਫਿਰ ਐਪਲੀਕੇਸ਼ਨ ਦੀ ਬਜਾਏ ਕਲਾਕ੍ਰਿਤੀਆਂ ਲੱਭੋ। ਪੁਰਾਣੇ ਕਲਾਇੰਟ ਵੱਲੋਂ ਛੱਡਿਆ ਟਨਲ ਇੰਟਰਫੇਸ, ਪੁਰਾਣਾ ਵੰਡਿਆ ਰੂਟ ਅਤੇ ਹਰ ਲਿੰਕ ਲਈ DNS—ਹਰ ਇੱਕ ਨੂੰ ਆਪਣਾ ਕਮਾਂਡ ਚਾਹੀਦਾ ਹੈ। ਤਿੰਨੇ ਵੀ ਅਜਿਹੀ ਸਫ਼ਾਈ ਤੋਂ ਬਾਅਦ ਬਚ ਸਕਦੇ ਹਨ ਜਿਸ ਨੇ ਹਰ ਪੈਕੇਜ ਸਫਲਤਾਪੂਰਵਕ ਹਟਾਇਆ ਸੀ।
ip link
ip route
resolvectl status
ਨਵਾਂ ਲਾਗਇਨ ਸ਼ੈੱਲ ਵੀ ਖੋਲ੍ਹੋ, ਕਿਉਂਕਿ ਆਟੋਸਟਾਰਟ ਐਂਟਰੀ ਸਿਰਫ਼ ਉੱਥੇ ਹੀ ਸਰਗਰਮ ਹੁੰਦੀ ਹੈ। ਫਿਰ /etc/NetworkManager/dispatcher.d/ ਪੜ੍ਹੋ ਅਜਿਹੀ ਸਕ੍ਰਿਪਟ ਲਈ ਜੋ ਇੰਟਰਫੇਸ ਦੀ ਸਥਿਤੀ ਬਦਲਣ ’ਤੇ ਹਰ ਵਾਰ ਕਨੈਕਸ਼ਨ ਉੱਪਰ ਲਿਆਉਂਦੀ ਹੈ, ਜੋ ਪਿੱਛੇ ਕੋਈ ਸੇਵਾ ਨਾ ਹੁੰਦਿਆਂ ਟਨਲ ਦੇ ਵਾਪਸ ਆਉਣ ਦੀ ਵਿਆਖਿਆ ਕਰਦੀ ਹੈ। ਜੇ ਕੁਝ ਅਜੇ ਵੀ ਬਾਹਰ ਡਾਇਲ ਕਰਦਾ ਹੈ, ਤਾਂ ਲੱਛਣ ਰੁਕਣ ਤੱਕ ਫਾਈਲਾਂ ਹਟਾਉਣ ਦੀ ਬਜਾਏ ਪ੍ਰਕਿਰਿਆ ਨੂੰ ਉਸ ਦੇ ਮਾਪੇ ਤੱਕ ਟ੍ਰੇਸ ਕਰੋ। ਮਸ਼ੀਨ ਸਾਫ਼ ਕਰਨਾ ਅਤੇ ਖਾਤਾ ਰੱਦ ਕਰਨਾ ਵੱਖਰੇ ਕੰਮ ਰਹਿੰਦੇ ਹਨ, ਅਤੇ ਰੀਬੂਟ ਸ਼ਾਂਤ ਦਿਖਣ ਵੇਲੇ ਉਨ੍ਹਾਂ ਵਿੱਚੋਂ ਸਿਰਫ਼ ਇੱਕ ਹੀ ਪੂਰਾ ਹੁੰਦਾ ਹੈ।