ما هو AUR في Arch Linux، وهل يجب عليك استخدامه؟

النقاط الرئيسية

يحتوي مستودع Arch Linux AUR على برامج مدفوعة من قبل المجتمع ويمكن استخدامها بأمان إذا اتخذت بعض الاحتياطات البسيطة. حتى إذا كنت لا تفهم برمجة shell، فهناك مؤشرات يمكنك استخدامها للحكم على ما إذا كانت الحزمة آمنة أم لا.



يعد AUR أحد الجواهر الموجودة في تاج Arch Linux، حيث يوفر آلاف الحزم البرمجية الإضافية. ولكن هل من الآمن استخدام هذا المستودع الذي يوجهه المستخدم، أم يجب عليك تجنبه؟


ما هو AUR؟

الـ AUR (مستودع مستخدمي Arch) هو مستودع برامج مدفوع من المجتمع يوفر ما يزيد عن 85000 حزمة برامج لمستخدمي Arch Linux. وعلى عكس مستودعات Arch الأخرى مثل المستودعات الأساسية والإضافية والمكتبات المتعددة، لا يستضيف AUR حزمًا جاهزة للتثبيت. في الواقع، لا يستضيف ملفات ثنائية أو برامج مجمعة على الإطلاق.

تستضيف AUR ملفات بناء الحزمة، والتي تسمى PKGBUILDs. وهي عبارة عن نصوص برمجية يتم تشغيلها بواسطة Arch makepkg أداة. عندما makepkg عند تشغيله، يبحث عن ملف يسمى “PKGBUILD”. إذا وجد ملفًا، فإنه يفتحه ويتبع الإرشادات الموجودة بداخله لإنشاء أرشيف حزمة برامج على جهاز الكمبيوتر الخاص بك. إذا كنت معتادًا على التجميع على سطر الأوامر، فإن ملف PKGBUILD و makepkg العمل معًا بطريقة مماثلة لملف MAKEFILE و make جدوى.


تقوم تعليمات PKGBUILD بتنزيل ملفات التعليمات البرمجية المصدرية والملفات الأخرى المطلوبة لإنشاء أرشيف الحزمة. pacman يتم استدعاء الأداة تلقائيًا لتثبيت البرنامج من أرشيف الحزمة.

على الرغم من خطر إثارة بعض الارتباك، فإن بعض حزم AUR تقدم ملفات ثنائية مجمعة مسبقًا. ولكن هذه الملفات الثنائية لا يتم استضافتها في AUR، بل يتم تخزينها في مكان آخر على الإنترنت. يحتوي إدخال AUR لهذه الحزم فقط على ملف PKGBUILD الذي يقوم بتنزيل الملف الثنائي المجمع مسبقًا على جهاز الكمبيوتر الخاص بك.

ذات صلة: Arch Linux مقابل Ubuntu: أيهما يجب عليك استخدامه؟

يسمح AUR لأي شخص بإنشاء PKGBUILD لقطعة من البرامج التي يرغب في إتاحتها لمستخدمي Arch الآخرين. يمكن أن تكون هذه حزمًا مفتوحة المصدر أو مغلقة المصدر، أو حتى برامج تجارية. يمكن ترقية حزم AUR التي تحصل على أصوات كافية من المستخدمين إلى مستودع Arch عادي يسمى مستودع المجتمع.


تصبح المشكلة مع AUR واضحة عندما تلخصها في الأساسيات. إنها عبارة عن مجموعة من البرامج النصية من مستخدمين عشوائيين عبر الإنترنت. ويريدون منك تشغيلها على جهاز الكمبيوتر الخاص بك.

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

ذات صلة: كيفية تحديث Arch Linux

مخاطر استخدام AUR

إنه أمر نادر الحدوث للغاية، ولكن في بعض الأحيان تتسرب بعض الأشياء عبر الشبكة، على الرغم من اجتهاد المستخدمين الموثوق بهم. في عام 2015، برنامج فالفبخار نص تم مسح دليل منزلك إذا قمت مسبقًا بنقل دليل Steam إلى موقع جديد.

