• Sun. Sep 22nd, 2024

كل ما تحتاج إلى معرفته حول مدير الحزم DNF

Byadmin

Aug 5, 2024

صورة لشاشة كمبيوتر تقوم بتنفيذ مهام في الخلفية.

Dandified Yum (DNF) عبارة عن واجهة أمامية قوية لإدارة الحزم لتوزيعات Linux المستندة إلى RPM. سنعرض لك هنا كل ما تحتاج إلى معرفته حول مدير الحزم DNF وأوامر DNF المختلفة التي يمكنك استخدامها لإدارة حزمك.

لماذا تستخدم مدير الحزم DNF؟

تحتوي العديد من توزيعات Linux، مثل Red Hat Enterprise Linux وCentOS Stream وFedora Linux، على مستودعات خاصة بها تستخدم ملفات RPM Package Manager (RPM) لتوزيع البرامج والوثائق والمكتبات. إنه تنسيق أرشيف مضغوط يمكنه تشغيل البرامج النصية والتحقق من محتواه الداخلي وتخزين بيانات التعريف الخاصة بالحزمة.

أحد عيوب RPM هو أنه لا يمكنه تثبيت حزمة ما إلا إذا كانت المتطلبات الأساسية الخاصة بها موجودة في النظام. يعمل DNF على سد هذه الفجوة من خلال جلب التبعيات المطلوبة لحزمتك وحل أي تعارضات برمجية أثناء التثبيت.

محطة طرفية تعرض تفاصيل مستودع Fedora DNF.

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

جيد ان تعلم: لمعرفة المزيد عن توزيعات Linux الأخرى المستندة إلى RPM، يرجى إلقاء نظرة على AlmaLinux وRocky Linux.

تثبيت الحزم باستخدام DNF

يعد تثبيت الحزم الوظيفة الأساسية لكل مدير حزم. لتثبيت حزمة بعيدة في DNF، قم بتشغيل dnf install متبوعًا باسم الحزمة:

لقطة شاشة تظهر شاشة التثبيت لـ DNF.

ال install يحتوي الأمر الفرعي على عدد من العلامات التي تسمح لك بتغيير سلوكه الافتراضي. على سبيل المثال، يمكنك تضمين --setopt=install_weak_deps=False لتخطي “التبعيات الضعيفة” عند تثبيت البرنامج.

محطة طرفية تظهر شاشة التثبيت لبرنامج Emacs دون أي تبعيات ضعيفة.

نصيحة:هل تبحث عن تأمين تثبيت Linux الخاص بك؟ تعلم كيفية تشفير الملفات في Linux باستخدام Tomb.

جلب ملفات RPM وتثبيتها باستخدام DNF

يمكن لـ DNF أيضًا جلب حزم .rpm العارية من مستودعك الأصلي. يمكن أن يكون هذا مفيدًا إذا كنت تقوم بإعداد جهاز غير متصل بالإنترنت وتريد تحميل حزم RPM عليه.

يمكنك حتى استخدام install قم بتثبيت الأمر الفرعي على ملف .rpm الخاص بك على جهازك. سيؤدي القيام بذلك إلى منحك ميزة حل التبعيات لحزمك غير المخزنة.

sudo dnf install ~/your-package.rpm
محطة طرفية تُظهر عملية تثبيت DNF لملفات RPM.

إعادة تثبيت الحزم الموجودة

علاوة على ذلك، يمكن لـ DNF فرض إعادة تثبيت البرامج على جهازك الحالي. قد يكون هذا مفيدًا إذا كنت تواجه مشكلة مع حزمة موجودة وتريد التأكد من تثبيتها بشكل صحيح.

محطة طرفية تظهر عملية إعادة التثبيت لـ GNU Nano في DNF.

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

نصيحة: تعرف على كيفية إصلاح تثبيتات الحزم المعطوبة في Linux.

التعامل مع مجموعات الحزم في حالة عدم إكمال المهمة

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

للاطلاع على مجموعات الحزم المتوفرة لنظامك، قم بتشغيل الأمر التالي:

محطة طرفية تظهر مجموعات حزم DNF المتوفرة لـ Fedora 40.

يمكنك التحقق من محتوى مجموعة الحزمة عن طريق تشغيل info حجة بعد group الأمر الفرعي. على سبيل المثال، تشغيل dnf groups info Editors سيتم طباعة وصفًا موجزًا ​​للمجموعة والحزم التي ستقوم بتثبيتها.

