Archlinux: إنشاء حزم عبر الأنظمة الأساسية ومن حزم .deb

منذ حوالي عام شرحت كيف إنشاء حزم لـ Archlinux. حسنًا ، سأشرح اليوم كيفية إنشائها من الحزم . DEB، تلك المستخدمة في Debian / Mint / Ubuntu / إلخ.
نشأت هذه المقالة بعد قراءة سؤال من المستخدم في المنتدى jorgegc لأنني لم أتمكن من تثبيت حزمة من AUR ، ويرجع ذلك أساسًا إلى أنها قديمة وتستخدم إصدارًا توقف من PKGBUILD (لحسن الحظ أنني صنعت حزمًا بهذه الطريقة سابقًا) ، سأشرح أيضًا كيفية عمل حزم البرامج التي تحتاج مكتبات 32 بتمن كود مغلق o جمعت بالفعل وأنه يحتوي على حزم مختلفة للتنزيل.

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


if [ "${CARCH}" = 'x86_64' ]; then
ARCH='amd64'
md5sums=('192a0a222893d59d95f00c34f3c8a674')
depends=('openal' 'lib32-openal')
elif [ "${CARCH}" = 'i686' ]; then
ARCH='i386'
md5sums=('047c670443124193c5cc3dd54da99925')
depends=('openal')
fi
source=("http://www.unaurl.com/files/${name}.$ARCH.deb")

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

عند استخدام makepkg -g لإنشاء ملف MD5sums سيؤدي هذا فقط إلى إنشاء البنية المقابلة للهندسة التي تستخدمها. لمعرفة مجموع MD5 للحزمة الأخرى ، قم بتنزيله واستخدم الأمر md5sum file.deb لتعرف لك

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

الآن بالنسبة لحزم .deb ، سنحتاج فقط إلى الأسطر التالية داخل الوظيفة صفقة ():

cd "${srcdir}/"
tar xvzf data.tar.gz -C .
cp -r usr ${pkgdir}

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

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

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


اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها ب *

*

*

  1. المسؤول عن البيانات: ميغيل أنخيل جاتون
  2. الغرض من البيانات: التحكم في الرسائل الاقتحامية ، وإدارة التعليقات.
  3. الشرعية: موافقتك
  4. توصيل البيانات: لن يتم إرسال البيانات إلى أطراف ثالثة إلا بموجب التزام قانوني.
  5. تخزين البيانات: قاعدة البيانات التي تستضيفها شركة Occentus Networks (الاتحاد الأوروبي)
  6. الحقوق: يمكنك في أي وقت تقييد معلوماتك واستعادتها وحذفها.

  1.   القرحة قال

    أليس من الأسهل استخدام checkinstall؟

  2.   لوسيانو لاغاسا قال

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

    1.    jorgecg قال

      بالطبع يهمني ... على الأقل بالنسبة لي.

      الآن بعد أن أصبحت مع Manjaro ، أقدر كل المعلومات الممكنة.

  3.   jorgecg قال

    كم أنت رائع يا شريك.

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

    هذا يدل على أنك شخص كريم.

    قلت ، أنت صدع.

    تحيات

  4.   انيبال قال

    إنه صديق رائع ، بمجرد أن جربت استخدامًا بسيطًا لا أتذكر الاسم الذي تم تحويله من .deb إلى .rpm ، لكنه لم يعمل جيدًا بالنسبة لي.

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

    http://www.justcloud.com/download/linux-64

    إنه للنسخ الاحتياطي في السحابة ، لقد دفعت بالفعل لفترة من الوقت ولدي أكثر من 40 غيغابايت في السحابة =)

  5.   انسبايرون قال

    عظيم! لطالما قلت لنفسي أنني في يوم من الأيام أريد أن أصنع حزمة ، حتى لو كنت أعرف كيف أفعل ذلك :).

    في هذه الأنواع من المنشورات ، سأكون ممتنًا لخيار إضافة إدخالات مثل هذه في "المفضلة" في حسابي.

    1.    تشينولوكو قال

      أوافق تمامًا ، لقد زرعته ، لكن لا شيء
      سيكون من الجيد أيضًا أن تكون قادرًا على متابعة مستخدمين معينين

  6.   ربّا قال

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

  7.   ميتكويس قال

    لمعرفة ما إذا كان شخص ما يجرؤ على وضع AUR Multisystem

    يعتمد على مكتبات deb غير الموجودة في القوس

    ولكن إذا نجحت ، فإن وظيفتها هي إنشاء عدة pendrives ISO مع grub2 أفضل من unetbootin الذي يصنع واحدًا فقط.

    في الوقت الحالي ، لديّ ubuntu ISO بداخلها يسمح لي بإضافة الصور إذا أردت عن طريق التمهيد منه على USB نفسه

    ولكن إذا لم يجرؤ أحد على حفظ تذكرتي

  8.   ميتكويس قال

    عذرا ، يوجد بالفعل نظام متعدد ، ولا أعتقد ذلك

    1.    ميتكويس قال

      في أنظمة متعددة ...

      لكن فاتريسيز لأن يورت تسبب مشاكل ، وقد وضعوها على أنها اختيارية

  9.   ماركوس قال

    عظيم 😀 الموافقة مع "Purrr" على برنامج لإعادة تسمية الملفات بكميات كبيرة.

  10.   أبريل 4xas قال

    التحيات،

    حاليًا في AUR يقومون بإزالة الحزم التي لا تحتوي على وظيفة package () ، كيف يمكنني معرفة الأسطر التي يجب وضعها هناك؟ وهذا يعني أن لدي العديد من الحزم وقمت بذلك بهذه الطريقة ولكني لا أعرف ما إذا كان الأمر على ما يرام https://github.com/abr4xas/Arch-pkgbuild/blob/master/%20django-admin-honeypot/PKGBUILD ما فعلته حقًا هو تمرير ما كان في الإصدار () إلى الحزمة () ولكن كما قلت ، لا أعرف ما إذا كان الأمر جيدًا ... هل يمكنك إعطائي تعليقاتك واقتراحاتك؟

    شكرا 😀

  11.   عزازيل قال

    شكرًا على المعلومات التي سأحفظها للرجوع إليها في المستقبل.

  12.   كلرافيل قال

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

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

    1.    غيرمين قال

      نفس الشيء حصل لي؛ أحتاج إلى تثبيت Kademar الذي يعتمد على Arch ؛ زوجان من الحزم التي أحصل عليها فقط في .deb
      هل يستطيع احد مساعدتي؟

      1.    فالدو قال

        إذا كان ما تقصده هو فشل في تثبيت deb2targz ، فقد انتهيت للتو من تثبيته باستخدام الأمر yaourt -S deb2targz. بالطبع ، في ArchLinux.

  13.   التخزين السحابي المجاني قال

    وظيفة مفيدة للغاية. شكرا للمشاركة.

  14.   الطيورالغاضبة قال

    وظيفة جيدة. شكرا لك لمشاركتك هذه المعلومة المفيدة.

  15.   تطبيقات للكمبيوتر الشخصي قال

    شكرا على هذا المنشور المفيد. سوف يساعد كثيرا

  16.   يعقوب قال

    مرحبا هل يمكنك ترك السكربت للتحويل وكيفية استخدامه؟ إنه في بعض الأجزاء يربك قليلاً ، لدي بالفعل deb الذي أريد تحويله وأعلم أنه ممكن لأن google chrome الخاص بـ AUR هو deb ولكني لا أعرف كيف أجعل "MAKEPKG SI" مع deb آخر