كيفية سرد تبعيات الحزمة في أوبونتو

على عكس Windows و macOS و Android ، لا يتم توزيع البرامج الموجودة على Ubuntu – و Linux بشكل عام – كحزمة واحدة. بدلاً من ذلك ، عند تثبيت أحد التطبيقات ، يقوم مدير الحزم في نظامك بتنزيل حزم متعددة ، بما في ذلك حزمة التطبيق الرئيسية وتبعياتها. ومع ذلك ، فإن هذا ينطبق فقط على تثبيت الحزمة التقليدية على Linux ، أي باستخدام مديري الحزم.

يمكن أن تكون معرفة التبعيات الإضافية التي يتم تنزيلها أثناء التثبيت مفيدة للمستخدمين المبتدئين والمتقدمين على حدٍ سواء. بهذه الطريقة ، يمكن للمرء أن يتحكم بشكل كامل في الحزم المثبتة على نظامه.

دعنا نلقي نظرة على كيفية التحقق من تبعيات الحزمة على Ubuntu.

ما هي تبعيات الحزمة؟

التبعيات هي الحزم الداعمة المطلوبة للتشغيل السليم لتطبيق ما في Linux. على سبيل المثال ، إذا كنت تريد تنزيل مشغل وسائط VLC على Ubuntu ، فستقوم APT بتثبيت بعض الحزم الإضافية مثل libc6 و gcc ، بالإضافة إلى حزمة " vlc " الأساسية. يمكن أن تحتوي التبعية أيضًا على حزم أخرى مثل تبعياتها ، وبالتالي ، تشكل بنية هرمية.

نظرًا لأن حزم Linux مترابطة ، فإن كل برنامج تقريبًا يتطلب حزمًا إضافية يجب عليك تثبيتها على نظامك.

على الرغم من أن مديري الحزم مثل APT يقومون بأتمتة إدارة وتثبيت التبعيات المذكورة ، إلا أن الأخطاء تحدث عندما تحاول إنشاء الحزمة يدويًا من المصدر. ومع ذلك ، يمكنك حل هذه الأخطاء ببساطة عن طريق تثبيت التبعية المطلوبة على نظامك باستخدام الأمر apt install .

كيفية التحقق من تبعيات الحزمة في Linux

لحسن الحظ ، في Ubuntu ، هناك عدة طرق للحصول على قائمة من تبعيات الحزمة. يوفر APT ، مدير الحزم الافتراضي في توزيعات Ubuntu و Debian ، أوامر متعددة للحصول على معلومات متعلقة بالتبعية للحزمة.

استخدام مدير حزم APT

يمكنك استخدام APT في Ubuntu للحصول على قائمة التبعيات المرتبطة بحزمة. الصيغة الأساسية للأمر هي:

 sudo apt depends packagename

على سبيل المثال ، للتحقق من تبعيات حزمة rhythmbox :

 sudo apt depends rhythmbox

بصرف النظر عن قائمة التبعيات ، سيتضمن الإخراج أيضًا الحزم الموصى بها والمقترحة التي يمكنك تثبيتها جنبًا إلى جنب مع rhythmbox .

بدلاً من ذلك ، يمكنك أيضًا استخدام الأمر apt-cache للحصول على نفس الإخراج.

 sudo apt-cache depends rhythmbox

للحصول على معلومات إضافية تتعلق بحزمة معينة ، استخدم طريقة show بدلاً من تعتمد .

 sudo apt show rhythmbox
sudo apt-cache show rhythmbox

انتاج:

قائمة التبعيات باستخدام dpkg

إذا قمت بتنزيل حزمة DEB على نظامك وتريد معرفة التبعيات التي سيتم تثبيتها مع الحزمة ، فيمكنك استخدام علامة -I ( بالحروف الكبيرة i وليس L الصغيرة) أو –info مع الأمر.

 sudo dpkg -I /path/to/package.deb
sudo dpkg --info /path/to/package.deb

… حيث /path/to/package.deb هو المسار المطلق أو النسبي لملف DEB.