محطة طرفية تعرض التفاصيل حول مجموعة حزمة المحررين في DNF.

تثبيت وإزالة مجموعات الحزم

ال group يتعامل الأمر الفرعي أيضًا مع عملية التثبيت الخاصة به. قم بتشغيل group الأمر الفرعي مع install الحجة، ثم قم بتوفير اسم المجموعة التي تريدها لنظامك:

sudo dnf group install Editors
محطة طرفية تعرض موجه التثبيت لمجموعة حزمة المحررين.

لإزالة مجموعة الحزمة بأكملها، استبدل install حجة مع remove متبوعًا باسم المجموعة التي تريد إزالتها:

sudo dnf group remove Editors
محطة طرفية تعرض موجه إلغاء التثبيت لمجموعة حزمة المحررين.

البحث عن الحزم المتاحة

من أهم ميزات كل مدير حزم قدرته على البحث في المستودعات البعيدة عن البرامج المتاحة. للقيام بذلك في حالة عدم إكمال المهمة، استخدم search الأمر الفرعي:

محطة طرفية تظهر شاشة البحث عن DNF لـ GNU Nano.

بشكل افتراضي، يطابق DNF استعلام البحث الخاص بك مع اسم الحزمة البعيدة وملخصها الموجز. يمكنك تغيير هذا السلوك لتضمين جميع حقول البيانات الوصفية المتاحة عن طريق إضافة --all علَم:

محطة طرفية تظهر المطابقة الكاملة لبحث DNF.

البحث المتقدم عن الحزمة في DNF

بالإضافة إلى “البحث”، يأتي DNF أيضًا مع repoquery أمر فرعي يسمح لك بالبحث عن الحزم وطباعتها بتنسيق “NEVRA”. وهذا مفيد إذا كنت تقوم بإنشاء نص برمجي سيقوم بتثبيت حزم معينة باستخدام DNF وRPM.

يقوم الأمر التالي بطباعة جميع حزم “emacs” المتوفرة لنظام Fedora 40 بتنسيق NEVRA:

محطة طرفية تعرض حزمة Emacs المتوفرة بتنسيق NEVRA.

وبصرف النظر عن ذلك، repoquery يأخذ الأمر الفرعي علامات تصفية إضافية يمكنك استخدامها لتحسين عمليات البحث عن الحزمة الخاصة بك. على سبيل المثال، --installed سوف يعرض العلم فقط الحزم الموجودة على جهازك و --depends سيتم طباعة تبعيات هذه الحزمة:

dnf repoquery --installed --depends emacs
محطة طرفية تظهر تبعيات الحزمة لـ Emacs في DNF.

جلب قوائم الحزم في DNF

ال list الأمر الفرعي هو طريقة مرنة للبحث بين حزم DNF المتاحة من جهازك المحلي ومستودعات التخزين البعيدة. على سبيل المثال، يسرد الأمر التالي جميع الحزم المثبتة في نظامك.

محطة طرفية تعرض قائمة الحزم المتاحة كقائمة DNF.

مشابه ل repoquery، ال list يمكن للأمر الفرعي أن يأخذ علامات تصفية إضافية، مثل --recent، الذي سيقوم بطباعة أحدث الحزم المتوفرة في مستودعاتك البعيدة.

علاوة على ذلك، list يمكن أن يكون الأمر الفرعي أيضًا أداة مفيدة للتحقق بسرعة من الترقيات المتاحة لنظامك:

محطة طرفية تعرض قائمة بالترقيات المتاحة لنظام Fedora 40 في حالة عدم إكمالها.

تمتد هذه الميزة أيضًا إلى الأوامر الفرعية الموجهة للصيانة في DNF. على سبيل المثال، --autoremove يسرد العلم جميع التبعيات المعلقة على النظام:

ترقية حزم النظام

مع DNF، يمكنك ترقية كافة الحزم المثبتة باستخدام أمر فرعي واحد: upgradeوهذا يعني أن ترقية النظام تعني دائمًا أنك ستحصل على أحدث إصدار متاح من حزمك:

محطة طرفية تظهر إخراج أمر ترقية DNF.

إذا كنت تريد فقط التحقق من التحديثات، استخدم check-update الأمر الفرعي بدلا من ذلك:

تشغيل الحد الأدنى من ترقيات النظام

