(موضوع تفاعلي) هل يمكن لجميع مدراء الحزم التي نعرفها في لينكس أن تقوم بحذف برنامج بدون حذف اعتمادياته؟

السلام عليكم ورحمة الله وبركاته


####مع التوزيعات الكثيرة التي نراها في هذا التنوع العظيم في لينكس، تواجه بعضنا مشكلة حذف حزمة أو برنامج مع الاعتماديات الخاصة به، وعادة ما يتهرب الشخص من هذا خوفا أن تكون بعض الاعتماديات مهمة في النظام وتسبب له مشكلة.

##يا ترى هل يمكننا حذف حزمة أو برنامج بدون حذف الاعتماديات ؟

جربت هذا الشيء ونجح معي في توزيعة opensuse عن طريق الواجهة الرسومية لبرنامج YaST2.:grin:
وهذا ما جعلني اكتب هذا الموضوع :laughing:.

###أرجو من الجميع المشاركة بكل مدير حزم يملكه لنرى هذا التنوع العظيم والجميل في لينكس :blush: .

  • يسمح باستخدام الأوامر الرسومية إذا وجدت.

فيدورا

rpm --nodeps -e <اسم الحزمة>

لكن لابد من وجود بديل يوفر المكتبات المطلوبة للحزم المعتمدة عليها وإلا في الغالب لن تعمل تلك التطبيقات.

** تصحيح **

شكرا للاخ @alilinux اذ شرح المقصود من السؤال.

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

نعود للطلب الاصلي :smile:

باستخدام سطر الاوامر dnf

يقوم امر dnf باعداداته الافتراضية بحذف الحزم التابعة بشكل تلقائي وذلك في حال كانت تلك الحزم قد ثبتت تلقائيا بواسطة dnf وليس يدويا من قبل المستخدم او بعض الحزم التي لها خاصية مميزة مثل النواة.
بالامكان تعطيل هذه الخاصية باضافة:

clean_requirements_on_remove=flase

الى ملف الاعدادات etc/dnf/dnf.conf

وفي حال اردت حذف حزم ثبتت في السابق ولم يعد لها حاجة قم بتنفيذ الامر التالي

dnf autoremove

باستخدام التطبيقات الرسومية

التطبيقات الافتراضية في واجهات فيدورا غالبا تعتمد على إعدادات مدير الحزم dnf، مثلا مدير الحزم في كدي Apper يستخدم dnf ويتبع اعداداته.
بالنسبة لتطبيق yumex-dnf فبالامكان تفعيل الخاصية من إعداداته حسب الصورة التالية:

حسب فهمي لفكرة الموضوع هو انك تريد ان تمسح حزمة معينة ( Package ) بدون مسح الإعتماديات ( Dependency ), فالامر سهل بالنسبة ل Debian, فالفكرة هي عند حذف حزمة معينة عن طريق الامر التالي : sudo apt-get remove package, فإنه يقوم بحذف الحزمة بدون حذف اي إعتماديات الخاصة بها, وإذا اردت حذف الإعتماديات لانها لا فائدة منها او انها لا تُستعمل, فبإمكانك حذفها عن طريق الامر : sudo apt-get autoremove, وبالتالي يقوم حذف الإعتماديات التي لا تستعمل وهي بالغالب التي كانت تستعملها الحزمة المحذوفة بالامر السابق, شكراً على طرح مثل هذه المواضيع المُثمرة صراحة للمعلومات, يعطيك العافية, تقبل تحياتي اخوك علي لينكس.

###معلومة للدبيانيين :exclamation:
يمكنك استخدام مدير الحزم بكتابة apt بدلا من apt-get :wink:

ما الفرق بين الاداة apt الجديدة وبين apt-get القديمة ؟

apt جعلوها فقط تهتم اكثر بالfront-end الذي يعني المستخدم لها فتستطيع تغيير اللالوان فيكون عندك APT::Color مفعل بشكل تلقائي وكذلك يريدون جعلها graphical وهذا يعني نستطيع القول هو انتقال من command line interface UI الى graphical interface GUI. والapt-get تخدم الback-end وهي تأديه واجب الاداه على الطريقه المثلى بغض النظر عن كيفيه لونها او شكلها او الخ.

هذا هو الفرق بشكل ملخص. لقرائه اكثر:- اضغط هنا