سيعرض الإخراج حجم الحزمة والمصدر والمعلومات المفيدة الأخرى جنبًا إلى جنب مع قائمة التبعيات.

للحصول على قائمة التبعيات لحزمة مثبتة ، استخدم علامة -s مع dpkg. على سبيل المثال:

 sudo dpkg -s firefox

انتاج:

الموضوعات ذات الصلة: ما هو الفرق بين APT و dpkg في أوبونتو؟

استخدام apt-rdepends

للحصول على مخرجات أكثر تفصيلاً ، يمكنك استخدام الأداة المساعدة apt-rdepends. نظرًا لأنه لا يتم تثبيته مسبقًا على معظم توزيعات Linux ، فسيتعين عليك تثبيته يدويًا على Ubuntu باستخدام APT.

 sudo apt install apt-rdepends

استخدم تنسيق الأمر التالي للحصول على شجرة التبعية للحزمة:

 apt-rdepends packagename

على سبيل المثال:

 apt-rdepends vlc

انتاج:

عادةً ما يكون الناتج الذي تم إنشاؤه طويلاً حيث تعرض apt-rdepends شجرة كاملة من التبعيات ذات تسلسل هرمي ، مما يعني أنك تحصل أيضًا على قائمة التبعيات الخاصة بالتبعية.

يمكنك أيضًا الحصول على قائمة الحزم التي تعتمد على حزمة معينة. على سبيل المثال ، للتحقق من الحزم التي تتطلب libc كعنصر تابع:

 apt-rdepends -r libc

انتاج:

الأداة المساعدة التي تعتمد على عكس الاتجاه

على الرغم من أن ميزة التبعية العكسية (العلامة -r ) الخاصة بـ apt-rdepends تعمل بشكل أفضل من المتوقع ، إلا أن هناك أداة مساعدة أخرى يمكنك استخدامها لاستخراج التبعيات العكسية للحزمة. الأمر العكسي هو جزء من حزمة أدوات ubuntu-dev-tools ، ويمكن تنزيله باستخدام:

 sudo apt install ubuntu-dev-tools

الصيغة الافتراضية للأمر هي:

 reverse-depends options packagename

… حيث تكون الخيارات هي العلامات التي يمكنك استخدامها مع الأمر ويكون اسم الحزمة هو اسم الحزمة التي تريد عكس التحقق من التبعيات لها.

يمكنك أيضًا إضافة العديد من العلامات إلى الأمر المذكور أعلاه لتعديل الإخراج. فيما يلي قائمة بأكثر الخيارات فائدة:

  1. -R : سرد التبعيات المباشرة فقط (لا توجد حزم مقترحة أو موصى بها)
  2. -s : تضمين الحزم المقترحة
  3. -l : قدم الإخراج بتنسيق أنظف ومناسب للاستخدام في البرامج النصية

في حالة عدم قدرتك على معرفة كيفية استخدام الأداة وتحتاج إلى تعليمات سطر الأوامر ، استخدم علامة –help أو -h .

 reverse-depends -h
reverse-depends --help

احصل على قائمة التبعية باستخدام محاكاة التثبيت / الإزالة

بالنسبة لأولئك الذين يريدون قائمة مختصرة بجميع التبعيات غير المثبتة حاليًا على النظام ، يمكنك تشغيل تثبيت محاكاة (أو إلغاء تثبيت) لحزمة معينة.

للتحقق من التبعيات التي تتطلبها حزمة PHP ، على سبيل المثال ، قم بتشغيل الأمر التالي:

 sudo apt install -s php

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

إذا كنت ترغب في الحصول على قائمة من التبعيات لحزمة مثبتة بالفعل على Ubuntu ، فيمكنك إجراء محاكاة لإلغاء التثبيت للتحقق من الحزم الإضافية التي ستتم إزالتها معها.

 sudo apt remove -s packagename

مثال:

 sudo apt remove -s rhythmbox

انتاج:

حزم Linux مترابطة

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

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

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