FreeBSD binary package manager cheatsheet

دعونا نكتشف الأوامر الأساسية اللازمة لإدارة حزمنا الثنائية في نظام تشغيل FreeBSD. من خلال النظر في أكثر من 70 أمرًا عمليًا لـ pkg.

ضع في اعتبارك أن هناك حاجة لامتيازات الجذر. للحصول على تلك الامتيازات ، إما تسجيل الدخول باسم root مع su إذا كان لديك كلمة مرور الجذر ، أو تبدأ كل أمر من الأوامر التالية باستخدام sudo إذا كان المستخدم الخاص بك sudoer. باستثناء عندما تعمل مع query pkg أو info pkg أو stats pkg لأنهم لا يحتاجون إلى امتيازات الجذر.

تحديثترقيةبحثتثبيتجلبمعلوماتقفل/فتححذفإزالة تلقائيةتنظيفالإحصائيات

ملاحظات pkg-update:

  • يتم استخدامه لتحديث المستودعات.
  • خيار الــ لقمع المخرجات ، استخدم q- أو quiet--.

قم بتحديث المستودع المُمَكّن

root@freebsd:~ # pkg update
يقوم ببساطة بمزامنة كتالوجات المستودعات الممكّنة من خوادمهم.

اجبار تحديث المستودعات المُمَكّنة:

root@freebsd:~ # pkg update -f
أو باستخدام الشكل الكامل--force.

ملاحظات pkg-upgrade:

  • يتم استخدامه لتثبيت أحدث الإصدارات المتاحة لحزمة واحدة أو أكثر.
  • افتراضيًا ، يقوم بتخزين الحزم التي تم تنزيلها في /var/cache/pkg/.
  • سيتم تحديث / تحديث كتالوجات المستودع تلقائيًا ، ما لم يتم استخدام علامة U- أو no-repo-update--.
  • افترض نعم كإجابة على جميع أسئلة التأكيد في عملية الترقية ، استخدم علامة y- أو yes--.
  • خيار الــ لقمع المخرجات ، استخدم q- أو quiet--.
  • إذا تم استخدام علامتي q- و n- ، فسيتم عرض ملخص لقائمة العمل.

ترقية جميع الحزم المثبتة:

root@freebsd:~ # pkg upgrade
يقوم ببساطة بتثبيت أحدث الإصدارات المتوفرة من الحزم المثبتة.

ما عليك سوى جلب الترقيات واكتشاف التعرضات المحتملة:

root@freebsd:~ # pkg upgrade -F
أو باستخدام الشكل الكامل --fetch-only.

محاكاة عملية الترقية:

root@freebsd:~ # pkg upgrade -n
أو باستخدام الشكل الكامل --dry-run.

ترقية حزمة أو أكثر. (مثال: vim):

root@freebsd:~ # pkg upgrade vim
يقوم ببساطة بتثبيت أحدث إصدار متوفر من vim.

اجبار ترقية أو إعادة تثبيت الحزم المثبتة:

root@freebsd:~ # pkg upgrade -f
أو باستخدام الشكل الكامل --force.

ملاحظات pkg-search:

  • يتم استخدامه للبحث عن حزمة في كتالوجات المستودعات.
  • سيتم تحديث / تحديث كتالوجات المستودع تلقائيًا ، ما لم يتم استخدام علامة -U أو --no-repo-update.
  • لإنتاج مخرجات أقل ، استخدم خيار الــ -q أو --quiet.

ابحث عن حزمة. (مثال: vim):

root@freebsd:~ # pkg search vim

ابحث عن الحزم التي تبدأ بـ vim-:

root@freebsd:~ # pkg search '^vim-'

ابحث عن حزمتين. (مثال: neofetch و screenfetch):

root@freebsd:~ # pkg search 'neofetch|screenfetch'

Since both of those packages end with fetch, we can make it like:

root@freebsd:~ # pkg search '(neo|screen)fetch'

ابحث عن الحزم التي تبدأ بحرف أبجدي ، متبوعة ب top:

root@freebsd:~ # pkg search '^[a-z]top'

عرض عنوان الــ URL القابل للتنزيل الخاص بالحزمة. (مثال: vim-8.2.0869):

root@freebsd:~ # pkg search -Q url vim-8.2.0869
أو باستخدام الشكل الكامل --query-modifier.

عرض حجم الحزمة. (مثال: vim-8.2.0869):

