إصلاح أخطاء توقيع APT عن طريق إصلاح مفتاح المستودع

إذا أبلغت APT عن "تعذر التحقق من التوقيعات التالية"، فحدد المستودع ورمز الخطأ المحدد في نفس المخرجات، ثم أصلح مفتاح التوقيع الموثوق أو إدخال المصدر الخاص بذلك المستودع. بالنسبة لمستودع تابع لجهة خارجية، احصل على مفتاحه الحالي من ناشر البرنامج واربطه بذلك المصدر Signed-By؛ لا تعطل عمليات التحقق من التوقيع أو تضيف مفتاحًا غير معروف بشكل عام.

يُظهر مُخرج طرفية أوبونتو تحديث apt وخطأً في المفتاح العام المفقود لمستودع packages.example.org الوهمي
مثال على مخرجات تحديث apt: خطأ المفتاح المفقود يحدد المستودع المتأثر ويتضمن معرف NO_PUBKEY.

1. ابحث عن المستودع واقرأ الخطأ بالتفصيل

قم بتشغيل التحديث حتى تتمكن من فحص الرسالة كاملة:

sudo apt update

ابحث عن عنوان URL بجانب Err:رمز مميز مثل NO_PUBKEY` EXPKEYSIG<a>` KEYEXPIREDأو `<a>` أو `<a> BADSIG`. يُشير عنوان URL إلى المصدر الذي فشل، بينما يُحدد الرمز المميز سبب الفشل. يتحقق APT من بيانات تعريف المستودع المُوقّع قبل الوثوق بفهرس الحزم، لذا فإن فشل التحقق من التوقيع يُعدّ مؤشرًا أمنيًا وليس مجرد تحذير شكلي. تتضمن تثبيتات أوبونتو بالفعل مفاتيح لأرشيفات أوبونتو الافتراضية؛ وعادةً ما يلزم إعداد المفاتيح يدويًا فقط للمستودعات المُضافة لاحقًا.

ابحث عن تعريف المصدر بالبحث عن اسم المضيف المذكور في الخطأ. استبدل اسم المضيف المذكور في المثال بالاسم الموجود في طرفية الأوامر لديك.

يقوم طرفية أوبونتو بالبحث عن الملفات الموجودة ضمن مجلد etc apt sources.list.d لمضيف المستودع
ابحث في دليل مصدر APT عن المضيف المحدد الذي تم الإبلاغ عنه بواسطة التحديث الفاشل.
grep -R "packages.example.org" /etc/apt/sources.list /etc/apt/sources.list.d/ 2>/dev/null

تستخدم أنظمة Ubuntu 24.04 والإصدارات الأحدث ملفات مصدر deb822 التي تنتهي .sourcesبـ افتراضيًا؛ أما الإصدارات الأقدم فتستخدم غالبًا ملفات من سطر واحد .list. تحقق من عنوان URL للمستودع، أو اسم الحزمة أو رمز Ubuntu، وأي Signed-Byإدخال موجود. إذا كان المصدر يشير إلى إصدار لم يعد المورّد يدعمه، فاتبع تعليمات المورّد لإصدار Ubuntu الخاص بك أو عطّل هذا المصدر. لا يمكن للمفتاح إصلاح مسار مستودع قديم أو غير صحيح.

2. إصلاح مفتاح طرف ثالث مفقود أو تم تدويره

للتأكد NO_PUBKEYأولاً، تأكد من أن المستودع هو الذي قمت بتثبيته عمدًا. افتح وثائق التثبيت الحالية للناشر واحصل على رابط مفتاح التوقيع وبصمة المفتاح الكاملة من ذلك المصدر. قارن بصمة المفتاح مع مرجع منشور من قِبل المورّد بشكل منفصل إن وُجد. لا تستخدم مفتاحًا من خادم مفاتيح عشوائي لمجرد أن معرّفه المختصر يطابق الخطأ.

بالنسبة للبائع الذي ينشر .ascمفتاحًا محميًا برموز ASCII، قم بتثبيته كحلقة مفاتيح APT مخصصة. استبدل عنوان URL المذكور كمثال بعنوان URL المحدد والموثق من قِبل ذلك الناشر.

sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://vendor.example/path/repo-signing-key.asc | sudo gpg --dearmor --yes -o /etc/apt/keyrings/vendor-archive.gpg
sudo chmod 0644 /etc/apt/keyrings/vendor-archive.gpg

يجب أن يكون الملف .gpgقابلاً للقراءة من قِبل مستخدم التنزيل غير المُصرَّح له في APT. إذا وفّر الناشر .gpgسلسلة مفاتيح ثنائية، فاتبع تعليماته بدلاً من إلغاء تثبيتها مرة أخرى. توصي أوبونتو بوضع مفاتيح الجهات الخارجية في سلسلة مفاتيح منفصلة والإشارة إليها من قِبل ذلك المستودع، مما يحدّ من المصادر التي يمكنها استخدام المفتاح.

