بورتاج (برنامج)
بورتاج هو نظام إدارة حزم تم إنشاؤه في الأصل لنظام جنتو لينكس، ويستخدمه أيضًا نظاما كروم أو إس وكالكوليت ، وغيرهما. يعتمد بورتاج على مفهوم مجموعات المنافذ . يُشار إلى جنتو أحيانًا باسم التوزيعة الشاملة نظرًا لمرونة بورتاج الفائقة، مما يجعله مستقلًا عن نظام التشغيل . [ 3 ] [ 4 ] [ 5 ] [ 6 ] اهتم مشروع جنتو/ألت باستخدام بورتاج لإدارة أنظمة تشغيل أخرى، مثل أنظمة بي إس دي ، وماك أو إس، وسولاريس . ويُعد مشروع جنتو/فري بي إس دي أبرز هذه التطبيقات .
هناك جهدٌ مستمر يُسمى مشروع مواصفات مدير الحزم (PMS) [ 7 ] ، يهدف إلى توحيد وتوثيق سلوك بورتاج، مما يسمح باستخدام شجرة ebuild وحزم نظام جنتو مع مديري حزم بديلين مثل بالوديس وpkgcore. ويتمثل هدفه في تحديد مجموعة الميزات والسلوكيات الدقيقة لمديري الحزم وملفات ebuild، ليكون مرجعًا موثوقًا به لبورتاج.
ملخص
الوصول إلى الممر

يُشبه نظام Portage نظام إدارة الحزم المعروف باسم ports في أنظمة BSD ، وقد صُمم في الأصل مع مراعاة نظام ports في FreeBSD . [ 8 ] كُتب Portage بلغة البرمجة Python ، وهو الأداة الرئيسية التي تُعرّف نظام Gentoo. على الرغم من أن النظام نفسه يُعرف باسم Portage، إلا أنه يتكون من جزأين رئيسيين: نظام ebuild و emerge . يتولى نظام ebuild مهمة بناء الحزم وتثبيتها، بينما يوفر emerge واجهةً لـ ebuild: إدارة مستودع ebuild، وحل التبعيات، وما شابه ذلك من مشاكل. (لذا، فإن العلاقة بينهما تُشبه تقريبًا العلاقة بين rpm و yum ، أو بين dpkg و APT ).
تتوفر واجهة مستخدم رسومية مبنية على GTK ، تُسمى Porthole ، للعمل مع Portage. كما تتوفر أيضًا واجهة المستخدم الرسومية Himerge ، والتي تعني "واجهة Haskell لـ eMerge".
الوظائف المقدمة
يتميز برنامج Portage بوظيفته الرئيسية: تجميع الحزم التي يرغب المستخدم في تثبيتها من شفرة المصدر . ويتيح ذلك تخصيص خيارات المُجمِّع والتطبيق المستهدف لتتوافق مع مواصفات النظام ورغبات المستخدم. تشمل وظائف إدارة النظام: السماح بتثبيت إصدارات الحزم بالتوازي، وتتبع التبعيات بين الحزم ، وإدارة قاعدة بيانات للحزم المثبتة، وتوفير مستودع ebuild محلي، ومزامنة شجرة Portage المحلية مع المستودعات البعيدة. أما وظائف تثبيت الحزم الفردية فتشمل: تحديد إعدادات التجميع للجهاز المستهدف واختيار مكونات الحزمة.
يميز بورتاج بين ثلاثة مستويات من الاستقرار في حزم ebuilds: مستقرة (على سبيل المثال، يعمل البرنامج كما هو مقصود دون وجود مشكلات أمنية معروفة في وقت الإصدار)، ومقنعة بالكلمات الرئيسية (بشكل أساسي للحزم التي لم يتم اختبارها بشكل كافٍ على بنية النظام المستهدف لاعتبارها مستقرة) ومقنعة بشكل صارم (حزم معطلة أو غير آمنة للغاية).
سمات
الظهور

