قم ببناء مستودع Pkg-الخاص بك مع Poudriere

منذ الإصدار 9.2 ، قدم FreeBSD أداة جديدة لتحل محل أوامر pkg _ * القديمة - pkg، والمعروفة أيضًا باسم pkgng. إنه مشابه جدًا لـ Debian's aptأو Fedora's yumولكن لديه بعض الميزات الرائعة جدًا. واحد من هؤلاء هو إمكانية استخدام مستودع الحزم الخاص بك بسهولة.

لماذا تريد أن تفعل ذلك؟ تم بناء مستودعات pkg الرسمية من شجرة منافذ FreeBSD مع مجموعة محدودة جدًا من الخيارات. على سبيل المثال ، تفتقر الحزمة الرسمية لـ PHP إلى دعم MySQL. قد يكون السبب الآخر هو رغبتك في الحصول على مستودعين ، أحدهما مع تمكين X11 - لسطح المكتب - والآخر مع تعطيل X11 - لخوادمك. هناك الكثير من الخيارات والإمكانيات ، وسيوضح لك هذا البرنامج التعليمي كيفية بناء المستودع الخاص بك باستخدام Poudriere ، وهي أداة لحزم بناء الكتلة.

أفترض أن لديك VPS جديد مع FreeBSD 10 x64 مثبت. بادئ ذي بدء ، تحتاج إلى شجرة المنافذ على نظامك:

cd /usr
portsnap fetch extract

بعد ذلك ، تحتاج إلى تثبيت Poudriere من المصدر (الخيارات الافتراضية جيدة!):

cd /usr/ports/ports-mgmt/poudriere
make install clean

بعد ذلك ، قم بإنشاء ملف تكوين أساسي:

cp /usr/local/etc/poudriere.conf.sample /usr/local/etc/poudriere.conf

... وقم بتحريره وفقًا لاحتياجاتك. فيما يلي بداية جيدة:

FREEBSD_HOST=http://ftp.freebsd.org
RESOLV_CONF=/etc/resolv.conf
BASEFS=/usr/local/poudriere
POUDRIERE_DATA=$/data
USE_PORTLINT=no
USE_TMPFS=yes
DISTFILES_CACHE=/usr/ports/distfiles
CHECK_CHANGED_DEPS=yes
# Edit this according to your VPS' CPU.
PARALLEL_JOBS=1
NOLINUX=yes

بدلاً من استخدام portstree العادية للنظام الخاص بك ، يستخدم Poudriere نسخته الخاصة. يجب الحصول عليها بالأمر التالي:

poudriere ports -c

الآن ، قم بإنشاء سجن للباني ليعمل في غضون:

poudriere jail -c -j testjail -v 10.0-RELEASE -a amd64

قبل أن تتمكن من البدء في بناء الحزم ، سيكون عليك بالفعل إخبار Poudriere بما يجب أن تبنيه. افتح محرر النصوص المفضل لديك وأضف بعض الحزم:

www/firefox
im/pidgin
sysutils/tmux
editors/vim

... واحفظ الملف تحت /usr/local/etc/buildlist. إذا كنت لا تريد الخيارات الافتراضية ، فيمكنك تكوين الخيارات لكل حزمة في هذا الملف. يتم ذلك عن طريق إصدار الأمر التالي:

poudriere options -cf /usr/local/etc/buildlist

خلاف ذلك ، يمكنك البدء في بناء:

poudriere bulk -f /usr/local/etc/buildlist -j testjail

يختلف مقدار الوقت الذي تستغرقه هذه العملية بناءً على سرعة وحدة المعالجة المركزية الخاصة بك. بعد الانتهاء من العملية ، يمكن العثور على حزمك الجديدة ، وفرزها بواسطة build-jail ، في /usr/local/poudriere/data/packages/.

الآن ، أنت بحاجة إلى خادم ويب لتقديم هذه الحزم إلى أجهزتك الأخرى. اخترت Nginx لأنها فعالة وخفيفة الوزن. قم بتثبيته عبر المنافذ (الخيارات الافتراضية جيدة!):

cd /usr/ports/www/nginx
make install clean

بعد الانتهاء من عملية التثبيت ، تحتاج إلى تكوين Nginx لخدمة دليل الحزم. للقيام بذلك ، قم بالتحرير /usr/local/etc/nginx/nginx.confباستخدام محرر النصوص المفضل لديك:

server {
    listen       80;
    server_name  localhost;
    root /usr/local/poudriere/data/packages/testjail-default;
    location / {
            autoindex on;
    }
}