طرفية أوبونتو تعرض سلسلة مفاتيح APT مخصصة وإدخال مصدر مستودع باستخدام التوقيع بواسطة
يحافظ إعداد "Signed-By" الخاص بالمصدر على ربط المستودع بسلسلة مفاتيحه الخاصة.

عدّل تعريف المصدر الحالي بدلاً من إضافة إدخال مكرر. بالنسبة لملف deb822 مثل هذا /etc/apt/sources.list.d/vendor.sources، استخدم قيم URI والمجموعة والمكونات الفعلية للمورد، ثم أضف مسار سلسلة المفاتيح.

Types: deb
URIs: https://packages.example.org/ubuntu
Suites: YOUR_UBUNTU_CODENAME
Components: main
Signed-By: /etc/apt/keyrings/vendor-archive.gpg

إذا كان الإدخال الحالي في .listملف من سطر واحد، فإن الصيغة المكافئة هي deb [signed-by=/etc/apt/keyrings/vendor-archive.gpg] https://packages.example.org/ubuntu YOUR_UBUNTU_CODENAME main. احتفظ بمجموعة المكونات الموثقة للمستودع؛ القيم المذكورة في المثال هي عناصر نائبة. تجنب apt-key add: فهي مُهملة، ويمكن لمفتاح موثوق به عالمي أن يمنح مفتاحًا تابعًا لجهة خارجية صلاحيات أوسع من المقصود.

إذا ظهرت رسالة تفيد EXPKEYSIGبانتهاء KEYEXPIREDصلاحية مفتاح التوقيع، فقد يكون المفتاح قد انتهت صلاحيته أو قام المورّد باستبداله. قم بتنزيل المفتاح البديل والتحقق منه باستخدام تعليمات المورّد الحالية، ثم حدّث ملف مفاتيح المصدر. لا تُمدّد صلاحية المفتاح القديم بتجاهل تاريخ انتهاء صلاحيته.

3. تحقق من مشاكل الساعة، وأرشيف أوبونتو، والمرايا

إذا كان المستودع أرشيفًا رسميًا لأوبونتو، فلا تستورد مفتاحًا من طرف ثالث. تأكد من صحة ساعة نظامك باستخدام الأمر `console.json` timedatectl status، وتأكد من أن المصدر يستخدم عنوان URL صالحًا لأرشيف أوبونتو والاسم الرمزي للإصدار المُثبَّت لديك. ubuntu-keyringتوفر الحزمة مفاتيح توقيع أرشيف أوبونتو؛ إذا كانت إدارة الحزم لا تزال تعمل من خلال مصدر أوبونتو موثوق، فقم بتحديث تلك الحزمة باستخدام الأمر `console.json`.

sudo apt install --reinstall ubuntu-keyring

تعني هذه BADSIGالرسالة أن التوقيع لا يتطابق مع البيانات الوصفية التي استلمها APT. عادةً ما تكون إعادة استيراد المفتاح استجابة خاطئة. تحقق من وجود خلل في ساعة النظام، أو وجود نسخة احتياطية قديمة أو غير متناسقة، أو خادم وكيل للتخزين المؤقت، أو مشكلة في النشر من جانب المستودع؛ أعد المحاولة بعد تصحيح السبب. إذا فشل مصدر تابع لجهة خارجية فقط، ولا تحتاج إليه، فعطّل ​​إدخاله المحدد .sourcesأو .listإدخاله أثناء تواصلك مع مطوّره. أبقِ التحقق الأمني ​​مُفعّلاً.

4. تحقق من الإصلاح

طرفية أوبونتو تُشغّل أمر apt update، وقد تم جلب بيانات تعريف المستودع وإكمال قوائم الحزم.
بعد تصحيح المصدر أو سلسلة المفاتيح، أعد تشغيل تحديث apt وتأكد من عدم وجود أي خطأ في التوقيع.

أعد تشغيل sudo apt updateالعملية. يكتمل الإصلاح عند جلب المستودع المتأثر دون ظهور تحذير بشأن التوقيع، وعند وصول APT إلى نقطة النهاية Reading package lists... Done. لا يُعد التحديث الناجح دليلاً على أمان ناشر الطرف الثالث، بل يؤكد فقط تطابق توقيع البيانات الوصفية مع مفتاح موثوق به. إذا استمر فشل التحقق، فأعد فحص عنوان URL للمستودع، والاسم الرمزي، وبصمة المفتاح، وأذونات سلسلة المفاتيح، ورمز الخطأ بدقة قبل إجراء أي تغيير آخر.

