برنامج تعليمي بسيط لإنشاء وتثبيت حزمة deb الخاصة بك.
لا شيء سوى نظام تشغيل Debian أو Ubuntu أو أي نظام تشغيل يستند إلى Debian
سيفتح تطبيق Mypackage موقع Ubuntu الرسمي عند تشغيله.
تسمية المجلد mypackage_1.0_all
الخاص بنا: package-name_version_architecture
.
اسم الحزمة : mypackage
الإصدار : 1.0
البنية: يمكن أن تكون all
البنى المدعومة أو مجموعة فرعية منها
بنية الحزمة الأولية:
. └── mypackage_1.0_all # المجلد الرئيسي للحزمة ├── ديبيان │ ├── التحكم # ملف يحتوي على المعلومات الرئيسية للحزمة │ ├── postinst # يتم تنفيذ البرنامج النصي بعد التثبيت │ └── preinst # تنفيذ البرنامج النصي قبل التثبيت ├── اختيار │ └── مجلد mypackage # بما في ذلك برنامجنا │ └── open_link.sh # البرنامج النصي لفتح المتصفح على ubuntu.com └── usr └── حصة ├── التطبيقات │ └── mypackage.desktop # ملف يحتوي على معلومات التطبيق في المشغل └── الرموز └── mypackage.xpm # أيقونة تطبيق Launcher
المزيد عن ملف DEBIAN/control
:
Package: mypackage
Version: 1.0 # package version
Architecture: all # our package sums up to a bash script and this is POSIX
Essential: no # essential to the system ?
Priority: optional # install order in package management system
Depends: curl,zenity # comma-separated dependency packages (,)
Maintainer: flavienbwk
Description: A sample package...
على الرغم من وجود طرق لتثبيت أرشيفات deb بدون sudo، إلا أن معظم حزم deb مصممة ليتم تثبيتها على مستوى النظام. هذا يعني أن البرامج النصية preinst و postinst أو أي برنامج ثنائي آخر مضمن في الأرشيف يمكن تشغيله دون أي قيود على نظام الشخص (راجع حزم Snap للحصول على بديل). تحقق ثلاث مرات من النصوص البرمجية الخاصة بك وكن حذرًا عند المشاركة حتى لا تكسر جهاز الكمبيوتر الخاص بشخص ما.
بناء
dpkg-deb --build ./mypackage_1.0_all
ثَبَّتَ
sudo gdebi -n ./mypackage_1.0_all.deb # اختبار (يتطلب gdebi-core)sudo dpkg -i ./mypackage_1.0_all.deb # تثبيت
ملاحظة: قم بإلغاء التثبيت باستخدام
sudo apt autoremove mypackage
يجب أن تشاهد Mypackage في المشغل الخاص بك:
الخيار الأول هو الأسهل: يمكننا تثبيت الحزم محليًا.
قم بإنشاء مجلد حيث سيتم تحديد موقع المستودع الخاص بنا وانقل حزمة .deb
الخاصة بنا إلى الداخل
mkdir -p ./mirror/pool cp ./mypackage_1.0_all.deb ./mirror/pool/
قم بإنشاء ملف فهرس Packages
مؤتمر نزع السلاح ./مرآة dpkg-scanpackages -m ./pool > الحزم
أضف الدليل إلى مصادر نظامك
صدى "ملف deb [موثوق = نعم]:/path/to/repository/mirror /" | سودو تي /etc/apt/sources.list.d/mypackage.list
قم بتحديث تعريف الحزم الخاصة بك وتثبيتها
سودو التحديث المناسب سودو ملائمة لتثبيت mypackage
يمكن بعد ذلك تقديم المستودعات المثبتة محليًا من خادم Apache بسيط على جهازك الخاص.
يمكنك اختيار إنشاء أرشيف الحزم الشخصية (PPA) الخاص بك، واستضافته على، ثم يمكن للجميع الوصول إليه باستخدام أمر add-apt-repository ppa:<repository_name>
.
إذا كنت تريد نشر الحزمة الخاصة بك في مستودعات الكون/الأكوان المتعددة في Ubuntu، فقد يصبح الأمر صعبًا حيث يجب عليك الحصول على موافقة MOTU. هل تريد نشره على الرئيسي؟ هناك الكثير من الشروط التي يجب الوفاء بها بما في ذلك الأمان والالتزام بمعايير الصيانة.
حزم META هي حزم لا تقوم بتثبيت أي شيء سوى قائمة التبعيات.
هذه هي الطريقة التي يمكنك بها تثبيت سطح مكتب كامل من خلال حزمة واحدة.
APT هو نظام إدارة الحزم التقليدي الذي تستخدمه دبيان ومشتقاته (بما في ذلك Ubuntu). ظهرت لأول مرة في عام 1998 وتستخدم حزم .deb
.
Snap، الذي قدمته Canonical في عام 2014، هو مدير حزم أحدث مصمم لتوفير توزيع أسهل للحزم عبر توزيعات Linux المختلفة. فهو يجمع التبعيات داخل كل حزمة .snap
، مما يؤدي إلى أحجام حزم أكبر ولكن يخفف من "جحيم التبعية". وهذا مفيد خاصة في الأنظمة غير المتصلة بالإنترنت.
تتمثل الاختلافات الرئيسية في أن الحزم المفاجئة تركز على التوافق عبر التوزيع والاحتواء الذاتي، وربما تحسين الأمان من خلال وضع الحماية للحزمة، والتحديثات التلقائية. من ناحية أخرى، تعتمد APT على المكتبات على مستوى النظام، مما يجعل الحزم أصغر حجمًا ولكنها يمكن أن تسبب مشكلات في التبعية.