كان الحادث الأكثر شرًا في عام 2005، عندما استولى مسؤول صيانة جديد على حزمة AUR يتيمة وأضافها عمدًا كود ضار لملف PKGBUILDهذه الأمثلة قديمة وغير شائعة، ولكن نفس الأشياء قد تحدث مرة أخرى.


بالطبع، إذا كنت ماهرًا بدرجة كافية، فيمكنك مراجعة محتويات ملف PKGBUILD بنفسك. هذه الشفافية هي إحدى نقاط قوة AUR، لكنها تتطلب معرفة كافية بالبرمجة النصية للاستفادة منها. وهذا لا يغطي سوى ملف PKGBUILD نفسه. إذا كان يسحب كمية كبيرة من كود مصدر التطبيق، فيجب فحص ذلك أيضًا من الناحية النظرية.

ذات صلة: لماذا انتقلت من Manjaro Linux إلى EndeavourOS

هناك مخاطر أخرى في استخدام AUR تتعلق بالتوزيعات. فليست كل التوزيعات القائمة على Arch تشبه Arch بدرجة كافية لكي يعمل AUR دون أي عيب. يفترض AUR أنه يتم تثبيته على Arch Linux الأصلي، وإصدار كامل التصحيحات والتحديثات. على سبيل المثال، Manjaro، لا يدعم AUR رسميًا على الرغم من أنه يعتمد على Arch.

ولكن، نظراً لأن التوزيع الخاص بك يدعم AUR، فماذا يمكنك أن تفعل للتأكد من أنك تستخدمه بأمان قدر الإمكان، سواء كنت تفهم كود المصدر ونصوص shell أم لا؟


سلامة AUR: تحقق من تفاصيل الحزمة والسمعة

حتى بدون مراجعات الكود، هناك خطوات يمكنك اتخاذها لمساعدتك في تحديد ما إذا كان بإمكانك الوثوق بحزمة AUR.

ابحث عن الحزمة الخاصة بك على AUR

توجد صفحة في AUR لكل حزمة. تصف صفحة الويب الخاصة بالحزمة الحزمة، وما هي التبعيات التي تمتلكها، والحزم التي تعتمد عليها، وغير ذلك من المعلومات المفيدة. ابدأ تحقيقك من خلال الذهاب إلى AUR والبحث عن الحزمة الخاصة بك.

شريط البحث على موقع AUR

ما هي سمعتها؟

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


تفاصيل حزمة AUR لباقات ayya، مع إبراز أرقام الأصوات والشعبية

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

التحقق من تواريخ النشاط

في قسم “تفاصيل الحزمة”، سترى الأصوات التي حصلت عليها الحزمة، ودرجة شعبيتها، وتاريخين. الأول هو تاريخ تقديم الحزمة لأول مرة إلى AUR والثاني هو تاريخ آخر تحديث للحزمة.

تفاصيل حزمة AUR لحزم الآية، مع إبراز تاريخ الإرسال الأول وتاريخ التحديث الأخير


سيخبرك تاريخ “آخر تحديث” ما إذا كانت الحزمة قيد الصيانة النشطة أم لا. يجب التعامل بحذر مع الحزم التي ظلت خاملة لفترة طويلة.

هل عنوان URL العلوي هو موقع صالح؟

تحقق أيضًا من “عنوان URL العلوي” وتأكد من أنه يؤدي إلى صفحة ويب صالحة أو مستودع أكواد للحزمة أو المشروع. إذا لم يحدث ذلك، فهناك خطأ ما.

تفاصيل حزمة AUR لحزم ayya، مع إبراز عنوان URL الأصلي