بصرف النظر عن ذلك، يمكن لـ DNF إجراء “ترقيات محافظة” حيث ستقوم فقط بتثبيت إصلاحات الأمان والأخطاء للبرامج الموجودة. وهذا مفيد عندما تقوم بتشغيل خدمة بالغة الأهمية، ولا تريد إدخال تغييرات جذرية على الجهاز:

محطة طرفية تظهر مطالبة الترقية الدنيا لـ DNF.

لعِلمِكَ: تعرف على كيفية حماية بياناتك من الجهات الضارة عن طريق تثبيت بعض أفضل توزيعات Linux-libre اليوم.

ترقية وتخفيض الحزم الفردية

مع ذلك، يمكنك ترقية الحزم الفردية عن طريق تقديم اسمها بعد upgrade على سبيل المثال، يقوم الأمر التالي بتحديث GNU Emacs إلى الإصدار 29.3 في Fedora 40:

sudo dnf upgrade emacs-1:29.3-6.fc40.x86_64
محطة طرفية تعرض مطالبة الترقية الانتقائية لـ Emacs.

من ناحية أخرى، يدعم DNF أيضًا تخفيض إصدار الحزم بشرط وجود إصدار أقل في مستودع بعيد نشط حاليًا:

ملحوظة: تشغيل downgrade سيؤدي الأمر الفرعي إلى خفض رقم إصدار أي حزمة تعتبر اعتمادًا كبيرًا على برنامجك.

استخدام الاستشارات الأمنية لترقية الحزم

تشكل الاستشارات الأمنية جزءًا حيويًا من مواكبة أحدث الثغرات الأمنية في البرامج. ولتحقيق هذه الغاية، توفر DNF --advisory و --cve الأعلام التي تقبل رموز الاستشارة الأمنية الخاصة بـ Fedora وأرقام معرف CVE.

على سبيل المثال، يقوم الأمر التالي بترقية مكتبة xz في نظام Fedora 40 لمعالجة ثغرة أمنية خطيرة:

sudo dnf upgrade --refresh --advisory=FEDORA-2024-d02c7bb266

إلغاء تثبيت حزم النظام باستخدام DNF

لإلغاء تثبيت الحزم، قم بـ remove سيؤدي الأمر الفرعي إلى إزالة الحزم من نظامك:

محطة طرفية تظهر موجه إلغاء التثبيت من إزالة DNF.

على غرار Debian وUbuntu، يوفر DNF أمرًا فرعيًا لإزالة ملفات التبعية “المعلقة”. لإزالة هذه الحزم غير الضرورية من جهازك، قم بتشغيل الأمر التالي:

إزالة بيانات التعريف الخاصة بالحزمة والمستودع

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

لإصلاح هذه المشكلة، قم بتشغيل clean الأمر الفرعي متبوعًا بـ “الكل”:

محطة طرفية تظهر إخراج أمر DNF clean.

ال clean يمكن للأمر الفرعي أيضًا إزالة ملفات ذاكرة التخزين المؤقت المحددة بدلاً من إزالة كل شيء مرة واحدة. على سبيل المثال، يمكنك تشغيل dnf clean باستخدام وسيطة “الحزم” لإزالة جميع ملفات الحزم المخزنة مؤقتًا دون حذف أي بيانات وصفية:

بالإضافة إلى “الكل” و”الحزم”، dnf clean يقبل “dbcache” و”expire-cache” و”metadata”. الأول يمسح بيانات التعريف المخزنة مؤقتًا، والثاني يفرض فحص التحقق من صحة ذاكرة التخزين المؤقت، والثالث يحذف بيانات التعريف بالكامل.

جيد ان تعلم: تعرف على بعض أفضل الطرق لحذف الملفات بشكل آمن في Linux.

التراجع عن تغييرات النظام في حالة عدم إكمال المهمة

من بين الميزات الرئيسية الأخرى لبرنامج DNF قدرته على مراجعة سجل مدير الحزم الخاص به والتراجع عن التغييرات التي أجراها على النظام. وقد يكون هذا مفيدًا إذا ارتكبت خطأ أثناء تكوين جهازك وترغب في العودة إلى حالة نظيفة سابقة.

للبدء، قم بطباعة سجل التاريخ الحالي لنظامك:

ابحث عن نقطة في نظامك تريد الرجوع إليها. في حالتي، سأختار الرجوع إلى النظام إلى ما قبل تثبيت Emacs.

