وصف المشكلة #
عند محاولة تحديث RELIANOID النظام باستخدام noid-updater, checkupdates, checkupgrades or apt update عند استخدام الأمر، قد تواجه رسالة الخطأ التالية:
root@noid-01:~# noid-updater عدد مرات الظهور: ١ https://repo.relianoid.com/ce/v1 bookworm عدد مرات الظهور: ١ https://repo.relianoid.com/ce/v7 bookworm عدد مرات الظهور: ١ https://repo.relianoid.com/ce/v1 bookworm تعذر التحقق من التوقيعات التالية لعدم توفر المفتاح العام: NO_PUBKEY 7CC5ED37C135EB46 جاري قراءة قوائم الحزم... تم. حدث خطأ أثناء التحقق من التوقيع. لم يتم تحديث المستودع، وسيتم استخدام ملفات الفهرس السابقة. خطأ GPG: https://repo.relianoid.com/ce/v4 bookworm InRelease: تعذّر التحقق من التوقيعات التالية لعدم توفر المفتاح العام: NO_PUBKEY 7CC5ED37C135EB46 W: تعذّر جلب https://repo.relianoid.com/ce/v4/dists/bookworm/InRelease تعذّر التحقق من التوقيعات التالية لعدم توفر المفتاح العام: NO_PUBKEY 7CC5ED37C135EB46 W: تعذّر تنزيل بعض ملفات الفهرس. تم تجاهلها، أو استخدام ملفات قديمة بدلاً منها.
سبب #
تم طرح هذه المشكلة في RELIANOID إصدار المجتمع بسبب وجود اعتماد مفقود في relianoid الحزمة. على وجه التحديد، relianoid-keyring لم يتم تضمين الحزمة كتبعية مطلوبة، مما تسبب في افتقار النظام إلى مفتاح GPG الضروري لمصادقة المستودع.
الحلول #
إذا كان موازن التحميل لديه إمكانية الوصول إلى الإنترنت #
قم بتنفيذ الأمر التالي لتنزيل مفتاح GPG وتثبيته:
wget -O - https://repo.relianoid.com/public/relianoid.asc > /etc/apt/trusted.gpg.d/relianoid.asc
إذا لم يكن لدى موازن التحميل إمكانية الوصول إلى الإنترنت #
تنزيل ملف المفتاح من نظام متصل بالإنترنت. ثم انقل الملف إلى مُوازن التحميل باستخدام SCP أو SFTP أو أي طريقة نقل متاحة. انسخ الملف إلى الموقع الصحيح على مُوازن التحميل:
cp relianoid.asc /etc/apt/trusted.gpg.d/relianoid.asc
التحقق من الإصلاح #
بمجرد إضافة المفتاح، قم بتحديث النظام مرة أخرى:
apt update
or
noid-updater
إذا تم إكمال التحديث بنجاح دون NO_PUBKEY خطأ، تم حل المشكلة.
خاتمة #
يحدث هذا الخطأ بسبب وجود حزمة سلسلة مفاتيح مفقودة في RELIANOID إصدار المجتمع. إضافة مفتاح GPG يدويًا تُمكّن مدير الحزم من التحقق من التحديثات واسترجاعها بشكل صحيح. التحديثات المستقبلية لـ RELIANOID يجب تضمين هذه التبعية بشكل افتراضي لمنع تكرار هذه المشكلة.