كيفية توزيع برنامجنا على Ubuntu والتوزيعات الأخرى

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

هذه الطريقة عندما يكون لدينا الكود المصدري للتطبيق.

أولاً نقوم بتثبيت البرنامج الذي يفعل السحر "Checkinstall"، في محطة ننفذها

سودو الكفاءة تثبيت الاختيار التثبيت

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

tar -xzvf lame-3.98.4.tar.gz cd lame-3.98.4 ./configure make checkinstall cp * .deb ../ cd .. rm -R lame-3.98.4 chmod 777 lame-3.98.4 *. ديب

تُنشئ الحزمة deb لنا ، وتثبت هذه الطريقة الحزمة المُنشأة في النهاية.

حزمة DEB اليدوية (فقط لدبيان والمشتقات)

هذه الطريقة مخصصة للبرامج النصية أو التطبيقات المترجمة مسبقًا الخاصة بنا

هيكل حزمة DEB

| الإعداد (مجلد عام) | | -DEBIAN (المجلد الذي توجد به ملفات التكوين) | - التحكم (ملف التكوين) | --preinst (ملف أو برنامج نصي يتم تشغيله قبل التثبيت) | --postinst (ملف أو برنامج نصي يتم تشغيله بعد التثبيت) | --prerm ( ملف أو برنامج نصي للتشغيل قبل إلغاء التثبيت) | --postrm (ملف أو برنامج نصي للتشغيل بعد إلغاء التثبيت) | | -usr (المجلد الذي توجد به ملفات التطبيق الخاص بك) | -usr / bin (المجلد حيث توجد الثنائيات أو البرامج النصية) | -usr / share / pixmaps (المجلد حيث توجد الرموز) | -usr / share / applications (المجلد حيث توجد قاذفات)

مثال على ملف «التحكم»

الحزمة: TUPACKAGE الإصدار: VERSION Architecture: amd64 (i386 or all) المشرف: قسم المؤلف: أولوية الشريك / الويب: اختياري الوصف: TEXT

إنشاء حزمة DEB

sudo chmod -R root: إعداد الجذر / sudo chmod -R 755 setup / sudo dpkg -b setup / package.deb chmod 777 package.deb chown -R setup

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

نقوم بإنشاء مجلد باسم «ubunlog» وضمن هذا الاسم الآخر يثبت
ثم داخل المجلد الأخير ، قمنا بإنشاء مجلدين أحدهما بالاسم "ديبيان" وآخر «البيرة».

هذا هو ملف التحكم

صفقة: ubunlog-web
Version: 0.11.5.13
Architecture: all
Maintainer: TU NOMBRE
Section: partner/web
Priority: optional
Description: Tutoriales, escritorios linuxeros,software,noticias y todo sobre Ubuntu

نحتفظ به داخل المجلد "ديبيان" التي أنشأناها من قبل كـ «تحكم»

هذا الرمز من ملف postinst

#!/bin/sh
chmod 755 /usr/bin/ubunlog-web
chmod +x /usr/bin/ubunlog-web
chmod 755 /usr/share/pixmaps/ubunlog-web.png
chmod 755 /usr/share/applications/ubunlog-web.desktop
chmod +x /usr/share/applications/ubunlog-web.desktop

نحفظ هذا في نفس المجلد كما كان من قبل باسم "postinst"

نقوم الآن بإنشاء مجلدات للبرنامج النصي والمشغل والأيقونة داخل المجلد يثبت نقوم بإنشاء مجلد باسم «البيرة»

كما ترى لدينا مجلدين أحدهما "ديبيان" وآخر «البيرة» التي أنشأناها قبل ثوانٍ ، خلال هذا الأخير ، أنشأنا مجلدًا واحدًا "سلة مهملات" وآخر "Compartir"

هذا هو كود البرنامج النصي

#!/bin/sh
firefox https://ubunlog.com/ &

نحفظه في المجلد "سلة مهملات" بالاسم «ubunlog-web».

الآن نذهب إلى المجلد "Compartir" في هذا نقوم بإنشاء مجلد باسم "خرائط Pixmaps" ونحفظ بالاسم «ubunlog-web.png» قمنا بتنزيل هذه الصورة من هنا

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

هذا هو رمز نفسه

[Desktop Entry]
Encoding=UTF-8
Name=Ubunlog Web Blog
Comment=Tutoriales, escritorios linuxeros,software,noticias y todo sobre Ubuntu
GenericName=Tutoriales, escritorios linuxeros,software,noticias y todo sobre Ubuntu
Exec=ubunlog-web
Terminal=false
Type=Application
Icon=ubunlog-web
Categories=Application;Network;Internet;
StartupWMClass=ubunlog-web
StartupNotify=true

يحتفظون به في المجلد "التطبيقات" كما «ubunlog-web.desktop»

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

sudo chmod -R root:root setup/
sudo chmod -R 755 setup/
sudo dpkg -b setup/ ubunlog-web_0.11.5.13_all.deb
chmod 777 ubunlog-web_0.11.5.13_all.deb
chown -R setup