محطة طرفية تسلط الضوء على معاملة DNF التي حدثت قبل تثبيت Emacs.

احصل على رقم معرف نقطة المعاملة الخاصة بك، ثم قم بتشغيل الأمر التالي لبدء عملية التراجع:

sudo dnf history rollback ID-NUMBER

تأكد من أن DNF قام بإرجاع نظامك إلى نقطة المعاملة الخاصة بك عن طريق تشغيل: dnf history.

محطة تسلط الضوء على أحدث معاملة DNF والتي تعرض أمر التراجع.

يمكنك أيضًا إزالة المعاملات الفردية باستخدام وسيطة “التراجع”. على سبيل المثال، يزيل الأمر التالي Emacs على نظامي ولكنه لا يمس تثبيت NodeJS اللاحق:

sudo dnf history undo ID-NUMBER

ملحوظة: تؤدي وسيطة التراجع إلى عكس أمر المعاملة في dnf historyوهذا يعني أنه يمكنك تشغيل dnf history undo على dnf remove أمر لإعادة تثبيت الحزمة القديمة.

تحليل حزم النظام الحالية

يوفر مدير الحزم DNF أيضًا أدوات وأعلامًا لتحليل حزم RPM على كل من المستودعات المحلية والبعيدة. على سبيل المثال، dnf info يعرض الأمر ملخصًا تفصيليًا لأي ملف RPM:

محطة طرفية تظهر إخراج معلومات DNF على GNU nano.

بصرف النظر عن قراءة تفاصيل الحزمة، يمكنك أيضًا استخدام DNF للتحقق من مصدر ملف تكوين أو ملف ثنائي معين. للقيام بذلك، قم بتشغيل provides الأمر الفرعي متبوعًا بالمسار المطلق للملف الذي تقوم بفحصه:

dnf provides /usr/bin/less
محطة طرفية تُظهر الحزم المختلفة التي توفر أقل عدد من الملفات الثنائية.

إدارة المستودعات في DNF

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

لإضافة مستودع جديد لـ DNF، قم بتشغيل config-manager الأمر الفرعي مع --add-repo العلم متبوعًا بعنوان URL لمستودع الطرف الثالث الخاص بك. على سبيل المثال، سيضيف الأمر التالي مستودع Tailscale إلى نظام Fedora الخاص بك:

sudo dnf config-manager --add-repo=https://pkgs.tailscale.com/stable/fedora/tailscale.repo

يمكنك إدراج جميع المستودعات النشطة بالإضافة إلى معرف المستودع الخاص بها في نظامك عن طريق تشغيل: dnf repolist --enabled.

محطة طرفية تُظهر المستودعات المتاحة التي تعمل في Fedora 40.

لتعطيل مستودع نشط، قم بتشغيل config-manager مع ال --disable العلم متبوعًا بمعرف المستودع الذي تريد تعطيله:

sudo dnf config-manager --disable tailscale-stable

ملحوظة: يمكنك إعادة تمكين المستودع المعطل باستخدام --enable العلم مع معرف المستودع المعطل.

إزالة مستودع نشط في حالة عدم إكماله

ابدأ بتشغيل الأمر التالي لإدراج جميع المستودعات المتوفرة في النظام مع مسارات ملفاتها:

grep -E "^\[.*]" /etc/yum.repos.d/*

ابحث عن المستودع الذي تريد إزالته من القائمة، ثم انسخه إلى الحافظة. في حالتي، سأقوم بإزالة مستودع Tailscale DNF من جهازي.

محطة طرفية تسلط الضوء على موقع ملف tailscale.repo في Fedora 40.

احذف ملف .repo من نظامك عن طريق تشغيل sudo rm متبوعًا بمسار الملف في الحافظة الخاصة بك.

يجري sudo dnf check-update لتحديث قوائم مستودع جهازك.

محطة طرفية تُظهر مخرجات الأمر الفرعي check-update بعد حذف ملف مستودع Tailscale.

إن تعلم أساسيات DNF هو مجرد الخطوة الأولى لفهم العالم المعقد لمديري الحزم في Linux. استكشف المزيد من هذا النظام البيئي المتنوع من خلال إلقاء نظرة على ورقة الغش الشاملة لمديري الحزم في Linux.

By admin

Leave a Reply

Your email address will not be published. Required fields are marked *