أداة سطر الأوامر emerge هي جوهر برنامج Portage. يمكن تخصيص هذا الأمر بالعديد من الخيارات والمُعدِّلات. تُعدّ أداة emerge الأداة الرئيسية للوصول إلى ميزات Portage من سطر الأوامر .
يقوم البرنامج بحساب وإدارة التبعيات، وتنفيذ عمليات البناء (ebuilds)، وصيانة شجرة Portage المحلية وقاعدة بيانات الحزم المثبتة. يمكن تغيير إعدادات التجميع المستخدمة في عمليات البناء (ebuilds) عبر متغير البيئة CFLAGS ، بناءً على مواصفات الجهاز ورغبة المستخدم في تحسين الأداء. تُنفذ أداة emerge عمليات البناء (ebuilds) في بيئة معزولة (sandbox) . بهذه الطريقة، يكون النظام محميًا من البرامج التي تُنفذها عملية البناء (ebuild)، ولا تُدمج الملفات الثنائية الناتجة إلا بعد اكتمال عملية البناء والتثبيت بنجاح في البيئة المعزولة.
تتأثر متطلبات التثبيت التي يوفرها برنامج emerge بإعدادات علامة USE. فهي تحدد الميزات الاختيارية التي سيتم تضمينها عند تثبيت تطبيق أو ترقيته. كما يمكن استخدام أمر emerge لتنزيل وتثبيت الملفات الثنائية المُجمّعة مسبقًا.
استخدم الأعلام