root@freebsd:~ # pkg search -Q pkg-size vim-8.2.0869

عرض حجم الحزمة بعد فكها وتثبيتها. (مثال: vim-8.2.0869):

root@freebsd:~ # pkg search -s vim-8.2.0869
أو باستخدام الشكل الكامل --size.
مثل pkg search -Q size vim-8.2.0869.

سرد بريد إلكتروني لصاحب الحزمة. (مثال: vim-8.2.0869):

root@freebsd:~ # pkg search -Q maintainer vim-8.2.0869

عرض فئات الحزمة. (مثال: vim-8.2.0869):

root@freebsd:~ # pkg search -Q categories vim-8.2.0869

عرض خيارات الحزمة. (مثال: vim-8.2.0869):

root@freebsd:~ # pkg search -Q options vim-8.2.0869

عرض المعالين الحزمة. (مثال: vim-8.2.0869):

root@freebsd:~ # pkg search -Q required-by vim-8.2.0869

ابحث عن debian في حزم التعليقات:

root@freebsd:~ # pkg search -c debian
أو باستخدام الشكل الكامل --comment.
مثل pkg search -S comment debian.

ابحث عن gnu.org في أوصاف الحزم:

root@freebsd:~ # pkg search -D 'gnu.org'
أو باستخدام الشكل الكامل --description.
مثل pkg search -S description 'gnu.org'.

ابحث عن تبعيات الحزمة. (مثال: vim-8.2.0869):

root@freebsd:~ # pkg search -d vim-8.2.0869
أو باستخدام الشكل الكامل --depends-on.
مثل pkg search -Q depends-on vim.

ابحث عن الحزمة الدقيقة. (مثال: vim-8.2.0869):

root@freebsd:~ # pkg search -e vim-8.2.0869
أو باستخدام الشكل الكامل --exact.

عرض معلومات الحزمة. (مثال: vim-8.2.0869):

root@freebsd:~ # pkg search -f vim-8.2.0869
أو باستخدام الشكل الكامل --full.
مثل pkg search -Q full vim-8.2.0869.

سرد أصل الحزمة. (مثال: vim-8.2.0869):

root@freebsd:~ # pkg search -o vim-8.2.0869
أو باستخدام الشكل الكامل --origins.
مثل pkg search -L origin vim-8.2.0869.

اعرض المكان الذي سيتم تثبيت الحزمة فيه. (مثال: vim-8.2.0869):

root@freebsd:~ # pkg search -p vim-8.2.0869
أو باستخدام الشكل الكامل --prefix.
مثل pkg search -Q prefix vim-8.2.0869.

اعرض المستودع الذي يقدم حزمة. (مثال: vim-8.2.0869):

root@freebsd:~ # pkg search -Q repository vim-8.2.0869

عرض عنوان الــ URL لمشروع الحزمة. (مثال: vim-8.2.0869):

root@freebsd:~ # pkg search -Q www vim-8.2.0869

ملاحظات pkg-install:

  • يتم استخدامه لتثبيت الحزم من مستودعات الحزم أو الأرشيفات المحلية.
  • افتراضيًا ، يقوم بتخزين الحزم التي تم تنزيلها في /var/cache/pkg/.
  • سيتم تحديث / تحديث كتالوجات المستودع تلقائيًا ، ما لم يتم استخدام علامة U- أو no-repo-update--.
  • افترض نعم كإجابة على جميع أسئلة التأكيد في عملية الترقية ، استخدم علامة y- أو yes--.
  • خيار الــ لقمع المخرجات ، استخدم q- أو quiet--.
  • إذا تم استخدام علامتي q- و n- ، فسيتم عرض ملخص لقائمة العمل.

قم بتثبيت حزمة. (مثال: vim):

root@freebsd:~ # pkg install vim
لاحظ أنها ستحتفظ بالحزمة التي تم تنزيلها في /var/cache/pkg/. حتى بعد التثبيت.

أعد تثبيت حزمة مثبتة. (مثال: vim):

root@freebsd:~ # pkg install -f vim
أو باستخدام الشكل الكامل --force.

إعادة تثبيت حزمة مثبتة وجميع المعالين. (مثال: vim):

root@freebsd:~ # pkg install -Rf vim
أو باستخدام الشكل الكامل --recursive.

إحضار حزمة واكتشاف التعرضات. (مثال: vim):

