ابدأ بسجل الأعطال، وليس بفهرس البحث. في خادم Kopano Core التقليدي، يُعد محرك البحث هو kopano-searchالخدمة. يصف حزمة مصدر Debian هذا الجيل بأنه مُفهرس قائم على العمليات مبني على python-kopano. يتصل هذا المُفهرس بـ Kopano kopano-server، ويُدير فهارس بحث لكل مخزن، ويمكنه اختياريًا استدعاء أدوات تحليل المرفقات. راجع حزمة مصدر Kopano Search . قد يتسبب كل من وحدة Python مفقودة، أو عدم تطابق مقبس الخادم، أو مشكلة في الأذونات أو مساحة القرص، أو فشل محلل المرفقات، في ظهور أعراض مختلفة. قد يؤدي إعادة تشغيل الفهرس بالكامل أو حذفه قبل تحديد سبب العطل إلى إخفاء أدلة مفيدة وزيادة العمل.
يغطي هذا الدليل عمليات التثبيت التي تُشغّل البرنامج الخفي الكلاسيكي kopano-search، بما في ذلك حزم Kopano Core القديمة. وثائق Kopano المتوفرة حاليًا لهذه الخدمة مُخصصة لإصدار Kopano Core 8.0، بينما تغطي صفحات الدليل المؤرشفة في Ubuntu إصدارات الحزم الأقدم مثل 8.7. تأكد من إصدار Kopano المُثبّت لديك ودليله المحلي قبل تطبيق الأوامر الخاصة بالإصدار. قد تستخدم عمليات نشر Kopano Cloud أو الحاويات أسماء خدمات وإجراءات إدارة مختلفة.
ما الذي يجب عليك التحقق منه قبل تغيير أي شيء؟
تحتاج إلى صلاحيات الوصول إلى سطر الأوامر لقراءة سجلات Kopano وإعداداتها. قبل تعديل الإعدادات أو تغيير ملفات الفهرس، سجّل إصدار الحزمة واحتفظ بنسخة احتياطية من الإعدادات ذات الصلة. لا تنسخ مسار الفهرس من خادم آخر، فالمسارات الافتراضية والمُهيأة تختلف باختلاف إصدارات الحزمة. يشرح دليل مسؤول Kopano /etc/kopano/search.cfgملفات الفهرس لكل متجر، ومقبس الخدمة، وتحليل المرفقات؛ كما يحذر من تغيير ملفات الفهرس أثناء تشغيل الخدمة. يُعد قسم إعدادات البحث في Kopano المرجع الأساسي لهذه الإعدادات.
1. تأكد من أن برنامج kopano-search يتعطل بالفعل
في نظام يستخدم systemd، افحص الوحدة وإدخالات السجل الأخيرة:
ابحث عن محاولات بدء متكررة، أو رمز خروج، أو تتبع أخطاء بايثون، أو استثناء نهائي محدد. غالبًا ما يكون السطر الأخير من تتبع الأخطاء أكثر فائدة من السطر الأول لأنه يُحدد الخطأ الذي أوقف العملية. إذا كان نظامك يستخدم نصوص بدء تشغيل SysV القديمة، فتحقق من sudo service kopano-search statusملف السجل المُكوّن أو سجل النظام. قد تُسجل الخدمة في ملف أو سجل النظام حسب الإعدادات search.cfg، لذا فإن سجلًا فارغًا لا يُثبت عدم حدوث خطأ.
تحقق أولاً من حالة خدمة بحث كوبانو. حالة الفشل في هذا المثال توضيحية فقط؛ قارنها بمخرجات خادمك.
احفظ سجلات النظام ذات الصلة قبل إعادة التشغيل. إذا توقفت الخدمة ثم أعاد نظام التشغيل تشغيلها، فستحتاج إلى معرفة ما إذا كانت كل محاولة تفشل في نفس المرحلة أم أن حدثًا واحدًا تسبب في الانهيار.
2. تحقق مما إذا كانت خدمة البحث قادرة على الوصول إلى خادم كوبانو
يجب أن يتصل برنامج البحث بمقبس خادم Kopano الصحيح. تحقق من كلا الخدمتين وقارن قيم المقبس المُكوّنة لكل منهما:
قد تختلف مجموعة المفاتيح الموجودة باختلاف الإصدار. في التكوين الأساسي الكلاسيكي، search_enabled = yesيُفعّل البحث النصي الكامل في قاعدة البيانات server.cfg؛ search_socketويُحدد للخادم مكان الاتصال بخدمة البحث. تشير إعدادات خدمة البحث server_socketإلى خادم Kopano. قد يؤدي عدم التطابق، أو فقدان منفذ الاتصال، أو توقف الخادم إلى أخطاء في الاتصال تبدو وكأنها عطل في البحث. يمكن للخادم اللجوء إلى البحث المباشر في قاعدة البيانات أثناء عدم توفر منفذ البحث، ولكن لا يُستعاد فهرسة النص الكامل إلا بعد عودة خدمة البحث إلى وضعها الطبيعي.
استخدم سجل الخدمة لتحديد فئة العطل. يتم عرض الأمر والتذكير للتوضيح فقط؛ وتعتمد المخرجات على إعدادات التسجيل لديك.
3. مطابقة حزم بايثون مع إصدار كوبانو
kopano-searchيستخدم هذا البرنامج روابط بايثون الخاصة بـ Kopano ومكونات MAPI الأصلية. ImportErrorقد يظهر خطأ في تحميل وحدة نمطية أو مكتبة مشتركة مفقودة بعد ترقية جزئية، أو تغيير في المستودع، أو تثبيت حزمة بايثون يدويًا. سجّل الحزم المثبتة والمفسر المستخدم من قِبل الملف التنفيذي المُضمّن.
الأمر الثاني مفيد فقط إذا kopano-searchكان موجودًا في مسار الصدفة الحالية. قارن هذه التفاصيل مع مستودع حزمة Kopano وتعليمات التثبيت الخاصة بها. إذا كان الخادم مُدارًا باستخدام RPM أو الحاويات أو جهاز من مُورّد، فاستخدم أدوات إدارة الحزم الخاصة بتلك المنصة بدلًا من أوامر Debian المذكورة أعلاه.
لا تقم بإصلاح خادم Kopano المُجمّع عن طريق تشغيله sudo pip installفي بيئة Python الخاصة بالنظام. تتضمن Python-MAPI مكونات أصلية، وقد يؤدي دمجها مع حزم Python غير ذات صلة إلى عثور المُفسّر على وحدات غير متوافقة. استعد أو أعد تثبيت حزم Kopano المطابقة من نفس المستودع الموثوق، ثم أعد تشغيل الخدمة وتحقق من السجل مرة أخرى. إذا تمت ترقية الجهاز عبر إصدارات نظام التشغيل، فتأكد من أن مستودع Kopano يدعم هذا التوافق بين نظام التشغيل وPython قبل محاولة إعادة تثبيت الحزمة.
4. تحقق من الأذونات والمساحة الحرة وتحليل المرفقات
استبدل دليل الفهرس المذكور في المثال بالقيمة الموجودة في إعداداتك. تشير أخطاء مثل "تم رفض الإذن" أو "لا توجد مساحة كافية" أو فشل إنشاء ملف مؤقت إلى مشكلة في الوصول إلى وحدة التخزين، وليس إلى عطل عام في بايثون. استعد المالك والأذونات المقصودة باستخدام الإعدادات الافتراضية الموثقة لحزمة خادمك؛ ولا تُغير ملكية الملفات بشكل متكرر /var/lib/kopanoدون التحقق من الخدمات الأخرى التي تستخدمها.
إذا أشارت نتائج التتبع أو التوقيت إلى استخراج المرفقات، فتحقق مما إذا كان index_attachments = yesيتم فحص index_attachment_parserقاعدة بيانات المحلل اللغوي والأدوات الخارجية التي يستدعيها. يشرح دليل Kopano أن محتويات المرفقات تُحوّل إلى نص بواسطة برنامج نصي مُهيأ، وأنه يمكن ضبط حدود حجم المرفقات والذاكرة ووحدة المعالجة المركزية. كإجراء تشخيصي، يمكنك index_attachments = noتعطيل البحث داخل محتويات المرفقات مؤقتًا، ثم إعادة تشغيل الخدمة، ومراقبة ما إذا كان العطل سيتوقف. هذا لا يعطل فهرسة نص الرسالة. إذا اختفى العطل، فأصلح المحلل اللغوي أو التبعية المحددة قبل إعادة تفعيل فهرسة المرفقات.
يوضح مثال التكوين مسار الفهرس وإعدادات المرفقات. راجع دليل التثبيت والملف الحالي قبل تغيير أي من القيمتين.
5. أعد بناء فهرس المتجر المتأثر فقط عندما تشير السجلات إلى تلف الفهرس
إعادة الفهرسة حل مناسب عندما تبدأ الخدمة بشكل صحيح ولكنها تفشل بشكل متكرر أثناء فتح أو تحديث فهرس متجر معين، أو عندما تُشير سجلات Kopano إلى أن هذا الفهرس تحديدًا تالف. وهي ليست الحل الأول لمشكلة خطأ استيراد في بايثون، أو عدم توافق في المقابس، أو امتلاء القرص.
ينص دليل إدارة Kopano على ضرورة التوقف kopano-searchقبل حذف ملف فهرس أي متجر. كما يشير إلى وجود ملف حالة في دليل الفهرس، لذا لا تقم بحذف الدليل بأكمله أو جميع فهارس المستخدمين كإجراء إصلاح روتيني. أولًا، قم بعمل نسخة احتياطية من ملف الفهرس ذي الصلة، وتأكد من هوية المستخدم أو المتجر ومساره. إذا كان إصدارك المحلي يدعم man kopano-searchخيار إعادة --reindexالفهرسة، فاستخدم الصيغة المدعومة من الحزمة لإعادة بناء متجر واحد؛ إذ يختلف تنسيق الخيار بين الإصدارات المؤرشفة. على سبيل المثال، يوثق دليل Ubuntu Focal خيار إعادة فهرسة مُستهدف، ويشير إلى ضرورة تشغيل البرنامج الخفي مسبقًا.
قد تستهلك عملية إعادة بناء شاملة موارد القرص والمعالج، وقد تكون نتائج البحث غير مكتملة ريثما تتم عملية الفهرسة. إذا لم تكن متأكدًا من ملف التخزين المتأثر، فتوقف قبل حذف أي شيء، واجمع سجل الخدمة، وإصدارات الحزم، والإعدادات المُكوّنة، وقدّمها index_pathإلى مسؤول Kopano أو إلى قناة الدعم.
تعتمد صيغة إعادة الفهرسة على إصدار Kopano المُثبّت. استخدم الدليل المحلي واستهدف مخزنًا واحدًا مؤكدًا بدلاً من حذف دليل الفهرس بالكامل.
لتثبيت SysV، استخدم أمر الخدمة الموثق في تلك الحزمة. تأكد من بقاء العملية نشطة، وعدم تكرار نفس الخطأ، وظهور منفذ البحث بعد الفهرسة الأولية. يُشير كوبانو إلى أنه قد لا يتم إنشاء المنفذ إلا بعد بناء الفهرس الأولي. اختبر بحثًا عاديًا في البريد، وإذا كانت فهرسة المرفقات مُفعّلة، فاختبر مرفقًا معروفًا فقط بعد إصلاح المُحلل.
دليل التشخيص السريع
تسجيل الأعراض
التحقق الأول
بايثون ImportErrorأو وحدة مفقودة
إصدارات الحزمة وربط بايثون؛ التراجع عن مصادر الحزم المختلطة
تم رفض الاتصال أو أن المقبس مفقود
kopano-serverالحالة وتكوين المقبس المطابق
خطأ في الأذونات أو القرص
تم تكوين مسارات السجلات والملفات المؤقتة والفهارس؛ المساحة الحرة وإمكانية وصول مستخدم الخدمة
يحدث عطل في أحد الملحقات
أمر محلل المرفقات، وتوابع المحلل، وحدود الحجم
فشل متكرر في فتح مؤشر المتاجر
قم بعمل نسخة احتياطية وإعادة فهرسة المتجر المؤكد فقط باستخدام صيغة الإصدار المحلي
أفضل حل موثوق هو اتباع الخطأ المُسجل في السجل: إصلاح بيئة الحزمة في حالة فشل استيراد بايثون، واستعادة المقبس الصحيح في حالة فشل الاتصال، وإصلاح المسار أو المحلل اللغوي المحدد في حالة أخطاء الوصول والاستخراج، وإعادة فهرسة البيانات فقط عندما تشير الأدلة إلى تلف بيانات الفهرس. تغطي أدلة Kopano المتاحة إصدارات Core القديمة، لذا يُنصح باستخدامها جنبًا إلى جنب مع دليل الحزمة نفسه بدلًا من افتراض أن جميع عمليات النشر الحالية تستخدم نفس مدير الخدمة أو صيغة الخيارات.