يُتيح نظام Portage استخدام "علامات USE"، التي تسمح للمستخدمين بتحديد ميزات البرامج التي يرغبون في تضمينها (أو استبعادها) أثناء إنشاء الحزم. على سبيل المثال، توجد علامة USE لتضمين دعم أقراص DVD ، عند توفره، في الحزم المُجمَّعة مع تفعيل هذه العلامة. تؤثر علامات USE على التبعيات المطلوبة، وتؤثر عمومًا على الميزات الاختيارية التي سيتم تضمينها في برنامج معين عند تجميعه. على سبيل المثال، في الحزم التي تستخدم نصًا برمجيًا للتكوينfeature ، تُترجم علامة USE إلى ./configure --with-feature.
يُعدّ تحديد علامات USE الطريقة المعتادة لضبط إعدادات البرامج على نظام Gentoo. يمكن ضبط علامات USE يدويًا، أو باستخدام أدوات سهلة الاستخدام مثل 'ufed' (محرر علامات USE)، الذي يعرض قائمة بالعلامات مع وصفها. تتوفر قائمة بعلامات USE المتاحة في فهرس علامات USE على موقع Gentoo الإلكتروني .
بناء إلكتروني
لا يستخدم نظام جنتو، افتراضيًا، الحزم الثنائية كما تفعل أنظمة إدارة الحزم الأخرى (مثل pacman أو apt)، بل يستخدم بدلاً من ذلك تنسيقًا يُعرف باسم ebuild. فبينما تكون ملفات RPM الثنائية مُجمّعة مسبقًا ، فإن ملفات ebuild عبارة عن نصوص برمجية (shell scripts) تحتوي على متغيرات ووظائف تتضمن وصفًا للبرنامج، وتعليمات حول كيفية الحصول عليه وتكوينه وتجميعه وتثبيته، وهي أقرب إلى (ولكنها أقوى من) ملفات .spec الموزعة في حزم SRPM . [ 9 ] يوفر المستودع الرسمي أكثر من 19600 ملف ebuild، ويتم توزيع معظمها عبر مرايا جنتو . ويمكن الحصول على ملفات ebuild الجديدة والمحدثة عن طريق مزامنة مستودعات ebuild المحلية مع المرايا. ويتم ذلك بتنفيذ الأمر emaint sync -a. لطالما وفرت جنتو حزمًا ثنائية مُجمّعة مسبقًا للعديد من البرامج الشائعة، وخاصة تلك التي تستغرق وقتًا طويلاً في التجميع، مثل موزيلا فايرفوكس وأوبن أوفيس.أورج . ولا تزال هذه الحزم تُثبّت باستخدام أداة emerge، وذلك ببساطة عن طريق إضافة "-bin" إلى اسم الحزمة لتثبيت النسخة الثنائية.
مثال على ملف ebuild لبرنامج GNOME Terminator :
حقوق الطبع والنشر 1999-2020 لمؤلفي جنتو موزع بموجب شروط رخصة جنو العمومية العامة الإصدار 2EAPI = 7PYTHON_COMPAT = ( python3_ { 6,7,8 } ) DISTUTILS_USE_SETUPTOOLS = "no" inherit distutils -r1 virtualx xdg-utilsالوصف = "نوافذ طرفية متعددة لبيئة جنوم في نافذة واحدة" الصفحة الرئيسية = "https://github.com/gnome-terminator/terminator" رابط المصدر = "https://github.com/gnome-terminator/terminator/releases/download/v ${ PV } / ${ P } .tar.gz"الترخيص = "GPL-2" الفتحة = "0" الكلمات المفتاحية = "amd64 ~ppc x86" استخدام واجهة المستخدم = "dbus +libnotify"RDEPEND = " >=dev-libs/glib-2.32:2 dev-libs/keybinder:3[introspection] dev-python/configobj[ ${ PYTHON_USEDEP } ] dev-python/psutil[ ${ PYTHON_USEDEP } ] dev-python/pycairo[ ${ PYTHON_USEDEP } ] dev-python/pygobject:3[ ${ PYTHON_USEDEP } ] >=x11-libs/gtk+-3.16:3 x11-libs/vte:2.91[introspection] dbus? ( dev-python/dbus-python[ ${ PYTHON_USEDEP } ] ) libnotify? ( x11-libs/libnotify[introspection] ) " BDEPEND = " dev-util/intltool " distutils_enable_tests setup.py PATCHES =( " ${ FILESDIR } " /terminator-1.91-without-icon-cache.patch " ${ FILESDIR } " /terminator-1.91-desktop.patch " ${ FILESDIR } " /terminator-1.92-make-tests-fail.patch " ${ FILESDIR } " /terminator-1.92-metainfo.patch ) src_prepare () { xdg_environment_reset distutils-r1_src_prepare } src_test () { virtx distutils-r1_src_test } pkg_postinst () { xdg_desktop_database_update xdg_icon_cache_update } pkg_postrm () { xdg_desktop_database_update xdg_icon_cache_update }الحزم الثنائية
يحتوي نظام Gentoo على تنسيق حزم ثنائية، وهو ملف بامتداد .tbz2 (ملف tar مضغوط باستخدام bzip2 ) مع بيانات وصفية إضافية . تُمكّن هذه الميزة من إنشاء حزم ثنائية على نظام واحد (باستخدام Portage ) ثم تثبيتها بسرعة على أنظمة متوافقة ( باستخدام Portage buildpkgأيضًا ). راجع قسم "ميزات Portage" في دليل Gentoo Linux لمزيد من المعلومات.quickpkggetbinpkgemerge -K
الملفات الشخصية
يحتوي برنامج Portage على مجموعة من الملفات التعريفية لحالات استخدام مختلفة وأنظمة تشغيل متعددة، والتي عادةً ما يتم تحديث إصداراتها من قِبل مطوري المصدر، مما قد يُغير طريقة عمل Portage وتعامله مع النظام فيما يتعلق بهيكل نظام الملفات، وترقيات سلسلة الأدوات، ومكتبة libc، وأنظمة التهيئة. كما يمكن للملفات التعريفية تطبيق إعدادات ebuild، وعلامات المُصرّف، وإخفاء البيانات في مجموعة الكلمات الرئيسية. [ 10 ]
التغطية
تُعدّ عملية إخفاء الحزم البرمجية الطريقة التي يحدد بها نظام جنتو الحزم المناسبة له. عادةً ما تُخفى حزم ebuild المصممة لبنى معمارية مختلفة أو البرامج التجريبية بطريقة تمنع النظام المستقر من تثبيتها دون تدخل المستخدم.
تُسمى الحزم التي تتطلب عادةً بعض الاختبارات ولكنها غالبًا ما تعمل بشكل جيد، بحزم الكلمات المفتاحية المُقنّعة (أي أنها متاحة للأنظمة التي تحتوي على إدخال ACCEPT_KEYWORDS في ملف make.conf يبدأ بالحرف ، ~مثل ) . يمكن إزالة قناع حزمة كلمات مفتاحية مُقنّعة بإضافة سطر يحتوي على اسم الحزمة الكامل والكلمة المفتاحية إلى ملف داخل الدليل. يمكن للمستخدمين إنشاء أدلة فرعية هنا أيضًا، مما يسمح بتنظيم مخصص. على سبيل المثال، إذا كانت لحزمة مُقنّعة عدة تبعيات مُقنّعة، فيمكن للمستخدم إنشاء دليل باسم الحزمة المُقنّعة الأصلية، ووضع جميع ملفات القناع الخاصة بالحزمة وتوابعها في ذلك الدليل. يحل هذا الأسلوب محل الأسلوب القديم المتمثل في وجود ملف نصي واحد.~x86~amd64~ppc/etc/portage/package.accept_keywords//etc/portage/package.accept_keywords
يتم إخفاء الحزم التي بها مشاكل معروفة أو لا تعتبر ناضجة بما يكفي لتكون مرشحة للاستقرار بشكل صارم بواسطة أحد ملفات package.mask المختلفة في /usr/portage/profiles، وعادة ما تكون هذه الإدخالات مصحوبة بتعليق من المطورين يشرح سبب الإخفاء.
جنتو/ألت
مشروع Gentoo/Alt هو مشروع أُنشئ لإدارة نقل إطار عمل Portage وميزات أخرى إلى أنظمة تشغيل أخرى ، مثل Mac OS X وأنظمة BSD المجانية . وقد أسسه بيتر فان دن أبيلي ودانيال روبنز بعد أن أسس بيتر فان دن أبيلي نظام Gentoo لنظام Mac OS X.
نظام التشغيل ماك أو إس إكس
كان مشروع Gentoo لنظام التشغيل Mac OS X أول مشروع لجنتو لا يعتمد على نظام لينكس، وركز على إتاحة تجربة جنتو على نظام تشغيل أبل من خلال تقديم نظام Portage ككيان منفصل. كان هذا مشابهًا إلى حد كبير لمشروعي Fink و MacPorts ، ولكنه استخدم Portage بدلًا من نظام شبيه بنظامي Debian أو Ports. لاحقًا، أصبح Gentoo لنظام التشغيل Mac OS X مشروعًا فرعيًا من Gentoo/Alt. لم يعد المشروع نشطًا، لأن فرضيته الأساسية المتمثلة في استخدام نظام التشغيل المضيف دون تعديله بدت غير واقعية، وأدت في النهاية إلى تعطل معظم الحزم أو صعوبة صيانتها. تم استبدال Gentoo لنظام التشغيل Mac OS X بمشروع Gentoo Prefix ، وهو ما يقدمه جنتو حاليًا لمستخدمي Mac OS X. [ 11 ]
تم اختبار مشروع Prefix على نظام التشغيل Mac OS X ودعمه على أنظمة التشغيل Mac OS X Tiger و Leopard و Snow Leopard على معمارية PowerPC و IA-32 و x86-64 . [ 12 ]
فري بي إس دي
يُقدّم نظام التشغيل جنتو/فري بي إس دي تصميم جنتو لينكس وبنيته وأدواته، مثل بورتاج، بالإضافة إلى تخطيط جنتو لينكس الأساسي، إلى نظام التشغيل فري بي إس دي . ويستخدم نظام جنتو مجموعة أدوات جنو بدلاً من مجموعة أدوات فري بي إس دي الأصلية.
على الرغم من أن المشروع لم يعد يُدار من قِبل أي مطورين نشطين في جنتو، إلا أن هناك تعليمات تسمح بتثبيت نظام جنتو/فري بي إس دي كامل. [ 13 ] تم دمج حزم نظام فري بي إس دي في شجرة بورتاج الرئيسية، لكن هذا النقل لا يزال بعيدًا عن الاكتمال نظرًا لكثرة الحزم التي تحتاج إلى نقل وعدم وجود قرص حي مناسب ( يتم استخدام قرص فري إس بي آي إي الحي أو قرص تثبيت فري بي إس دي أثناء التثبيت).
الشعار الحالي (شبه) الرسمي لنظام Gentoo/FreeBSD هو حرف "g" مُدمج مع رمز خفي، مُشتق من شعار Gentoo Linux الأصلي ومستوحى من رمز BSD Daemon . صممه ماريوس مورافسكي استجابةً لمسابقة غير رسمية أطلقها دييغو إليو بيتينو على مدونته. [ 14 ]
نظام التشغيل NetBSD
مشروع Gentoo/NetBSD هو مشروع يهدف إلى توفير بيئة مستخدم GNU مُدارة بواسطة Portage مع نواة NetBSD. بدأ المشروع داميان فلوركزيك. يستهدف المشروع حاليًا معمارية x86 فقط ، ولا يزال النظام ككل في مرحلة التطوير.
أوبن بي إس دي
كان مشروع Gentoo/OpenBSD مشروعًا فرعيًا من Gentoo/*BSD يهدف إلى نقل ميزات Gentoo، مثل Portage، إلى نظام التشغيل OpenBSD . بدأه في الأصل غرانت غوديير، وهو الآن مشروع مهمل. [ 16 ] يتوفر دليل تثبيت على صفحة المشروع، ولكنه مُصنّف أيضًا على أنه مهمل.
دراجون فلاي بي إس دي
Gentoo/DragonFlyBSD هو منفذ غير رسمي حاليًا لنواة DragonFlyBSD . المشروع من تطوير روبرت سيباستيان جيروس. [ 17 ]
جنو هيرد
أندرويد
بقيادة بيندا شو، يقوم مشروع "Gentoo RAP لأجهزة أندرويد " بتثبيت نسخة معدلة من نظام جنتو تُسمى جنتو RAP في مجلد فرعي بجانب نظام أندرويد. [ 19 ] ويستخدم كل من نظام أندرويد وجنتو RAP نواة لينكس. [ 19 ]
إنتريكس
Gentoo/Interix (eprefix) هو إصدار مُعدّل من Gentoo يعمل على نظام Interix الفرعي لنظام Windows، المعروف أيضًا باسم خدمات Microsoft Windows لنظام UNIX (SFU) أو النظام الفرعي لتطبيقات Unix (SUA). ومن نتائج مشروع Gentoo/Interix إمكانية تثبيت نظام Portage واستخدامه لإنشاء تطبيقات Windows أصلية (يتطلب ذلك Visual Studio، ويمكن استخدام إصدار Express 2008). مع ذلك، لا تدعم هذه الميزة مجموعة واسعة من الحزم التي تدعمها منصات أخرى (بما في ذلك Interix).
بورتاريس
تم الإعلان عن منفذ غير رسمي لنظام التشغيل سولاريس ، يُدعى "بورتاريس"، حوالي عام 2006، لكنه لم يُطرح للجمهور قط. وقد حل محله مشروع جنتو بريفيكس.
الخطة 9
بدأ مشروع Plan 9 For Gentoo في عام 2011 كمشروع ضمن برنامج Google Summer of Code ، وهو يعتمد على نظام Gentoo الأساسي ويُضيف إليه بيئة مستخدم مستوحاة من Plan 9. [ 20 ] تتمثل أهداف المشروع المعلنة في تحسين دعم الأجهزة والبرامج ، وإحداث نقلة نوعية لمستخدمي أنظمة Linux السابقين . [ 20 ] يتولى روبرت سيتون صيانة المشروع. [ 20 ]
انظر أيضاً
مراجع
- ↑ "proj/portage.git" . 28 أبريل 2024. تم الاطلاع عليه في 17 مايو 2024 .
- 1 2 3 "مشروع Gentoo Portage مفتوح المصدر على Open Hub: صفحة اللغات" . Open Hub . تم الاطلاع عليه بتاريخ 18 مايو 2024 .
- ↑ "حول جنتو" . gentoo.org . مؤرشف من الأصل في 21 ديسمبر 2018. تم الاطلاع عليه في 23 أغسطس 2019 .
- ↑ نظام تشغيل محطة العمل الخاصة بي: جنتو | موقع توم تشانس الإلكتروني ، مؤرشف بتاريخ 8 يوليو 2009 في أرشيف الإنترنت
- ↑ دانيال روبنز (10 أكتوبر 2002). "Gentoo Linux Reloaded - O'Reilly Media" . مؤرشف من الأصل في 14 أكتوبر 2017. تم الاطلاع عليه في 27 مايو 2015 .
- ↑ "OSNews.com" . مؤرشف من الأصل بتاريخ 29 سبتمبر 2007. تم الاطلاع عليه بتاريخ 27 مايو 2015 .
- ↑ "مواصفات مدير الحزم للمشروع" . wiki.gentoo.org . مؤرشف من الأصل في 8 يوليو 2019. تم الاطلاع عليه في 23 أغسطس 2019 .
- ↑ وثائق جنتو لينكس - إنشاء التوزيعة، الجزء 3 ( مؤرشف بتاريخ 22-12-2014 في أرشيف الإنترنت)
- ↑ "ebuild - Gentoo Wiki" . wiki.gentoo.org . مؤرشف من الأصل بتاريخ 17-12-2019 . تم الاطلاع عليه بتاريخ 17-12-2019 .
- ↑ "الملف الشخصي (Portage) - ويكي Gentoo" .
- ↑ غروفن، فابيان (15 ديسمبر 2005). "أهداف مشروع Gentoo لنظام التشغيل Mac OS X" . مؤرشف من الأصل في 21 مايو 2008. تم الاطلاع عليه في 20 يوليو 2017 .
- ↑ غروفن، فابيان (1 يونيو 2009). "عملية تمهيد Gentoo Prefix لنظام التشغيل Mac OS X" . مؤرشف من الأصل في 19 يوليو 2009. تم الاطلاع عليه في 20 يوليو 2017 .
- 1 2 3 4 "Gentoo FreeBSD" . ويكي جنتو . 2018-08-20. مؤرشف من الأصل في 2014-01-06 . تم الاطلاع عليه في 2019-03-06 .
- ↑ بيتينو، دييغو إليو (16 يوليو 2005). "مسابقة فنية غير رسمية لنظامي جنتو/فري بي إس دي" . مدونة فليم آيز . مؤرشف من الأصل بتاريخ 19 أبريل 2019. تم الاطلاع عليه بتاريخ 20 يوليو 2017 .
- ^ "Gentoo OpenBSD - Gentoo wiki" .
- ↑ "Gentoo OpenBSD - Gentoo wiki" . wiki.gentoo.org . تم الاطلاع عليه بتاريخ 25-11-2024 .
- ↑ غوديير، غرانت؛ بيتينو، دييغو إليو (19 أكتوبر 2006). "Gentoo/*BSD" . مؤرشف من الأصل في 28 ديسمبر 2007. تم الاطلاع عليه في 20 يوليو 2017 .
- ↑ " [ gentoo-dev ] [ PATCH 00/94 ] نقل جنتو إلى هيرد - سام جيمس" . public-inbox.gentoo.org . تم الاطلاع عليه بتاريخ 1 مايو 2026 .
- 1 2 "مشروع: أندرويد - ويكي جنتو" . Wiki.gentoo.org . 13 يناير 2016. مؤرشف من الأصل في 24 أكتوبر 2016. تم الاطلاع عليه في 24 سبتمبر 2016 .
- 1 2 3 سيتون، روبرت (2011-08-01). "الخطة 9 من جنتو: الخطة 9 تلتقي بجنتو" . مؤرشف من الأصل في 2012-04-26 . تم الاسترجاع في 2017-07-20 .
روابط خارجية
- الوثائق الرسمية
- ميزات Gentoo Portage
- مقدمة عن Gentoo Portage
- العمل مع بورتاج
- حزم Gentoo ، معلومات حول حزم ebuilds المتاحة حاليًا
- وثائق غير رسمية
- Gentoo-Portage ، عرض بديل لمعلومات ebuild الحالية
- استخدام بورتاج
- تثبيت برنامج بورتاج على توزيعات لينكس الأخرى
- برامج مماثلة
- Emerde، مشروع شبيه بـ Portage لـ Slackware
- Pkgcore ، إعادة تنفيذ لـ portage على نظام bsd
- تمت أرشفة Paludis بتاريخ 23 سبتمبر 2020 على موقع Wayback Machine ، وهو مدير حزم يمكن استخدامه مع ملفات ebuild وغيرها من التنسيقات.
- نظام بناء Arch هو نظام يشبه نظام المنافذ لنظام Arch Linux
- أنظمة إدارة الطرود المجانية
- برنامج مجاني مكتوب بلغة بايثون
- جنتو لينكس
- برامج إدارة حزم لينكس
- برنامج يستخدم رخصة جنو العمومية العامة