للاطلاع على تنسيقات المصدر والمفاتيح المدعومة، راجع إرشادات مستودعات الطرف الثالث الخاصة بنظام Ubuntu ، ودليل Ubuntu apt-secure ، ووثائق سلامة أرشيف Ubuntu .

اترك تعليقاً

إصلاح أخطاء توقيع APT عن طريق إصلاح مفتاح المستودع

إصلاح أخطاء توقيع APT عن طريق إصلاح مفتاح المستودع

قم بحل تحذيرات توقيع Ubuntu APT بأمان عن طريق تحديد المصدر الفاشل، وتحديث مفتاحه الذي تم التحقق منه، والتحقق من النتيجة دون تعطيل الأمان.

كيفية تحويل الجهد والتيار ثلاثي الأطوار، و kW، و kVA، ومعامل القدرة

كيفية تحويل الجهد والتيار ثلاثي الأطوار، و kW، و kVA، ومعامل القدرة

تعلم صيغ التيار ثلاثي الأطوار المتوازنة وقم بتحويل جهد الخط والتيار و kW و kVA ومعامل القدرة خطوة بخطوة، مع مثال عملي وحدود للتحقق منها.

تحديد استخدام وحدة المعالجة المركزية والذاكرة لأمر ما باستخدام مجموعات التحكم (cgroups) في أوبونتو

تحديد استخدام وحدة المعالجة المركزية والذاكرة لأمر ما باستخدام مجموعات التحكم (cgroups) في أوبونتو

قم بتشغيل حمل عمل داخل نطاق systemd مع CPUQuota و MemoryMax، ثم تحقق من الحدود من خلال cgroup v2.

تشفير نظام أسماء النطاقات (DNS) الخاص بـ Pi-hole على خادم Ubuntu 24.04

تشفير نظام أسماء النطاقات (DNS) الخاص بـ Pi-hole على خادم Ubuntu 24.04

قم بإعداد dnscrypt-proxy كجسر DoH محلي لـ Pi-hole على Ubuntu 24.04، مع مستمع محلي فقط، واختيار محلل، وعمليات فحص قبل تبديل DNS.

تفعيل إيماءات لوحة اللمس في أوبونتو 24.04 على وايلاند

تفعيل إيماءات لوحة اللمس في أوبونتو 24.04 على وايلاند

تحقق من إعدادات لوحة اللمس في أوبونتو، وتأكد من تثبيت Wayland، واختبر خاصية التمرير المدمجة في GNOME قبل استكشاف أخطاء التطبيقات أو الأجهزة وإصلاحها.

قم بإنشاء مرآة RAID 1 لنظام Debian 12 باستخدام mdadm

قم بإنشاء مرآة RAID 1 لنظام Debian 12 باستخدام mdadm

قم بإنشاء مصفوفة بيانات Debian 12 RAID 1 ثنائية الأقراص والتحقق منها، وقم بتهيئتها بأمان، وقم بتكوينها للتجميع والتركيب بعد إعادة التشغيل.

تشفير ملف التبديل في دبيان 12 باستخدام مفتاح جديد عند كل عملية تشغيل

تشفير ملف التبديل في دبيان 12 باستخدام مفتاح جديد عند كل عملية تشغيل

قم بإعداد تشفير المفتاح العشوائي لقسم التبديل الحالي في Debian 12، وتحقق من تعيين dm-crypt النشط، وافهم المفاضلة المتعلقة بالسبات.

كيفية تقييد مستخدمي SSH بمجلدات محددة على نظام Ubuntu 24.04 (دليل SFTP Chroot)

كيفية تقييد مستخدمي SSH بمجلدات محددة على نظام Ubuntu 24.04 (دليل SFTP Chroot)

تقييد حسابات SSH في Ubuntu 24.04 إلى مجلدات SFTP المحددة باستخدام chroot والأذونات المناسبة وقواعد المطابقة والاختبارات الآمنة - دون منح الوصول إلى shell.

قم بإلغاء قفل APT الخاص بنظام Ubuntu بأمان وأكمل التحديث

قم بإلغاء قفل APT الخاص بنظام Ubuntu بأمان وأكمل التحديث

ابحث عن العملية التي تمتلك قفل واجهة dpkg الأمامية في Ubuntu، ودع عمل الحزمة يكتمل، وقم بإصلاح عمليات التثبيت المتقطعة دون حذف ملفات القفل.

كيفية إعداد لقطات Btrfs تلقائية على سطح مكتب أوبونتو

كيفية إعداد لقطات Btrfs تلقائية على سطح مكتب أوبونتو

قم بإعداد لقطات نظام Btrfs المجدولة على سطح مكتب Ubuntu باستخدام Timeshift، وتحقق من تخطيط وحدة التخزين الفرعية في Ubuntu، واختر فترة الاحتفاظ، وافهم ما لا يمكن للقطات حمايته.