توجد تعليقات المستخدمين أسفل كل صفحة من صفحات AUR. ويمكن أن تمتد هذه التعليقات إلى عدة صفحات. راجع ما يقوله المستخدمون الآخرون عن الحزمة، وما نوع الأسئلة التي يطرحونها. راجع أيضًا الحلول المقدمة للمشكلات التي يتم طرحها. هل هناك أي تعليقات حديثة؟ هل لا تزال هذه الحزمة لديها قاعدة مستخدمين نشطة؟


التسجيل والمشاركة

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

حتى لو كنت لا تفهم نصوص shell، لا يزال هناك عدد من الأشياء التي يمكنك التحقق منها.

التحقق من محتويات PKGBUILD والملفات الأخرى

الطريقة الشائعة للوصول إلى AUR هي استخدام سطر الأوامر “مساعد AUR” مثل yayولكن يمكنك أيضًا استخدام AUR بطريقة يدوية عملية.

تتيح لك أدوات AUR المساعدة الجيدة خيار فحص ملف PKGBUILD، وإيقاف التثبيت إذا كنت لا ترغب في المتابعة. في العملية اليدوية، يمكنك البحث عن الحزمة على AUR وتنزيل ملف PKGBUILD وفحصه قبل استخدامه. إذا كنت سعيدًا بالمتابعة بعد مراجعته، فقم بتشغيل makepkg يدويًا.

من الجيد تثبيت حزمة واحدة على الأقل يدويًا، حتى تعرف آلية عمل مساعد AUR في الخلفية. سنستخدم ياي مساعد AUR كمثال.


تم تقديم الحزمة لأول مرة في عام 2016 وتم تحديثها آخر مرة في مايو 2023. في وقت كتابة هذا التقرير، كان هذا تحديثًا حديثًا للغاية. ومن الجدير بالملاحظة أيضًا أن مقدم الحزمة الأصلي، والمشرف الحالي، والشخص الأخير الذي قام بتعبئة البرنامج، هم نفس الشخص. هذه الاستمرارية هي علامة جيدة.

انقر فوق رابط URL “Git Clone URL” الموجود في قسم “تفاصيل الحزمة” لنسخه إلى الحافظة.

في نافذة المحطة الطرفية، اكتب “git clone” ثم اضغط على Shift+Ctrl+V للصق عنوان URL في سطر الأوامر. اضغط على Enter لبدء التنزيل.

git clone 

استنساخ ملف PKGBUILD الرائع من مستودع git الخاص به


عند اكتمال التنزيل، انتقل إلى الدليل الجديد “yay”.

cd yay

تغيير المجلد إلى مجلد yay.

دعونا نرى ما هي الملفات التي لدينا.

ls

إدراج الملفات المسترجعة باستخدام ls

يوجد ملف واحد، وهو ملف PKGBUILD. غالبًا ما يكون هناك ملف أو ملفان مساعدان إضافيان. ابحث فيهما أيضًا. سنستخدم less لقراءة ملفنا الفردي.

less PKGBUILD

بدء تشغيل عارض الملفات الأقل لفتح ملف PKGBUILD الرائع


ما هي عناوين URL التي يستخدمها ملف PKGBUILD؟

سيعمل ملف PKGBUILD جيد التكوين والذي يتبع الاتفاقيات على إنشاء متغيرات لحمل عناوين URL التي يستخدمها. وهذا يمنحنا قائمة مرتبة في أعلى الملف بعناوين URL التي سيشير إليها ملف PKGBUILD. وفي هذه الحالة، يوجد واحد فقط.

بدء تشغيل عارض الملفات الأقل لفتح ملف PKGBUILD الرائع

يمكننا أن نرى أنه يشير إلى صفحة GitHub لـ yay مشروع.

صفحة GitHub مملوكة لمستخدم يحمل نفس اسم المشرف الذي تم إدراجه في صفحة AUR لهذه الحزمة. وهذان مؤشران جيدان على أن هذه الحزمة آمنة.

ولكننا سنستمر وننظر بشكل أعمق قليلا.

ابحث عن أوامر التنزيل

