دعونا نكتشف الأوامر الأساسية اللازمة لإدارة حزمنا الثنائية في نظام تشغيل 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
بخلاف ذلك. li> -
٪ n
اسم الحزمة المتطابقة. li> -
٪ v
إصدار الحزمة المتطابقة. li>
سرد الحزم المثبتة على أنها تبعيات:
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
سرد أصل الحزمة المثبتة. (مثال: 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
كالمثال لأنه الأسهل 🙂