الرئيسية
» لينوكس
»
كيفية إصلاح خطأ "NO_PUBKEY" في برنامج GPG على نظام أوبونتو
كيفية إصلاح خطأ "NO_PUBKEY" في برنامج GPG على نظام أوبونتو
يشير خطأ NO_PUBKEY إلى أن APT عثر على مستودع، لكنه لا يستطيع التحقق من بيانات تعريف الحزمة الموقعة لعدم امتلاكه مفتاح التوقيع العام الخاص بذلك المستودع. حدد المصدر، واحصل على مفتاحه من الناشر، وتحقق من بصمة التوقيع الكاملة، ثم اربطه بذلك المستودع فقط Signed-By. بعد ذلك، قم بتحديث APT. لا تتجاوز عمليات التحقق من التوقيع لإخفاء الخطأ.
لاحظ عنوان URL للمستودع المجاور NO_PUBKEY. قد يعرض APT معرّف مفتاح مختصر، مثل ABCD1234EF567890. يساعد هذا في تحديد المفتاح المفقود، لكنه لا يثبت مالكه. تأكد من مصدر البرنامج الذي تسبب في الخطأ قبل تغيير إعدادات الثقة الخاصة به.
يشير السطر المميز إلى مستودع لا يمكن لـ APT التحقق من مفتاح التوقيع الخاص به؛ عنوان URL ومعرف المفتاح هما مثالان على ذلك.
2. الحصول على مفتاح الناشر والتحقق منه
استخدم صفحة التثبيت الرسمية لمالك المستودع أو موقع تنزيل المفتاح. بالنسبة لمستودع PPA على منصة Launchpad، تأكد من مالكه وقم بأرشفته على المنصة. توضح وثائق أوبونتو كيفية إضافة مستودع PPA باستخدام الأمر `pp.py` add-apt-repository، الذي يُهيئ مفتاحه.
sudo add-apt-repository ppa:OWNER/ARCHIVE
استبدل هذا OWNER/ARCHIVEالرابط برابط PPA الصحيح من صفحته الرسمية. بالنسبة لمستودعات الموردين، نزّل مفتاحها فقط من تعليمات المورد. يستخدم هذا المثال رابطًا افتراضيًا؛ استبدله بالرابط المنشور.
إذا وفّر الناشر .gpgمفتاحًا ثنائيًا، فاحفظه في مكانه /etc/apt/keyringsواضبط أذوناته 0644؛ لا تقم بإلغاء صلاحياته. سمِّ الملف باسم ناشره ليسهل عليك التعرف عليه لاحقًا.
4. اربط المفتاح بذلك المستودع
عدّل ملف المصدر الحالي للمستودع، الموجود عادةً في المسار التالي /etc/apt/sources.list.d/: . احتفظ بمعرف الموارد الموحد (URI) وحزمة أوبونتو والمكونات من الناشر. استبدل العناصر النائبة أدناه، ولا تُنشئ مصدرًا مكررًا.
.sourcesأضف حقلاً في ملف deb822 Signed-By:
Types: deb
URIs: https://repo.example/ubuntu
Suites: YOUR_UBUNTU_CODENAME
Components: main
Signed-By: /etc/apt/keyrings/vendor-archive-keyring.gpg
في .listملف قديم، أضف الخيار إلى debالسطر الموجود فيه:
deb [signed-by=/etc/apt/keyrings/vendor-archive-keyring.gpg] https://repo.example/ubuntu YOUR_UBUNTU_CODENAME main
استخدم التنسيق الموجود بالفعل في ذلك المصدر. يشرح دليل أوبونتوsources.listSigned-By التنسيقات المدعومة.
يشير مدخل المصدر إلى سلسلة مفاتيح واحدة في /etc/apt/keyrings.
5. قم بتحديث APT والتحقق منه
احفظ ملف المصدر وقم بتشغيله:
sudo apt update
يجب أن يكتمل التحديث دون NO_PUBKEYظهور تحذير من المستودع. يمكنك بعد ذلك تثبيت الحزم أو تحديثها بشكل طبيعي. هذا الأمر يُحدّث بيانات تعريف الحزم، ولا يُحدّث الحزم المُثبّتة.
يؤكد تحديث قائمة الحزم النظيفة أن APT يمكنه التحقق من المستودع المُكوّن.
إذا استمر الخطأ
عدم تطابق بصمة المفتاح: قد يكون المفتاح قديمًا أو من مستودع آخر. احصل على المفتاح الحالي من الناشر.
لم يتم العثور على المفتاح: تأكد من أن مسار المصدر Signed-Byيطابق تمامًا ملف سلسلة المفاتيح وأن الملف قابل للقراءة.
ملف الإصدار مفقود أو خطأ 404: قد لا يدعم المستودع اسم إصدار أوبونتو الخاص بك. اتبع إرشادات التوافق الخاصة بالناشر أو عطّل المصدر؛ لا تفترض وجود حزمة برامج مختلفة.
أرشيف أوبونتو الرسمي: تأكد من أن المصدر يشير إلى أرشيف أوبونتو رسمي وأنه ubuntu-keyringسليم. لا تقم باستيراد مفتاح بديل غير رسمي.
في نظام أوبونتو ديسكتوب، إذا لم تعد تستخدم مصدرًا خارجيًا، فافتح "البرامج والتحديثات" ، وعطّله ضمن "برامج أخرى" ، ثم أعد تحميل معلومات الحزمة. تختلف التسميات باختلاف الإصدار. لا يُعدّ سير عمل استيراد المصادقة العالمي القديم بديلاً عن التحقق من مفتاح الناشر الحالي واستخدامه Signed-By.
أبقِ عمليات التحقق من التوقيعات مُفعّلة
لا تستخدم trusted=yesإعدادات --allow-unauthenticatedالمستودعات غير الآمنة كحل بديل. إذا لم يتمكن الناشر من تأكيد المفتاح أو لم يعد يدعم المستودع، فعطّله واستخدم مصدرًا مدعومًا. راجع دليل مصادقة الأرشيف في Ubuntu APT .