ਆਟੋ-ਜੀਪੀਟੀ ਬਣਾਉਣ ਵੇਲੇ ਜਨਤਕ ਮੁੱਖ ਚੁਣੌਤੀਆਂ ਨੂੰ ਪਾਰ ਕਰਨਾ
ਵਿੰਡੋਜ਼ 7 ਵਰਗੇ ਪੁਰਾਣੇ ਸਿਸਟਮਾਂ 'ਤੇ ਆਟੋ-ਜੀਪੀਟੀ ਬਣਾਉਣਾ ਗੁੰਮ ਹੋਏ ਟੁਕੜਿਆਂ ਨਾਲ ਇੱਕ ਬੁਝਾਰਤ ਨੂੰ ਹੱਲ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਨ ਵਾਂਗ ਮਹਿਸੂਸ ਕਰ ਸਕਦਾ ਹੈ। ਜਦੋਂ ਕਿ ਡੌਕਰ ਡੈਸਕਟੌਪ ਵਰਗੇ ਆਧੁਨਿਕ ਸਾਧਨ ਸਹਿਜ ਏਕੀਕਰਣ ਦੀ ਪੇਸ਼ਕਸ਼ ਕਰਦੇ ਹਨ, ਪੁਰਾਣੇ ਪਲੇਟਫਾਰਮਾਂ ਦੀਆਂ ਸੀਮਾਵਾਂ ਉਪਭੋਗਤਾਵਾਂ ਨੂੰ ਰਚਨਾਤਮਕ ਬਣਨ ਲਈ ਮਜਬੂਰ ਕਰਦੀਆਂ ਹਨ। 🧩
ਇਹ ਮੇਰਾ ਸਹੀ ਦ੍ਰਿਸ਼ ਸੀ: ਇੱਕ ਵਿਰਾਸਤੀ ਸੈੱਟਅੱਪ ਦੇ ਨਾਲ ਡੌਕਰ ਟੂਲਬਾਕਸ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ, ਮੈਨੂੰ ਡੇਬੀਅਨ ਬੁੱਕਵਰਮ ਦੀਆਂ ਜਨਤਕ ਕੁੰਜੀਆਂ ਨਾਲ ਸੰਬੰਧਿਤ ਲਗਾਤਾਰ ਗਲਤੀਆਂ ਦਾ ਸਾਹਮਣਾ ਕਰਨਾ ਪਿਆ। '.yml' ਫਾਈਲਾਂ ਨੂੰ ਟਵੀਕ ਕਰਨ ਅਤੇ ਡੌਕਰ ਕੰਪੋਜ਼ ਸੰਸਕਰਣਾਂ ਨੂੰ ਅਨੁਕੂਲ ਬਣਾਉਣ ਦੇ ਬਾਵਜੂਦ, ਰੁਕਾਵਟਾਂ ਵਧਦੀਆਂ ਰਹੀਆਂ। ਇਹ ਨਿਰਾਸ਼ਾਜਨਕ ਅਨੁਭਵ ਸੀ ਪਰ ਨਾਲ ਹੀ ਸਿੱਖਣ ਦਾ ਮੌਕਾ ਵੀ ਸੀ।
ਉਦਾਹਰਨ ਲਈ, ਡੇਬੀਅਨ ਰਿਪੋਜ਼ਟਰੀਆਂ ਤੋਂ ਬਦਨਾਮ "NO_PUBKEY" ਗਲਤੀਆਂ ਨੇ ਬਿਲਡ ਦੇ ਨਾਲ ਅੱਗੇ ਵਧਣਾ ਅਸੰਭਵ ਬਣਾ ਦਿੱਤਾ ਹੈ। ਇਹ ਗਲਤੀਆਂ ਅਸਧਾਰਨ ਨਹੀਂ ਹਨ, ਖਾਸ ਕਰਕੇ ਜਦੋਂ ਪੁਰਾਣੇ ਡੌਕਰ ਵਾਤਾਵਰਣਾਂ ਨਾਲ ਕੰਮ ਕਰਨਾ ਜਿੱਥੇ ਨਿਰਭਰਤਾਵਾਂ ਨੂੰ ਅਪਡੇਟ ਕਰਨਾ ਇੱਕ ਮਹੱਤਵਪੂਰਣ ਕੰਮ ਬਣ ਜਾਂਦਾ ਹੈ। ਫਿਰ ਵੀ, ਨਿਸ਼ਚਤ ਲਈ ਹਮੇਸ਼ਾ ਇੱਕ ਹੱਲ ਹੁੰਦਾ ਹੈ! 💪
ਇਸ ਗਾਈਡ ਵਿੱਚ, ਮੈਂ ਵਿਹਾਰਕ ਕਦਮਾਂ ਅਤੇ ਕੁਝ ਅੰਦਰੂਨੀ ਸੁਝਾਅ ਸਾਂਝੇ ਕਰਾਂਗਾ ਜਿਨ੍ਹਾਂ ਨੇ ਇਹਨਾਂ ਚੁਣੌਤੀਆਂ ਨੂੰ ਬਾਈਪਾਸ ਕਰਨ ਵਿੱਚ ਮੇਰੀ ਮਦਦ ਕੀਤੀ। ਜੇਕਰ ਤੁਸੀਂ ਇੱਕ ਵਿਰਾਸਤੀ ਸੈਟਅਪ ਨਾਲ ਇਸ ਭੁਲੇਖੇ ਨੂੰ ਵੀ ਨੈਵੀਗੇਟ ਕਰ ਰਹੇ ਹੋ, ਤਾਂ ਚਿੰਤਾ ਨਾ ਕਰੋ-ਤੁਸੀਂ ਇਕੱਲੇ ਨਹੀਂ ਹੋ, ਅਤੇ ਇੱਕ ਹੱਲ ਪਹੁੰਚ ਵਿੱਚ ਹੈ। ਆਓ ਅੰਦਰ ਡੁਬਕੀ ਕਰੀਏ!
ਹੁਕਮ | ਵਰਤੋਂ ਦੀ ਉਦਾਹਰਨ |
---|---|
gpg --keyserver | GPG ਕੀਸਰਵਰ ਨੂੰ ਨਿਰਧਾਰਤ ਕਰਨ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ ਜਿਸ ਤੋਂ ਲੋੜੀਂਦੀਆਂ ਜਨਤਕ ਕੁੰਜੀਆਂ ਪ੍ਰਾਪਤ ਕੀਤੀਆਂ ਜਾਣਗੀਆਂ। ਉਦਾਹਰਨ ਲਈ, gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys KEY_ID ਉਬੰਟੂ ਕੀਸਰਵਰ ਤੋਂ ਖਾਸ ਕੁੰਜੀ ਪ੍ਰਾਪਤ ਕਰਦਾ ਹੈ। |
gpg --recv-keys | ਇਹ ਕਮਾਂਡ ਕੀਸਰਵਰ ਤੋਂ ਇੱਕ ਖਾਸ ਪਬਲਿਕ ਕੁੰਜੀ ਲਿਆਉਂਦੀ ਹੈ। ਉਦਾਹਰਨ ਲਈ, gpg --recv-keys 0E98404D386FA1D9 ਦਿੱਤੀ ਗਈ ID ਨਾਲ ਕੁੰਜੀ ਪ੍ਰਾਪਤ ਕਰਦਾ ਹੈ। |
gpg --export --armor | ਮੁੜ ਪ੍ਰਾਪਤ ਕੀਤੀ ਜਨਤਕ ਕੁੰਜੀ ਨੂੰ ਇੱਕ ਬਖਤਰਬੰਦ ਟੈਕਸਟ ਫਾਰਮੈਟ ਵਿੱਚ ਨਿਰਯਾਤ ਕਰਦਾ ਹੈ, ਜਿਸ ਨਾਲ ਸਿਸਟਮ ਦੀ ਕੀਰਿੰਗ ਵਿੱਚ ਟ੍ਰਾਂਸਫਰ ਜਾਂ ਜੋੜਨਾ ਆਸਾਨ ਹੋ ਜਾਂਦਾ ਹੈ। ਉਦਾਹਰਨ ਲਈ, gpg --export --armor KEY_ID। |
sudo apt-key add | ਨਿਰਯਾਤ ਕੀਤੀ GPG ਕੁੰਜੀ ਨੂੰ APT ਪੈਕੇਜ ਮੈਨੇਜਰ ਦੀਆਂ ਭਰੋਸੇਯੋਗ ਕੁੰਜੀਆਂ ਵਿੱਚ ਜੋੜਦਾ ਹੈ। gpg --export --armor KEY_ID | ਵਜੋਂ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ sudo apt-key add -. |
apt-get clean | ਪੁਨਰ-ਪ੍ਰਾਪਤ ਪੈਕੇਜ ਫਾਈਲਾਂ ਦੀ ਸਥਾਨਕ ਰਿਪੋਜ਼ਟਰੀ ਨੂੰ ਸਾਫ਼ ਕਰਦਾ ਹੈ, ਸਪੇਸ ਖਾਲੀ ਕਰਨ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ। ਚਿੱਤਰ ਨੂੰ ਹਲਕਾ ਰੱਖਣ ਲਈ ਇਹ ਕੰਟੇਨਰਾਈਜ਼ਡ ਬਿਲਡਾਂ ਵਿੱਚ ਲਾਭਦਾਇਕ ਹੈ। |
rm -rf /var/lib/apt/lists/* | APT ਨੂੰ ਇਸਦੇ ਪੈਕੇਜ ਇੰਡੈਕਸ ਨੂੰ ਤਾਜ਼ਾ ਕਰਨ ਲਈ ਮਜਬੂਰ ਕਰਨ ਲਈ ਕੈਸ਼ APT ਪੈਕੇਜ ਸੂਚੀਆਂ ਨੂੰ ਮਿਟਾਓ। ਇਹ ਅਕਸਰ ਕੁੰਜੀਆਂ ਜੋੜਨ ਜਾਂ ਰਿਪੋਜ਼ਟਰੀਆਂ ਬਦਲਣ ਤੋਂ ਬਾਅਦ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ। |
declare -a | Bash ਵਿੱਚ ਇੱਕ ਐਰੇ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰਦਾ ਹੈ। ਉਦਾਹਰਨ ਲਈ, ਘੋਸ਼ਣਾ ਕਰੋ -a KEYS=("KEY1" "KEY2") ਇੱਕ ਐਰੇ ਨੂੰ ਸ਼ੁਰੂ ਕਰਦਾ ਹੈ ਜਿਸ ਵਿੱਚ ਮਲਟੀਪਲ ਕੁੰਜੀ ਆਈ.ਡੀ. |
subprocess.run | ਪਾਈਥਨ ਸਕ੍ਰਿਪਟਾਂ ਵਿੱਚ ਸਿਸਟਮ ਕਮਾਂਡਾਂ ਨੂੰ ਚਲਾਉਂਦਾ ਹੈ। ਉਦਾਹਰਨ ਲਈ, subprocess.run(["gpg", "--keyserver", "keyserver.ubuntu.com", "--recv-keys", "KEY_ID"], check=True) ਇੱਕ GPG ਕੁੰਜੀ ਲਿਆਉਂਦਾ ਹੈ। |
set -e | Bash ਵਿੱਚ, ਇਹ ਕਮਾਂਡ ਯਕੀਨੀ ਬਣਾਉਂਦੀ ਹੈ ਕਿ ਸਕ੍ਰਿਪਟ ਤੁਰੰਤ ਐਗਜ਼ੀਕਿਊਸ਼ਨ ਬੰਦ ਕਰ ਦਿੰਦੀ ਹੈ ਜੇਕਰ ਕੋਈ ਕਮਾਂਡ ਗੈਰ-ਜ਼ੀਰੋ ਸਥਿਤੀ ਨਾਲ ਬਾਹਰ ਜਾਂਦੀ ਹੈ, ਗਲਤੀ ਨੂੰ ਸੰਭਾਲਣ ਵਿੱਚ ਸੁਧਾਰ ਕਰਦਾ ਹੈ। |
RUN | ਇੱਕ ਡੌਕਰਫਾਈਲ ਹਦਾਇਤ ਜੋ ਬਿਲਡ ਪ੍ਰਕਿਰਿਆ ਦੌਰਾਨ ਇੱਕ ਕਮਾਂਡ ਚਲਾਉਂਦੀ ਹੈ। ਉਦਾਹਰਨ ਲਈ, RUN apt-get update && apt-get install -y gnupg ਲੋੜੀਂਦੇ ਟੂਲ ਸਥਾਪਤ ਕਰਦਾ ਹੈ। |
ਜਨਤਕ ਕੁੰਜੀ ਤਰੁਟੀਆਂ ਨੂੰ ਠੀਕ ਕਰਨ ਲਈ ਸਕ੍ਰਿਪਟਾਂ ਨੂੰ ਅਸਪਸ਼ਟ ਕਰਨਾ
ਉੱਪਰ ਬਣਾਈਆਂ ਗਈਆਂ ਸਕ੍ਰਿਪਟਾਂ ਦਾ ਉਦੇਸ਼ ਇੱਕ ਖਾਸ ਸਮੱਸਿਆ ਨੂੰ ਹੱਲ ਕਰਨਾ ਹੈ: ਵਿੰਡੋਜ਼ 7 ਸਿਸਟਮ 'ਤੇ ਡੌਕਰ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਆਟੋ-ਜੀਪੀਟੀ ਬਣਾਉਣ ਦੌਰਾਨ ਆਈਆਂ ਜਨਤਕ ਕੁੰਜੀਆਂ ਦੀਆਂ ਗਲਤੀਆਂ। ਇਹ ਤਰੁੱਟੀਆਂ ਪੈਦਾ ਹੁੰਦੀਆਂ ਹਨ ਕਿਉਂਕਿ ਡੇਬੀਅਨ ਬੁੱਕਵਰਮ ਰਿਪੋਜ਼ਟਰੀਆਂ ਤੁਹਾਡੇ ਵਾਤਾਵਰਣ ਦੁਆਰਾ ਪਛਾਣੀਆਂ ਗਈਆਂ ਕੁੰਜੀਆਂ ਨਾਲ ਹਸਤਾਖਰਿਤ ਨਹੀਂ ਹੁੰਦੀਆਂ ਹਨ। ਇਸ ਨੂੰ ਹੱਲ ਕਰਨ ਲਈ, ਸਕ੍ਰਿਪਟਾਂ ਤੁਹਾਡੇ ਸਿਸਟਮ ਦੀ ਭਰੋਸੇਯੋਗ ਕੀਰਿੰਗ ਵਿੱਚ ਗੁੰਮ ਕੁੰਜੀਆਂ ਨੂੰ ਪ੍ਰਾਪਤ ਕਰਨ ਅਤੇ ਜੋੜਨ ਦੀ ਪ੍ਰਕਿਰਿਆ ਨੂੰ ਸਵੈਚਾਲਤ ਕਰਦੀਆਂ ਹਨ। ਉਦਾਹਰਨ ਲਈ, Bash ਸਕ੍ਰਿਪਟ ਜਿਵੇਂ ਕਮਾਂਡਾਂ ਦੀ ਵਰਤੋਂ ਕਰਦੀ ਹੈ gpg ਅਤੇ apt-ਕੁੰਜੀ ਕੀਸਰਵਰ ਨਾਲ ਇੰਟਰੈਕਟ ਕਰਨ ਅਤੇ ਲੋੜੀਂਦੀਆਂ ਕੁੰਜੀਆਂ ਨੂੰ ਸੁਰੱਖਿਅਤ ਢੰਗ ਨਾਲ ਜੋੜਨ ਲਈ। ਇਹ ਵਿਸ਼ੇਸ਼ ਤੌਰ 'ਤੇ ਲਾਭਦਾਇਕ ਹੈ ਜਦੋਂ ਡੌਕਰ ਟੂਲਬਾਕਸ ਨਾਲ ਅਨੁਕੂਲਤਾ ਮੁੱਦਿਆਂ ਵਿੱਚ ਚੱਲ ਰਿਹਾ ਹੈ, ਜਿਸ ਵਿੱਚ ਡੌਕਰ ਡੈਸਕਟਾਪ ਦੀਆਂ ਆਧੁਨਿਕ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਘਾਟ ਹੈ। 🔑
ਪਾਈਥਨ ਸੰਸਕਰਣ ਵਿੱਚ, ਅਸੀਂ ਲਾਭ ਉਠਾਉਂਦੇ ਹਾਂ ਉਪ-ਪ੍ਰਕਿਰਿਆ ਉਹੀ ਕਾਰਜਾਂ ਨੂੰ ਪ੍ਰੋਗਰਾਮੇਟਿਕ ਤੌਰ 'ਤੇ ਕਰਨ ਲਈ ਮੋਡੀਊਲ। ਇਹ ਵਿਧੀ ਵਿਸ਼ੇਸ਼ ਤੌਰ 'ਤੇ ਉਹਨਾਂ ਡਿਵੈਲਪਰਾਂ ਲਈ ਲਾਭਦਾਇਕ ਹੈ ਜੋ ਵਧੇਰੇ ਲਚਕਤਾ ਚਾਹੁੰਦੇ ਹਨ ਜਾਂ ਇਸ ਪ੍ਰਕਿਰਿਆ ਨੂੰ ਵੱਡੇ ਆਟੋਮੇਸ਼ਨ ਵਰਕਫਲੋ ਵਿੱਚ ਜੋੜ ਰਹੇ ਹਨ। ਕੁੰਜੀ IDs ਦੀ ਸੂਚੀ ਵਿੱਚੋਂ ਲੂਪ ਕਰਕੇ, ਸਕ੍ਰਿਪਟ ਹਰੇਕ ਕੁੰਜੀ ਨੂੰ ਪ੍ਰਾਪਤ ਕਰਦੀ ਹੈ, ਇਸਨੂੰ ਨਿਰਯਾਤ ਕਰਦੀ ਹੈ, ਅਤੇ ਸਿਸਟਮ-ਪੱਧਰ ਦੀਆਂ ਕਮਾਂਡਾਂ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਇਸਨੂੰ ਭਰੋਸੇਯੋਗ ਕੀਰਿੰਗ ਵਿੱਚ ਪਾਈਪ ਕਰਦੀ ਹੈ। ਇਹ ਕਦਮ ਯਕੀਨੀ ਬਣਾਉਂਦੇ ਹਨ ਕਿ apt-get ਕਮਾਂਡਾਂ ਜਿਵੇਂ ਕਿ apt-ਅੱਪਡੇਟ ਪ੍ਰਾਪਤ ਕਰੋ ਅਤੇ ਪੈਕੇਜ ਸਥਾਪਨਾ ਦਸਤਖਤ ਤਸਦੀਕ ਗਲਤੀਆਂ ਤੋਂ ਬਿਨਾਂ ਅੱਗੇ ਵਧ ਸਕਦੀ ਹੈ।
ਡੌਕਰਫਾਈਲ ਪਹੁੰਚ, ਦੂਜੇ ਪਾਸੇ, ਹੱਲ ਨੂੰ ਸਿੱਧੇ ਡੌਕਰ ਚਿੱਤਰ ਬਣਾਉਣ ਦੀ ਪ੍ਰਕਿਰਿਆ ਵਿੱਚ ਏਕੀਕ੍ਰਿਤ ਕਰਦੀ ਹੈ। ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਕੰਟੇਨਰ ਦੇ ਅੰਦਰ ਦਾ ਵਾਤਾਵਰਣ ਸ਼ੁਰੂ ਤੋਂ ਹੀ ਸਹੀ ਢੰਗ ਨਾਲ ਕੌਂਫਿਗਰ ਕੀਤਾ ਗਿਆ ਹੈ। ਉਦਾਹਰਨ ਲਈ, RUN ਕਮਾਂਡ ਦੀ ਵਰਤੋਂ ਕਰਕੇ, Dockerfile ਕ੍ਰਮਵਾਰ ਜਨਤਕ ਕੁੰਜੀਆਂ ਪ੍ਰਾਪਤ ਕਰਦੀ ਹੈ ਅਤੇ ਜੋੜਦੀ ਹੈ। ਇਹ ਵਿਧੀ ਆਦਰਸ਼ ਹੈ ਜਦੋਂ ਚਿੱਤਰ ਬਣਾਉਣ ਦੌਰਾਨ ਕੰਟੇਨਰ ਦੇ ਅੰਦਰ ਹੀ ਸਮੱਸਿਆ ਦਾ ਸਾਹਮਣਾ ਕਰਨਾ ਪੈਂਦਾ ਹੈ। ਇਹ ਬਿਲਡ ਪ੍ਰਕਿਰਿਆ ਨੂੰ ਸਵੈ-ਨਿਰਭਰ ਰੱਖਦਾ ਹੈ, ਬਾਹਰੀ ਨਿਰਭਰਤਾ ਨੂੰ ਘਟਾਉਂਦਾ ਹੈ।
ਹਰੇਕ ਸਕ੍ਰਿਪਟ ਤੁਹਾਡੇ ਵਾਤਾਵਰਨ ਦੇ ਆਧਾਰ 'ਤੇ ਵਿਲੱਖਣ ਫਾਇਦੇ ਪੇਸ਼ ਕਰਦੀ ਹੈ। ਹੈਂਡ-ਆਨ, ਡਾਇਰੈਕਟ ਫਿਕਸ ਲਈ, ਬੈਸ਼ ਸਕ੍ਰਿਪਟ ਤੇਜ਼ ਅਤੇ ਕੁਸ਼ਲ ਹੈ। ਉਹਨਾਂ ਲਈ ਜੋ ਆਟੋਮੇਸ਼ਨ ਅਤੇ ਗਲਤੀ ਨਾਲ ਨਜਿੱਠਣ ਨੂੰ ਤਰਜੀਹ ਦਿੰਦੇ ਹਨ, ਪਾਈਥਨ ਸਕ੍ਰਿਪਟ ਵਧੇਰੇ ਨਿਯੰਤਰਣ ਅਤੇ ਮਾਡਿਊਲਰਿਟੀ ਪ੍ਰਦਾਨ ਕਰਦੀ ਹੈ। ਇਸ ਦੌਰਾਨ, ਡੌਕਰਫਾਈਲ ਵਿਧੀ ਕੰਟੇਨਰਾਈਜ਼ਡ ਸੈਟਅਪਾਂ ਲਈ ਸੰਪੂਰਨ ਹੈ. ਮੇਰੇ ਕੇਸ ਵਿੱਚ, ਡੌਕਰ ਟੂਲਬਾਕਸ ਦੇ ਨਾਲ ਇੱਕ ਪੁਰਾਣੀ ਵਿੰਡੋਜ਼ 7 ਮਸ਼ੀਨ 'ਤੇ ਕੰਮ ਕਰਨਾ, ਬਾਸ਼ ਸਕ੍ਰਿਪਟ ਇੱਕ ਜੀਵਨ ਬਚਾਉਣ ਵਾਲੀ ਸੀ। ਡੌਕਰ ਕਵਿੱਕਸਟਾਰਟ ਟਰਮੀਨਲ ਵਿੱਚ ਚਲਾਉਣਾ ਸੌਖਾ ਸੀ, ਅਤੇ ਕੁਝ ਮਿੰਟਾਂ ਵਿੱਚ, ਜਨਤਕ ਕੁੰਜੀ ਦੀਆਂ ਤਰੁੱਟੀਆਂ ਦੂਰ ਹੋ ਗਈਆਂ, ਜਿਸ ਨਾਲ ਮੈਨੂੰ ਅੱਗੇ ਵਧਣ ਦੀ ਇਜਾਜ਼ਤ ਦਿੱਤੀ ਗਈ। 🚀
ਬੈਸ਼ ਸਕ੍ਰਿਪਟ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਡੇਬੀਅਨ ਬੁੱਕਵਰਮ ਪਬਲਿਕ ਕੁੰਜੀ ਦੀਆਂ ਗਲਤੀਆਂ ਨੂੰ ਹੱਲ ਕਰਨਾ
ਇਹ ਹੱਲ ਡੇਬੀਅਨ ਬੁੱਕਵਰਮ ਰਿਪੋਜ਼ਟਰੀ ਲਈ ਗੁੰਮ GPG ਕੁੰਜੀਆਂ ਨੂੰ ਪ੍ਰਾਪਤ ਕਰਨ ਅਤੇ ਜੋੜਨ ਲਈ ਇੱਕ Bash ਸਕ੍ਰਿਪਟ ਦੀ ਵਰਤੋਂ ਕਰਦਾ ਹੈ। ਇਹ ਉਹਨਾਂ ਵਾਤਾਵਰਣਾਂ ਲਈ ਤਿਆਰ ਕੀਤਾ ਗਿਆ ਹੈ ਜਿੱਥੇ ਡੌਕਰ ਟੂਲਬਾਕਸ ਵਰਤਿਆ ਜਾ ਰਿਹਾ ਹੈ।
#!/bin/bash
# Script to fix Debian Bookworm GPG key errors
# Fetches and adds the required public keys
set -e
# Update the list of keys and add missing ones
declare -a KEYS=("0E98404D386FA1D9" "6ED0E7B82643E131" "F8D2585B8783D481" "54404762BBB6E853" "BDE6D2B9216EC7A8")
for KEY in "${KEYS[@]}"; do
echo "Adding missing key: $KEY"
gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys $KEY
gpg --export --armor $KEY | sudo apt-key add -
done
# Update package lists
sudo apt-get update
echo "All keys added successfully!"
ਪਾਈਥਨ ਆਟੋਮੇਸ਼ਨ ਨਾਲ ਜਨਤਕ ਮੁੱਖ ਮੁੱਦਿਆਂ ਨੂੰ ਹੱਲ ਕਰਨਾ
ਇਹ ਪਾਈਥਨ ਸਕ੍ਰਿਪਟ ਸਬਪ੍ਰੋਸੈਸ ਲਾਇਬ੍ਰੇਰੀ ਦੀ ਵਰਤੋਂ ਕਰਕੇ ਲੋੜੀਂਦੇ GPG ਕੁੰਜੀਆਂ ਨੂੰ ਪ੍ਰੋਗ੍ਰਾਮਿਕ ਤੌਰ 'ਤੇ ਪ੍ਰਾਪਤ ਕਰਦੀ ਹੈ ਅਤੇ ਜੋੜਦੀ ਹੈ। ਪਾਈਥਨ ਸਥਾਪਿਤ ਕੀਤੇ ਵਾਤਾਵਰਨ ਲਈ ਆਦਰਸ਼।
import subprocess
# Define the list of missing public keys
keys = ["0E98404D386FA1D9", "6ED0E7B82643E131", "F8D2585B8783D481", "54404762BBB6E853", "BDE6D2B9216EC7A8"]
def add_key(key):
try:
print(f"Adding key: {key}")
subprocess.run(["gpg", "--keyserver", "hkp://keyserver.ubuntu.com:80", "--recv-keys", key], check=True)
subprocess.run(["gpg", "--export", "--armor", key], stdout=subprocess.PIPE)
subprocess.run(["sudo", "apt-key", "add", "-"], input=subprocess.PIPE)
except subprocess.CalledProcessError as e:
print(f"Failed to add key {key}: {e}")
# Loop through and add all keys
for key in keys:
add_key(key)
# Update apt-get
subprocess.run(["sudo", "apt-get", "update"], check=True)
print("All keys added and apt-get updated.")
GPG ਕੁੰਜੀ ਗਲਤੀਆਂ ਨੂੰ ਹੱਲ ਕਰਨ ਲਈ ਇੱਕ ਡੌਕਰਫਾਈਲ ਦੀ ਵਰਤੋਂ ਕਰਨਾ
ਇਹ ਡੌਕਰਫਾਈਲ ਸਨਿੱਪਟ ਬਿਲਡ ਪ੍ਰਕਿਰਿਆ ਦੌਰਾਨ ਗੁੰਮ ਕੁੰਜੀਆਂ ਨੂੰ ਸਿੱਧੇ ਜੋੜ ਕੇ ਜਨਤਕ ਕੁੰਜੀ ਮੁੱਦੇ ਨੂੰ ਹੱਲ ਕਰਦਾ ਹੈ।
FROM debian:bookworm
# Install required tools
RUN apt-get update \
&& apt-get install -y gnupg wget \
&& rm -rf /var/lib/apt/lists/*
# Add missing public keys
RUN for key in 0E98404D386FA1D9 6ED0E7B82643E131 F8D2585B8783D481 54404762BBB6E853 BDE6D2B9216EC7A8; do \
gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys $key \
&& gpg --export --armor $key | apt-key add -; \
done
# Update package lists after adding keys
RUN apt-get update
GPG ਮੁੱਖ ਪ੍ਰਬੰਧਨ ਚੁਣੌਤੀਆਂ ਦੀ ਪੜਚੋਲ ਕਰਨਾ
ਵਿੰਡੋਜ਼ 7 ਵਰਗੇ ਪੁਰਾਣੇ ਸਿਸਟਮ ਅਤੇ ਡੌਕਰ ਟੂਲਬਾਕਸ ਵਰਗੇ ਟੂਲਸ ਨਾਲ ਕੰਮ ਕਰਦੇ ਸਮੇਂ, GPG ਕੁੰਜੀਆਂ ਦੇ ਗੁੰਮ ਹੋਣ ਵਰਗੇ ਮੁੱਦਿਆਂ ਨੂੰ ਹੱਲ ਕਰਨਾ ਇੱਕ ਤਕਨੀਕੀ ਚੁਣੌਤੀ ਅਤੇ ਸਿੱਖਣ ਦਾ ਅਨੁਭਵ ਹੈ। ਸਮੱਸਿਆ ਦੀ ਜੜ੍ਹ ਤੋਂ ਪੈਕੇਜਾਂ ਨੂੰ ਪ੍ਰਮਾਣਿਤ ਕਰਨ ਦੀ ਜ਼ਰੂਰਤ ਵਿੱਚ ਹੈ ਡੇਬੀਅਨ ਬੁੱਕਵਰਮ ਜਨਤਕ ਕੁੰਜੀਆਂ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਰਿਪੋਜ਼ਟਰੀ। ਹਾਲਾਂਕਿ, ਪੁਰਾਣੇ ਵਾਤਾਵਰਣ ਵਿੱਚ ਅਕਸਰ ਇਹਨਾਂ ਕੁੰਜੀਆਂ ਨੂੰ ਆਟੋ-ਲੈਣ ਦੀ ਸਮਰੱਥਾ ਦੀ ਘਾਟ ਹੁੰਦੀ ਹੈ, ਜਿਸ ਨਾਲ ਪੈਕੇਜ ਅੱਪਡੇਟ ਦੌਰਾਨ ਦਸਤਖਤ ਪੁਸ਼ਟੀਕਰਨ ਅਸਫਲਤਾਵਾਂ ਹੁੰਦੀਆਂ ਹਨ। ਇਹ ਉਹ ਥਾਂ ਹੈ ਜਿੱਥੇ ਸਕ੍ਰਿਪਟਾਂ ਅਤੇ ਵਰਕਅਰਾਉਂਡਸ ਖੇਡ ਵਿੱਚ ਆਉਂਦੇ ਹਨ, ਇੱਕ ਨਿਰਵਿਘਨ ਬਿਲਡ ਪ੍ਰਕਿਰਿਆ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਹੱਥੀਂ ਮੁੜ ਪ੍ਰਾਪਤੀ ਅਤੇ ਕੁੰਜੀਆਂ ਨੂੰ ਜੋੜਨ ਨੂੰ ਸਮਰੱਥ ਬਣਾਉਂਦੇ ਹਨ। 🧩
ਉਦਾਹਰਨ ਲਈ, ਵਿੰਡੋਜ਼ 7 'ਤੇ ਆਧੁਨਿਕ ਡੌਕਰ ਡੈਸਕਟੌਪ ਲਈ ਸਮਰਥਨ ਦੀ ਅਣਹੋਂਦ ਦਾ ਮਤਲਬ ਹੈ ਕਿ ਡਿਵੈਲਪਰਾਂ ਨੂੰ ਡੌਕਰ ਟੂਲਬਾਕਸ 'ਤੇ ਭਰੋਸਾ ਕਰਨਾ ਚਾਹੀਦਾ ਹੈ, ਜਿਸ ਵਿੱਚ ਅੱਪਡੇਟ ਕੀਤੇ ਅਨੁਕੂਲਤਾ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਦੀ ਘਾਟ ਹੈ। ਵਰਗੇ ਕਮਾਂਡਾਂ ਦੀ ਵਰਤੋਂ ਕਰਨਾ gpg --recv-keys ਇੱਕ ਭਰੋਸੇਯੋਗ ਕੀਸਰਵਰ ਤੋਂ ਦਸਤੀ ਕੁੰਜੀਆਂ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ, ਅਤੇ apt-key add ਉਹਨਾਂ ਨੂੰ ਸਿਸਟਮ ਵਿੱਚ ਏਕੀਕ੍ਰਿਤ ਕਰਨ ਲਈ, ਇਹਨਾਂ ਮੁੱਦਿਆਂ ਨੂੰ ਘਟਾਉਣ ਵਿੱਚ ਮਦਦ ਕਰਦਾ ਹੈ। ਇਸਨੂੰ Bash ਜਾਂ Python ਸਕ੍ਰਿਪਟ ਨਾਲ ਸਵੈਚਾਲਤ ਕਰਨਾ ਪ੍ਰਕਿਰਿਆ ਨੂੰ ਸਰਲ ਬਣਾਉਂਦਾ ਹੈ, ਖਾਸ ਕਰਕੇ ਜਦੋਂ ਮਲਟੀਪਲ ਗੁੰਮ ਕੁੰਜੀਆਂ ਨਾਲ ਨਜਿੱਠਣਾ।
ਇਸ ਤੋਂ ਇਲਾਵਾ, ਇਹ ਹੱਲ ਡੌਕਰ ਤੋਂ ਪਰੇ ਅਨੁਕੂਲ ਹਨ. ਉਦਾਹਰਨ ਲਈ, ਜੇਕਰ ਤੁਸੀਂ ਇੱਕ ਸੰਰਚਨਾ ਕਰ ਰਹੇ ਹੋ ਲੀਨਕਸ ਸਰਵਰ ਜਾਂ ਕੰਟੇਨਰਾਈਜ਼ਡ ਐਪਲੀਕੇਸ਼ਨ, ਉਹੀ ਪਹੁੰਚ ਸਮਾਨ ਜਨਤਕ ਕੁੰਜੀ ਦੀਆਂ ਗਲਤੀਆਂ ਨੂੰ ਹੱਲ ਕਰ ਸਕਦੀ ਹੈ। ਇਹਨਾਂ ਫਿਕਸਾਂ ਨੂੰ ਡੌਕਰਫਾਈਲਾਂ ਜਾਂ CI/CD ਪਾਈਪਲਾਈਨਾਂ ਵਿੱਚ ਏਮਬੈਡ ਕਰਕੇ, ਤੁਸੀਂ ਇੱਕ ਮਜ਼ਬੂਤ, ਮੁੜ ਵਰਤੋਂ ਯੋਗ ਹੱਲ ਬਣਾਉਂਦੇ ਹੋ। ਇਹ ਤਕਨੀਕਾਂ ਨਾ ਸਿਰਫ਼ ਤੁਰੰਤ ਸਮੱਸਿਆਵਾਂ ਦਾ ਹੱਲ ਕਰਦੀਆਂ ਹਨ ਸਗੋਂ ਨਿਰਭਰਤਾ ਪ੍ਰਬੰਧਨ ਅਤੇ ਵਿਰਾਸਤੀ ਪ੍ਰਣਾਲੀਆਂ ਬਾਰੇ ਤੁਹਾਡੀ ਸਮਝ ਨੂੰ ਵੀ ਵਧਾਉਂਦੀਆਂ ਹਨ। 💻
ਡੇਬੀਅਨ ਜੀਪੀਜੀ ਕੁੰਜੀ ਗਲਤੀਆਂ ਨੂੰ ਠੀਕ ਕਰਨ ਬਾਰੇ ਆਮ ਸਵਾਲ
- "NO_PUBKEY" ਗਲਤੀ ਦਾ ਕੀ ਕਾਰਨ ਹੈ?
- ਗਲਤੀ ਉਦੋਂ ਹੁੰਦੀ ਹੈ ਜਦੋਂ apt-ਅੱਪਡੇਟ ਪ੍ਰਾਪਤ ਕਰੋ ਕਮਾਂਡ ਇੱਕ ਰਿਪੋਜ਼ਟਰੀ ਤੋਂ ਪੈਕੇਜ ਜਾਣਕਾਰੀ ਪ੍ਰਾਪਤ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਦੀ ਹੈ ਪਰ ਜਨਤਕ ਕੁੰਜੀਆਂ ਗੁੰਮ ਹੋਣ ਕਾਰਨ ਇਸ ਦੇ ਦਸਤਖਤ ਦੀ ਪੁਸ਼ਟੀ ਨਹੀਂ ਕਰ ਸਕਦੀ ਹੈ।
- ਮੈਂ ਗੁੰਮ ਹੋਈ GPG ਕੁੰਜੀ ਨੂੰ ਹੱਥੀਂ ਕਿਵੇਂ ਜੋੜ ਸਕਦਾ ਹਾਂ?
- ਤੁਸੀਂ ਵਰਤ ਸਕਦੇ ਹੋ gpg --keyserver ਕੀਸਰਵਰ ਐਡਰੈੱਸ ਦੇ ਬਾਅਦ ਅਤੇ --recv-keys ਕੁੰਜੀ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਕੁੰਜੀ ID ਨਾਲ। ਫਿਰ, ਵਰਤੋ apt-key add ਇਸਨੂੰ ਤੁਹਾਡੇ ਸਿਸਟਮ ਵਿੱਚ ਜੋੜਨ ਲਈ।
- ਕੀ ਮਲਟੀਪਲ ਕੁੰਜੀਆਂ ਨੂੰ ਆਟੋਮੈਟਿਕ ਫਿਕਸ ਕਰਨ ਦਾ ਕੋਈ ਤਰੀਕਾ ਹੈ?
- ਹਾਂ, ਤੁਸੀਂ ਇੱਕ ਸਕ੍ਰਿਪਟ ਲਿਖ ਸਕਦੇ ਹੋ, ਜਿਵੇਂ ਕਿ ਇੱਕ ਲੂਪ ਦੇ ਨਾਲ ਇੱਕ Bash ਸਕ੍ਰਿਪਟ ਜੋ ਇਸਦੀ ਵਰਤੋਂ ਕਰਕੇ ਸਾਰੀਆਂ ਲੋੜੀਂਦੀਆਂ ਕੁੰਜੀਆਂ ਨੂੰ ਪ੍ਰਾਪਤ ਕਰਦੀ ਹੈ ਅਤੇ ਜੋੜਦੀ ਹੈ gpg ਅਤੇ apt-key.
- ਕੀ ਇਹ ਸਮੱਸਿਆ ਨਵੇਂ ਸਿਸਟਮਾਂ 'ਤੇ ਹੋ ਸਕਦੀ ਹੈ?
- ਘੱਟ ਆਮ ਹੋਣ ਦੇ ਬਾਵਜੂਦ, ਨਵੇਂ ਸਿਸਟਮਾਂ 'ਤੇ ਸਮਾਨ ਸਮੱਸਿਆਵਾਂ ਹੋ ਸਕਦੀਆਂ ਹਨ ਜੇਕਰ ਰਿਪੋਜ਼ਟਰੀਆਂ ਪੁਰਾਣੀਆਂ ਜਾਂ ਗੈਰ-ਭਰੋਸੇਯੋਗ ਕੁੰਜੀਆਂ ਹਨ।
- ਇਹਨਾਂ ਗਲਤੀਆਂ ਤੋਂ ਬਚਣ ਲਈ ਕੁਝ ਵਧੀਆ ਅਭਿਆਸ ਕੀ ਹਨ?
- ਜਦੋਂ ਵੀ ਸੰਭਵ ਹੋਵੇ ਆਪਣੇ ਸਿਸਟਮ ਅਤੇ ਟੂਲਸ ਨੂੰ ਅੱਪਡੇਟ ਰੱਖੋ, ਭਰੋਸੇਮੰਦ ਰਿਪੋਜ਼ਟਰੀਆਂ ਦੀ ਵਰਤੋਂ ਕਰੋ, ਅਤੇ ਸਮੇਂ-ਸਮੇਂ 'ਤੇ GPG ਕੁੰਜੀਆਂ ਨੂੰ ਇਸ ਨਾਲ ਤਾਜ਼ਾ ਕਰੋ। apt-key.
ਜਨਤਕ ਮੁੱਖ ਤਰੁਟੀਆਂ ਨੂੰ ਸੁਲਝਾਉਣ ਤੋਂ ਮੁੱਖ ਉਪਾਅ
ਵਿੰਡੋਜ਼ 7 ਵਰਗੇ ਪੁਰਾਤਨ ਸਿਸਟਮਾਂ ਨਾਲ ਕੰਮ ਕਰਨਾ ਔਖਾ ਹੋ ਸਕਦਾ ਹੈ, ਪਰ ਗਲਤੀਆਂ ਜਿਵੇਂ ਕਿ GPG ਕੁੰਜੀਆਂ ਨੂੰ ਨਜਿੱਠਣਾ ਕੀਮਤੀ ਸਿੱਖਣ ਦੇ ਮੌਕੇ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ। ਮੁੱਖ ਪ੍ਰਬੰਧਨ ਪ੍ਰਕਿਰਿਆਵਾਂ ਨੂੰ ਸਮਝਣ ਅਤੇ ਸਕ੍ਰਿਪਟਾਂ ਦੀ ਵਰਤੋਂ ਕਰਕੇ, ਡਿਵੈਲਪਰ ਗੁੰਝਲਦਾਰ ਕਾਰਜਾਂ ਨੂੰ ਸੁਚਾਰੂ ਬਣਾ ਸਕਦੇ ਹਨ ਅਤੇ ਅਨੁਕੂਲਤਾ ਮੁੱਦਿਆਂ ਨੂੰ ਦੂਰ ਕਰ ਸਕਦੇ ਹਨ। 🛠️
ਅਨੁਕੂਲ ਢੰਗਾਂ ਜਿਵੇਂ ਕਿ ਬੈਸ਼ ਸਕ੍ਰਿਪਟਾਂ, ਪਾਈਥਨ ਆਟੋਮੇਸ਼ਨ, ਜਾਂ ਡੌਕਰਫਾਈਲ ਏਕੀਕਰਣ ਦੀ ਵਰਤੋਂ ਕਰਨਾ ਗਲਤੀਆਂ ਨੂੰ ਸੰਭਾਲਣ ਵਿੱਚ ਲਚਕਤਾ ਅਤੇ ਕੁਸ਼ਲਤਾ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ। ਇਹ ਹੱਲ ਨਾ ਸਿਰਫ਼ ਤਤਕਾਲ ਸਮੱਸਿਆਵਾਂ ਨੂੰ ਹੱਲ ਕਰਦੇ ਹਨ, ਸਗੋਂ ਨਿਰਭਰਤਾ ਪ੍ਰਬੰਧਨ ਦੀ ਸਮਝ ਵੀ ਪ੍ਰਦਾਨ ਕਰਦੇ ਹਨ, ਜਿਸ ਨਾਲ ਨਵੇਂ ਅਤੇ ਤਜਰਬੇਕਾਰ ਡਿਵੈਲਪਰਾਂ ਦੋਵਾਂ ਨੂੰ ਲਾਭ ਹੁੰਦਾ ਹੈ।
ਡੇਬੀਅਨ ਜੀਪੀਜੀ ਗਲਤੀਆਂ ਨੂੰ ਹੱਲ ਕਰਨ ਲਈ ਸਰੋਤ ਅਤੇ ਹਵਾਲੇ
- ਡੇਬੀਅਨ ਜੀਪੀਜੀ ਕੁੰਜੀਆਂ ਦੇ ਪ੍ਰਬੰਧਨ ਅਤੇ ਜਨਤਕ ਕੁੰਜੀ ਦੀਆਂ ਗਲਤੀਆਂ ਨੂੰ ਹੱਲ ਕਰਨ ਬਾਰੇ ਜਾਣਕਾਰੀ ਅਧਿਕਾਰਤ ਡੇਬੀਅਨ ਦਸਤਾਵੇਜ਼ਾਂ ਤੋਂ ਪ੍ਰਾਪਤ ਕੀਤੀ ਗਈ ਸੀ: ਡੇਬੀਅਨ ਅਕਸਰ ਪੁੱਛੇ ਜਾਂਦੇ ਸਵਾਲ .
- ਡੌਕਰ ਦੇ ਕਮਿਊਨਿਟੀ ਫੋਰਮਾਂ ਤੋਂ ਵਿਰਾਸਤੀ ਪ੍ਰਣਾਲੀਆਂ 'ਤੇ ਡੌਕਰ-ਸਬੰਧਤ ਮੁੱਦਿਆਂ ਨੂੰ ਹੱਲ ਕਰਨ ਦੇ ਵੇਰਵਿਆਂ ਦਾ ਹਵਾਲਾ ਦਿੱਤਾ ਗਿਆ ਸੀ: ਡੌਕਰ ਕਮਿਊਨਿਟੀ ਫੋਰਮ .
- GPG ਕੁੰਜੀ ਦੀ ਪ੍ਰਾਪਤੀ ਅਤੇ ਵਰਤੋਂ ਬਾਰੇ ਤਕਨੀਕੀ ਜਾਣਕਾਰੀ GPG ਦੀ ਅਧਿਕਾਰਤ ਵੈੱਬਸਾਈਟ ਤੋਂ ਇਕੱਠੀ ਕੀਤੀ ਗਈ ਸੀ: GnuPG ਦਸਤਾਵੇਜ਼ੀ .
- ਸਟੈਕ ਓਵਰਫਲੋ 'ਤੇ ਵਿਚਾਰ ਵਟਾਂਦਰੇ ਦੁਆਰਾ ਆਟੋਮੇਟਿੰਗ ਕੁੰਜੀ ਜੋੜਨ ਲਈ ਸਕ੍ਰਿਪਟਿੰਗ ਹੱਲਾਂ ਦੀਆਂ ਉਦਾਹਰਨਾਂ: ਸਟੈਕ ਓਵਰਫਲੋ .