استخدم less ميزة البحث للبحث في الملف عن استخدامات wget أو curlيمكن استخدام كلتا الأداتين لاسترداد الملفات البعيدة. لا ينبغي أن يحتاج برنامج PKGBUILD الذي يعمل بشكل جيد إلى مثل هذا النشاط.


إذا وجدت أي حالات، تعامل معها باعتبارها علامة تحذيرية ولا تقم بتثبيت الحزمة حتى تتأكد من أنها آمنة. ما هو عنوان URL الذي يحتوي على wget أو curl هل الأوامر تشير إلى شيء ما؟ هل تبدو شرعية ومرتبطة بالحزمة؟

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

ابحث عن rm وmv والأوامر الخطيرة الأخرى

وبالمثل، ليست هناك حاجة لملف PKGBUILD ليحتوي على rm أو mv لا ينبغي أن تكون هناك حاجة إلى الإشارة إلى أي شيء في الدليل “/dev”. إذا كان PKGBUILD يستدعي مباشرة pacmanأو يذكر systemctl, systemdأو أي مكون حيوي آخر للنظام مثل grubتعامل مع ملف PKGBUILD باعتباره ملفًا خطيرًا ولا تقم بتشغيله.

يمكنك تنفيذ الخطوات التي استخدمناها حتى الآن حتى لو لم تتمكن من قراءة نصوص shell. إذا كنت تعرف بعض نصوص shell، فيمكنك مراجعة الكود الفعلي في PKGBUILD.


كن حذرا من الكود المبهم

غالبًا ما يحاول الأشخاص الذين يكتبون أكوادًا ضارة إخفاء نواياهم من خلال تعتيمها. فهم يستخدمون قواعد نحوية بسيطة وموجزة وغير قابلة للاختراق، لذا فمن الصعب فهم ما يحاولون فعله. إذا رأيت أي أسطر تستخدم إعادة التوجيه أو استدعاء sed أو awk تعامل معهم على أنهم مشبوهون.

نسخ تلك الأسطر وإسقاطها في محلل عبر الإنترنت مثل شرح شيل.كوم سوف أقوم بفك ضغطها حتى تتمكن من رؤية ما تفعله بالفعل. إذا واجهتك فوضى كثيفة من الأقواس والفاصلات المنقوطة وعلامات الترقيم، فمن الجدير استخدام محلل عبر الإنترنت للتحقق مرة أخرى من أنك قد فسرت بشكل صحيح ما يحاول السطر القيام به. ولكن بشكل عام، فإن صعوبة قراءة الكود هي علامة تحذير.

يجب أن يكون منزلك هو قلعتك

تتم عمليات التجميع والبناء لـ PKGBUILD في chroot بيئة.

هذه عبارة عن أنظمة ملفات صغيرة معزولة تتيح للمطورين وضع العمليات في بيئة معزولة عن طريق تقييد وصولهم إلى بقية نظام الملفات في الكمبيوتر، وتقليل وصولهم إلى أوامر النظام الأخرى.


إذا كان PKGBUILD يتلاعب مباشرة بدليل منزلك، فتعامل مع ذلك باعتباره علامة تحذير. تأكد من فهمك الكامل لما يفعله قبل أن تقرر تشغيله.

يمكنك مساعدة مستخدمي AUR الآخرين

مع الحزم الشائعة للغاية، من المرجح جدًا أن تكون آمنًا. نظرًا للعدد الكبير من المستخدمين، يتم اكتشاف المشكلات والإبلاغ عنها بشكل أسرع. يمكنك القيام بدورك من خلال الإبلاغ عن أي مشكلات تجدها، والتصويت لصالح الحزم الجيدة لتحسين سمعتها.

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

عادةً ما يتوفر لدى Linux العديد من الطرق لتسليخ أي قطة معينة.

ذات صلة: كيفية تثبيت Arch Linux من واجهة المستخدم الرسومية

أضف تعليق