إذا كنت تستخدم makepkgمباشرة ، فإنها تلوث نظامك إلى حد ما. و base-develيجب أن يتم تثبيت مجموعة الحزمة. بهذه الطريقة ، بشكل افتراضي ، تبقى التبعيات المطلوبة فقط لبناء الحزمة ، ولكن ليست ضرورية لاستخدامها ، مثبتة. يمكن تغيير هذا السلوك الافتراضي ، ولكن هذا ينطوي على تثبيت وإلغاء تثبيت الحزم وتلويث /var/log/pacman.log.
الرجوع إلى هذه المقالة لفهم واستخدام AUR بشكل عام ، بما في ذلك الحصول على PKGBUILD. يعرض هذا المستند فقط الخطوات الخاصة بـ makepkg، إذا كانت هذه هي الطريقة التي تختارها لتجميع الحزمة.
ترجمة باستخدام Makepkg
إذا base-develلم تكن مجموعة الحزمة مثبتة بالفعل ، فأنت بحاجة إلى تثبيتها. إذا لم تقم بذلك ، makepkgفستفترض أنها مثبتة بالفعل ، وإذا كانت هناك حزمة مطلوبة ولكنها غير مثبتة ، فسوف تفشل ببساطة بدلاً من تثبيتها لك. makepkgنفسها جزء من pacmanالحزمة ، مثبتة بالفعل.
# pacman -S base-devel
تحتاج إلى تشغيل makepkgفي الدليل باستخدام PKGBUILDالدليل الذي تم إجراؤه بواسطة git clone. افتراضيًا ، سيتم تنزيل شفرة المصدر الفعلية وتجميع الحزمة وتثبيتها.
هناك العديد من الخيارات makepkg، بما في ذلك الخيارات شائعة الاستخدام:
-s, --syncdeps : تثبيت التبعيات المفقودة تلقائيًا المطلوبة لإنشاء الحزمة واستخدامها.
- لاحظ ما إذا كانت
PKGBUILDتعتمد على حزم AUR ، فأنت بحاجة إلى تثبيتها أولاً ، أو جعلها متوفرة في مستودع محلي خاص بك حتى تتمكن من العثور عليها.
-r, --rmdeps : في حالة البناء بنجاح ، قم بإلغاء تثبيت التبعيات التي لم تعد هناك حاجة إليها تلقائيًا ، بما في ذلك ما يلي:
- هي المطلوبة لبناء ولكن لا تستخدم الحزمة.
- إذا تم استخدامها بدون
--installالخيار ، فإن تلك المطلوبة لاستخدام الحزمة.
-i, --install : إذا تم إنشاء الحزمة بنجاح ، فقم بتثبيت / ترقية الحزمة تلقائيًا.
-c, --clean : حذف ملفات الإنشاء المؤقتة تلقائيًا ، والتي تكون مطلوبة عادةً فقط عند تصحيح أخطاء البناء الذي حدث خطأ.
لتثبيت / ترقية الحزمة تلقائيًا ، اترك التبعيات مثبتة لاستخدام الحزمة ، وإزالة التبعيات المطلوبة فقط أثناء البناء ، قم بتشغيل:
# makepkg -sri
بدلاً من ذلك ، يمكنك اختيار عدم تثبيته تلقائيًا ، وترك كل التبعيات مثبتة ، لذلك إذا قمت بترقية ترقية في يوم من الأيام ، فهي مثبتة بالفعل:
# makepkg -s
يمكنك بعد ذلك إما استخدام مستودع محلي كما هو موضح هنا ، أو تثبيت الملف مباشرة:
# pacman -U <PKGNAME>-<PKGVER>-<PKGREL>-<ARCH>.pkg.tar.xz
حزمة أسرع
بشكل افتراضي ، makepkgيدمج الحزمة بأكملها في تنسيق أرشيف ؛ عمل .tar.xzملف باستخدام خيط واحد xzللضغط.
في أنظمة وحدة المعالجة المركزية المتعددة ، يمكنك السماح xzباستخدام سلاسل رسائل متعددة من خلال التحرير /etc/makepkg.confوتغيير السطر التالي:
COMPRESSXZ=(xz -c -z -)
يمكنك السماح بعدد سلاسل المحادثات التي لديك نوى افتراضية:
COMPRESSXZ=(xz -c -z - --threads=0)
للسماح باستخدام نوى افتراضية متعددة ، ولكن ليس جميعها ، مثل تقليل التأثير على الأداء العام للنظام ، قم بإضافة رقم محدد ، مثل ما يلي:
COMPRESSXZ=(xz -c -z - --threads=21)
ملاحظة: سيؤدي تحديد سلاسل رسائل أكثر من عدد المراكز الافتراضية لديك إلى تقليل الأداء.
إذا كنت لا تمانع في أن يكون حجم ملف الحزمة أكبر (من المحتمل) كثيرًا ، فقم بتعطيل الضغط عن طريق التحرير /etc/makepkg.conf، وقم بتغيير السطر التالي:
PKGEXT='.pkg.tar.xz'
يجب أن تبدو كما يلي:
PKGEXT='.pkg.tar'
تخطي التحقق من توقيع PGP
يوصى بالتحقق بشكل صحيح من أي توقيعات PGP وإضافتها ، كما هو موضح هنا في القسم "خطأ توقيع PGP".
ومع ذلك ، إذا كنت تعمل makepkgبشكل مباشر ، يمكنك منحه --skippgpcheckخيار تخطي التحقق من توقيع PGP.