Si tiene todo bien ya tiene el paquete «ubunlog-web_0.11.5.13_all.deb».

دليل الاستخراج الذاتي (تم اختباره فقط على Ubuntu ، ويعمل على أي توزيعة)

هذه الطريقة هي إنشاء ملفات بالبرنامج النصي makeelf (http://megastep.org/makeself/)

يتم تنزيله من الويب ، إنه ملف .run ، يمنحونه أذونات ونقوم بتنفيذه ،

كيفية استخدامها.

makeelf.sh FOLDER / SOURCE / RESULT.RUN "TEXT" ./setup.sh

كما ترون "المجلد / الأصل / » هي ملفات ومجلدات التطبيق أو البرنامج النصي الخاص بنا «RESULT.RUN» هو الملف الناتج أو ملف الاستخراج الذاتي
"نص" هي الرسالة التي يتم عرضها عند تشغيل ملف الاستخراج الذاتي ، وهي محاطة بعلامات اقتباس.
"./Setup.sh" هو البرنامج النصي الذي يتم تشغيله عند فك ضغط ملف الاستخراج الذاتي ، فلا تنس منحه أذونات.

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

نقوم بإنشاء مجلد باسم «ubunlog» ونقوم بنسخ المجلد الذي تم إنشاؤه ، وإعادة تسميته باسم تعتبر نفسها
في المجلد «ubunlog» أنشئ اسمًا آخر الإعداد وداخل هذا المكان الملفات التالية.

البرنامج النصي المثبت

#!/bin/sh
cp ubunlog-web /usr/bin/
chmod 755 /usr/bin/ubunlog-web
chmod +x /usr/bin/ubunlog-web
cp ubunlog-web.png /usr/share/pixmaps/
chmod 755 /usr/share/pixmaps/ubunlog-web.png
cp ubunlog-web.desktop /usr/share/applications/
chmod 755 /usr/share/applications/ubunlog-web.desktop
chmod +x /usr/share/applications/ubunlog-web.desktop

قاموا بحفظه كـ setup.sh

سيناريو لدينا

#!/bin/sh
firefox https://ubunlog.com/ &

Lo guardan como «ubunlog-web» el icono lo guardamos con el nombre «ubunlog-web.png» قمنا بتنزيل هذه الصورة من هنا

جرة

[Desktop Entry]
Encoding=UTF-8
Name=Ubunlog Web Blog
Comment=Tutoriales, escritorios linuxeros,software,noticias y todo sobre Ubuntu
GenericName=Tutoriales, escritorios linuxeros,software,noticias y todo sobre Ubuntu
Exec=ubunlog-web
Terminal=false
Type=Application
Icon=ubunlog-web
Categories=Application;Network;Internet;
StartupWMClass=ubunlog-web
StartupNotify=true

يحفظونها باسم «ubunlog-web.desktop»

الآن نقوم بإنشاء ملف الاستخراج الذاتي

chmod 755 setup/
chmod +x setup/setup.sh
sh ../makeself/makeself.sh setup ubunlog-web.run "Ubunlog - Tutoriales, escritorios linuxeros,software,noticias y todo sobre Ubuntu" ./setup.sh

لدينا بالفعل ملف الاستخراج الذاتي.

آمل أن يساعدك هذا في شيء ما

شكرا لتعليقاتكم ، إذا كان هناك أي خطأ فهو نتاج خيالك ، هاهاها


6 تعليقات ، اترك لك

اترك تعليقك

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

*

*

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

  1.   ديفيد جوميز قال

    دليل ممتاز مبروك ...

  2.   لنستخدم لينكس قال

    مقال ممتاز لوتشيانو!
    أنا حقا أهنئك.
    عناق! بول.

  3.   maty1206 قال

    تهانينا! هذه المقالة هي واحدة من أفضل المقالات التي رأيتها لتعلم كيفية حزم ثنائيات .deb لدبيان ومشتقاته مثل أوبونتو.

    في حالة ArchLinux ، نستخدم PKGBUILD بأفضل أسلوب BSD: https://wiki.archlinux.org/index.php/PKGBUILD_%28Espa%C3%B1ol%29

    عناق!

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

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

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

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

  5.   جوش قال

    مرحبًا لوسيانو.

    لقد بدأت في اتباع الخطوات ولم أتمكن من اجتياز التحقق من التثبيت. تقوم بإرجاع الخطأ التالي:

    "Makefile: 349: فشلت وصفة الهدف 'install-recursive'
    make: *** [install-recursive] خطأ 1

    **** فشل التثبيت. إحباط إنشاء الحزمة ".

    قبل ذلك ، يظهر الأمر "make" هذا في الإخراج:

    "اصنع [3]: لا شيء لتفعله من أجل" الكل "."

    لا أفهم ما هو الفشل. لقد حاولت تنزيل أحدث إصدار من LAME لمعرفة ما إذا كان سيحل مشكلتي ، لكن لا شيء أفعله.

    تحية.