root@freebsd:~ # pkg install -F vim
أو باستخدام الشكل الكامل --fetch-only.

قم بتثبيت حزمة ووضع علامة عليها على أنها تلقائية. (مثال: vim):

root@freebsd:~ # pkg install -A vim
أو باستخدام الشكل الكامل --automatic.

مما يعني أنه في حالة عدم وجود حزم تعتمد على vim وأصدر الأمر pkg autoremove ، فستتم إزالة vim تلقائيًا

اجبار تثبيت حزمة حتى مع التبعيات المفقودة. (مثال: vim):

root@freebsd:~ # pkg install -m vim
أو باستخدام الشكل الكامل --ignore-missing.

محاكاة عملية التثبيت. (مثال: vim):

root@freebsd:~ # pkg install -n vim
أو باستخدام الشكل الكامل --dry-run.

الذي يطبع قائمة التغييرات على الحزم ، دون تطبيقها فعليًا.

ملاحظات pkg-fetch:

  • يتم استخدامه لتنزيل الحزم الثنائية دون تثبيتها تلقائيًا.
  • إنه مفيد للاستخدامات غير المتصلة بالإنترنت أو للتفاعل يدويًا مع محتويات الحزمة.
  • يمكن تثبيت الحزم التي تم تنزيلها باستخدام pkg-add أو pkg-install.
  • افتراضيًا ، يقوم بتخزين الحزم التي تم تنزيلها في /var/cache/pkg/.
  • سيتم تحديث / تحديث كتالوجات المستودع تلقائيًا ، ما لم يتم استخدام علامة U- أو no-repo-update--.
  • افترض نعم كإجابة على جميع أسئلة التأكيد في عملية الترقية ، استخدم علامة y- أو yes--.
  • خيار الــ لقمع المخرجات ، استخدم q- أو quiet--.

تنزيل جميع التحديثات المتاحة:

root@freebsd:~ # pkg fetch -u
أو باستخدام الشكل الكامل --available-updates.

قم بتنزيل حزمة. (مثال: vim):

root@freebsd:~ # pkg fetch vim
سيتم تنزيله على /var/cache/pkg/.

قم بتنزيل حزمة بكل تبعياتها. (مثال: vim):

root@freebsd:~ # pkg fetch -d vim
أو باستخدام الشكل الكامل --dependencies.

تنزيل جميع الحزم المتوفرة:

root@freebsd:~ # pkg fetch -a
أو باستخدام الشكل الكامل --all.

قم بتنزيل حزمة إلى مجلد مخصص. (مثال: vim):

root@freebsd:~ # mkdir /tmp/pkgs
root@freebsd:~ # pkg fetch -o /tmp/pkgs/ vim
أو باستخدام الشكل الكامل --output.

ملاحظات pkg-info:

  • يتم استخدامه لعرض بعض المعلومات حول الحزم.
  • خيار الــ لقمع المخرجات ، استخدم q- أو quiet--.

تحقق مما إذا كانت الحزمة مثبتة أم لا. (مثال: vim):

root@freebsd:~ # pkg info -a | grep -i vim
أو باستخدام الشكل الكامل --all.
إذا لم يكن هناك إخراج ، فهذا يعني أن vim غير مثبت ، وإلا فهو كذلك.

طريقة أخرى للتحقق من وجود حزمة. (مثال: vim):

root@freebsd:~ # pkg info -e vim ; echo $?
أو باستخدام الشكل الكامل --exists.
إذا تم تثبيت vim وتسجيله في قاعدة البيانات ، فسيتم إرجاع 0 ، وإلا فسيتم إرجاع 1 .

طريقة بديلة لمعرفة ما إذا كانت الحزمة مثبتة أم لا. (مثال: vim):

root@freebsd:~ # pkg info -x vim
أو باستخدام الشكل الكامل --regex.

سرد الحزم المثبتة (مع التبعيات):

root@freebsd:~ # pkg info -a
أو باستخدام الشكل الكامل --all.

سرد الحزم المثبتة (بدون تبعيات):

root@freebsd:~ # pkg query -e '%a = 0' %n-%v
أو باستخدام الشكل الكامل من خيار الــ --evaluate.
  • ٪ a تُرجع 1 إذا كانت الحزمة المتطابقة مثبتة تلقائيًا باعتبارها تبعية لحزمة أخرى ، 0 بخلاف ذلك.
  • ٪ n اسم الحزمة المتطابقة.
  • ٪ v إصدار الحزمة المتطابقة.