أخيرًا ، تأكد من أن خادم الويب يبدأ التشغيل:

echo "nginx_enable=YES" >> /etc/rc.conf

... وابدأ الخادم:

/usr/local/etc/rc.d/nginx start

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

لتنشيط المستودع على العميل ، قم بتشغيل هذه الأوامر على جهاز العميل:

mkdir -p /usr/local/etc/repos
vi /usr/local/etc/repos/myrepo.conf

ملء myrepo.confبالمحتوى التالي. يمكنك استخدام أي اسم لهذا الملف ، شريطة أن يحتوي على .confلاحقة.

poudriere: {
  url: "http://yoururl"
  mirror_type: "http",
  enabled: yes
}

بعد ذلك ، قم بتحديث قاعدة بيانات الحزمة بالأمر:

pkg update

يمكنك الآن تثبيت الحزم خارج مستودعك الجديد!



Leave a Comment

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

نظرة ثاقبة على 26 أسلوبًا لتحليل البيانات الضخمة: الجزء الأول

6 أشياء شديدة الجنون حول نينتندو سويتش

6 أشياء شديدة الجنون حول نينتندو سويتش

يعرف الكثير منكم أن Switch سيصدر في مارس 2017 وميزاته الجديدة. بالنسبة لأولئك الذين لا يعرفون ، قمنا بإعداد قائمة بالميزات التي تجعل "التبديل" "أداة لا غنى عنها".

وعود التكنولوجيا التي لم يتم الوفاء بها بعد

وعود التكنولوجيا التي لم يتم الوفاء بها بعد

هل تنتظر عمالقة التكنولوجيا للوفاء بوعودهم؟ تحقق من ما تبقى دون تسليم.

وظائف طبقات معمارية مرجعية للبيانات الضخمة

وظائف طبقات معمارية مرجعية للبيانات الضخمة

اقرأ المدونة لمعرفة الطبقات المختلفة في بنية البيانات الضخمة ووظائفها بأبسط طريقة.

كيف يمكن للذكاء الاصطناعي نقل أتمتة العمليات إلى المستوى التالي؟

كيف يمكن للذكاء الاصطناعي نقل أتمتة العمليات إلى المستوى التالي؟

اقرأ هذا لمعرفة مدى انتشار الذكاء الاصطناعي بين الشركات الصغيرة وكيف أنه يزيد من احتمالات نموها ومنح منافسيها القدرة على التفوق.

CAPTCHA: ما هي المدة التي يمكن أن تظل تقنية قابلة للتطبيق للتميز بين الإنسان والذكاء الاصطناعي؟

CAPTCHA: ما هي المدة التي يمكن أن تظل تقنية قابلة للتطبيق للتميز بين الإنسان والذكاء الاصطناعي؟

لقد أصبح حل CAPTCHA صعبًا جدًا على المستخدمين في السنوات القليلة الماضية. هل ستكون قادرة على أن تظل فعالة في اكتشاف البريد العشوائي والروبوتات في المستقبل القريب؟

التفرد التكنولوجي: مستقبل بعيد للحضارة الإنسانية؟

التفرد التكنولوجي: مستقبل بعيد للحضارة الإنسانية؟

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

التطبيب عن بعد والرعاية الصحية عن بعد: المستقبل هنا

التطبيب عن بعد والرعاية الصحية عن بعد: المستقبل هنا

ما هو التطبيب عن بعد والرعاية الصحية عن بعد وأثره على الأجيال القادمة؟ هل هو مكان جيد أم لا في حالة الوباء؟ اقرأ المدونة لتجد طريقة عرض!

هل تساءلت يومًا كيف يربح المتسللون الأموال؟

هل تساءلت يومًا كيف يربح المتسللون الأموال؟

ربما سمعت أن المتسللين يكسبون الكثير من المال ، لكن هل تساءلت يومًا كيف يجنون هذا النوع من المال؟ دعنا نناقش.

يتسبب التحديث الإضافي لنظام macOS Catalina 10.15.4 في حدوث مشكلات أكثر من حلها

يتسبب التحديث الإضافي لنظام macOS Catalina 10.15.4 في حدوث مشكلات أكثر من حلها

أصدرت Apple مؤخرًا macOS Catalina 10.15.4 تحديثًا تكميليًا لإصلاح المشكلات ولكن يبدو أن التحديث يتسبب في المزيد من المشكلات التي تؤدي إلى إنشاء أجهزة macOS. قراءة هذه المادة لمعرفة المزيد