سرد الحزم المثبتة على أنها تبعيات:

root@freebsd:~ # pkg query -e '%a = 1' %n-%v
سبق شرحته في الأعلى..
  • ضع في اعتبارك أنه إذا تم تثبيت حزمة يدويًا بعلامة -A سيتم عرضها هنا أيضًا حتى أنها ليست تابعة.

اعرض مكان تثبيت الحزمة. (مثال: vim):

root@freebsd:~ # pkg info -p vim
أو باستخدام الشكل الكامل --prefix.

احصل على معلومات حول حزمة مثبتة. (مثال: vim):

root@freebsd:~ # pkg info vim
  • للحصول على المعلومات كاملة ، استخدم -f or --full.

احصل على الحجم الإجمالي للملفات المثبتة بواسطة حزمة. (مثال: vim):

root@freebsd:~ # pkg info -s vim
أو باستخدام الشكل الكامل --size.

اعرض الوصف المختصر للحزمة المثبتة. (مثال: vim):

root@freebsd:~ # pkg info -I vim
أو باستخدام الشكل الكامل --comment.

سرد تبعيات حزمة مثبتة (مثال: vim):

root@freebsd:~ # pkg info -d vim
أو باستخدام الشكل الكامل --dependencies.

سرد قائمة حزمة مثبتة. (مثال: vim)

root@freebsd:~ # pkg info -r vim
أو باستخدام الشكل الكامل --required-by.

سرد جميع الملفات المثبتة بواسطة حزمة. (مثال: vim):

root@freebsd:~ # pkg info -l vim
أو باستخدام الشكل الكامل –list-files.

سرد أصل الحزمة المثبتة. (مثال: vim):

root@freebsd:~ # pkg info -o vim
أو باستخدام الشكل الكامل --origin.

عرض رسالة للحزمة المثبتة. (مثال: vim):

root@freebsd:~ # pkg info -D vim
أو باستخدام الشكل الكامل --pkg-message.

ملاحظات pkg-lock:

  • يتم استخدامه لقفل أو إلغاء قفل الحزم المثبتة.
  • يعني قفل الحزمة ، لجعل هذه الحزمة مؤمنة من إعادة التثبيت أو الترقية أو الرجوع إلى الإصدار السابق أو الحذف.
  • سيكون لكل المعالين والتابعين للحزمة المقفلة نفس التأثير. قد يمنع حتى تثبيت بعض الحزم إذا كانت تتطلب إصدارًا مختلفًا من الحزمة المقفلة. لذا ، استخدمه بعناية.
  • افترض نعم كإجابة على جميع أسئلة التأكيد في عملية الترقية ، استخدم علامة y- أو yes--.
  • خيار الــ لقمع المخرجات ، استخدم q- أو quiet--.

قفل الحزمة. (مثال: vim):

root@freebsd:~ # pkg lock vim

قفل جميع الحزم المثبتة:

root@freebsd:~ # pkg lock -a
أو باستخدام الشكل الكامل --all.

سرد الحزم المثبتة المقفلة:

root@freebsd:~ # pkg lock -l
أو باستخدام الشكل الكامل --show-locked.

افتح حزمة. (مثال: vim):

root@freebsd:~ # pkg unlock vim

افتح جميع الحزم المثبتة:

root@freebsd:~ # pkg unlock -a
أو باستخدام الشكل الكامل --all.

تحقق مما إذا كان هناك أي حزم مقفلة:

root@freebsd:~ # pkg lock --has-locked-packages
إذا كانت هناك حزمة مقفلة واحدة على الأقل ، فستعرض 0 ، وإلا فسيتم إرجاع 1 .

ملاحظات pkg-delete:

  • يتم استخدامه لحذف الحزم المثبتة من قاعدة البيانات والنظام.
  • pkg remove هو اسم مستعار ل pkg delete ، مما يعني أن كلاهما يقومان بنفس المهمة بالضبط.
  • افترض نعم كإجابة على جميع أسئلة التأكيد في عملية الترقية ، استخدم علامة y- أو yes--.
  • خيار الــ لقمع المخرجات ، استخدم q- أو quiet--.
  • إذا تم استخدام علامتي q- و n- ، فسيتم عرض ملخص لقائمة العمل.

حذف حزمة مثبتة. (مثال: vim):

root@freebsd:~ # pkg delete vim
لحذف أكثر من حزمة واحدة في كل مرة ، قم بفصل الحزم بمسافة. على سبيل المثال: pkg delete vim py37-ranger.

اجبار حذف الحزمة. (مثال: vim):

root@freebsd:~ # pkg delete -f vim
أو باستخدام الشكل الكامل --force.

إذا تم استخدام علامات -f و -a معًا ، فسيؤدي ذلك إلى حذف حزمة pkg أيضًا.

حذف جميع الحزم المثبتة بإستثناء pkg:

root@freebsd:~ # pkg delete -a
أو باستخدام الشكل الكامل --all.

محاكاة عملية الحذف. (مثال: vim):

root@freebsd:~ # pkg delete -n vim
أو باستخدام الشكل الكامل --dry-run.

ملاحظات pkg-autoremove:

  • يتم استخدامه لإزالة الحزم المثبتة orphan.
  • افترض نعم كإجابة على جميع أسئلة التأكيد في عملية الترقية ، استخدم علامة y- أو yes--.
  • خيار الــ لقمع المخرجات ، استخدم q- أو quiet--.

إزالة كافة الحزم المثبتة للأيتام(orphan):

root@freebsd:~ # pkg autoremove
ستقوم ببساطة بإزالة جميع الحزم التي لم تعد لها اي حاجة ، والتي تم تثبيتها أثناء حل التبعية.

محاكاة إزالة الحزم اليتيمة(orphan):

root@freebsd:~ # pkg autoremove -n
أو باستخدام الشكل الكامل --dry-run.

ملاحظات pkg-clean:

  • يتم استخدامه لحذف الحزم السابقة التي تم تنزيلها.
  • افتراضيًا ، يقوم بتخزين الحزم التي تم تنزيلها في /var/cache/pkg/.
  • افترض نعم كإجابة على جميع أسئلة التأكيد في عملية الترقية ، استخدم علامة y- أو yes--.
  • خيار الــ لقمع المخرجات ، استخدم q- أو quiet--.
  • إذا تم استخدام علامتي y- و q- ، فسيتم منع كل الإخراج.

قم بإزالة الإصدارات القديمة من ذاكرة التخزين المؤقت (cache) للحزم:

root@freebsd:~ # pkg clean
يزيل الإصدارات القديمة من الحزم ، والحزم التي لم تعد متوفرة.

محاكاة إزالة حزم التخزين المؤقت (cache):

root@freebsd:~ # pkg clean -n
أو باستخدام الشكل الكامل --dry-run.

إزالة كافة ذاكرة التخزين المؤقت (cache) للحزم:

root@freebsd:~ # pkg clean -a
أو باستخدام الشكل الكامل --all.

ملاحظات pkg-stats:

  • يتم استخدامه لعرض إحصائيات قاعدة بيانات الحزمة.
  • خيار الــ لقمع المخرجات ، استخدم q- أو quiet--.
  • لعرض استخدام مساحة القرص بالبايت ، استخدم علامة b- أو bytes--.

الحصول على إحصاءات عامة للحزم:

root@freebsd:~ # pkg stats
يعرض إحصائيات قواعد البيانات الحزمة المحلية والبعيدة.

الحصول على إحصائيات قاعدة بيانات الحزمة البعيدة:

root@freebsd:~ # pkg stats -r
أو باستخدام الشكل الكامل --remote.

عد الحزم المثبتة على أنها تبعيات:

root@freebsd:~ # pkg query -e '%a = 1' %n-%v | wc -l

الحصول على إحصائيات قاعدة بيانات الحزمة المحلية:

root@freebsd:~ # pkg stats -l
أو باستخدام الشكل الكامل --local.

عد الحزم المثبتة (مع التبعيات):

root@freebsd:~ # pkg info -a | wc -l

عد الحزم المثبتة (بدون تبعيات):

root@freebsd:~ # pkg query -e '%a = 0' %n-%v | wc -l

للتوضيع فقط ، يمكنك تثبيت أي حزمة تريد انا استعملت vim كالمثال لأنه الأسهل 🙂

اترك تعليقاً

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

هذا الموقع يستخدم Akismet للحدّ من التعليقات المزعجة والغير مرغوبة. تعرّف على كيفية معالجة بيانات تعليقك.