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

StackOverflow https://stackoverflow.com/questions/635869

  •  10-07-2019
  •  | 
  •  

سؤال

نأمل نسخة قصيرة من السؤال:إذا كنت على جهاز مثبت عليه حزمة معينة، فهل هناك أمر yum سيخبرني أي من المستودعات التي تم تكوينها توفر تلك الحزمة؟(أو بدلاً من ذلك، ما هو المستودع الذي سيوفر حزمة لم يتم تثبيتها بعد.)

الخلفية في حالة الحاجة إلى بعض السياق:لدينا متاهة من مستودعات yum التي نستمد منها.لدي جهاز مثبت عليه حزمة rpm معينة، وجهاز آخر به متاهة غير كافية من المستودعات التي تم تكوينها، ولذلك لا أستطيع تثبيت الحزمة التي أريدها على هذا الجهاز.أحتاج إلى إضافة الحد الأدنى من المستودعات الضرورية إلى الجهاز الجديد.لا يمكنني فقط نقل المستودعات من جهاز إلى آخر.ومجرد الخروج والاستيلاء على عدد الدورات في الدقيقة ليس خيارًا لأنني أحتاج إلى أن يكون هذا قابلاً للتكرار.

هل كانت مفيدة؟

المحلول

yum list packagename

وهذا يظهر من خلالها مستودع الحزمة في العمود الثالث من الإخراج.

لالحزم المثبتة مسبقا، التي لن تعمل، كما يظهر العمود الثالث فقط "تثبيت". في هذه الحالة يمكنك أن تفعل مثل و"دورة في الدقيقة PACKAGENAME -qi"، وعادة البائع، الرابط وبناء علامات المضيف تعطي مؤشرا التي تنتمي مستودع الحزمة. كما انه من الشائع جدا للبعض رمزا الريبو يتم إلحاق رقم إصدار حزمة.

نصائح أخرى

repoquery -i {packagename} 

وهذا سوف اعطيكم اسم الريبو الفعلي في مقابل غير مفيدة "تثبيت" أن عوائد يم. يتم توفير repoquery التي كتبها يم تيلس.

ويمكنك استخدام yum -v search التي من شأنها أن تظهر لك حزم مع الريبو كان موجودا. وإذا كنت أيضا إضافة --showduplicates سترى كافة إصدارات تلك الحزمة.

والائتمان إلى: http://www.spinics.net/linux/fedora /yum/msg11975.html

لحزمة واحدة، يمكنك أن تجد هذا مع

PACKAGE=ruby-enterprise
repoquery --qf "%{repoid}" $PACKAGE

واستبدال <م> $ PACKAGE مع اسم الحزمة التي تهمك.

ويمكنك أن تجد جميع الحزم التي جاءت من مستودع خاص مع

REPO=ruby-enterprise-opt
repoquery --repoid=$REPO -a --qf "%{name}" | sort > repo_packages
rpm -qa --qf "%{name}\n" | sort > installed_packages
comm -1 -2 repo_packages installed_packages

واستبدال <م> $ REPO مع معرف المستودع يهمك. تستطيع أن ترى في هويات جميع المستودعات الخاصة بك مع تمكين yum repolist.

فيما يلي بعض الطرق لاكتشاف المستودع لحزمة مثبتة معينة:

rpm -qi {packagename}

أو

repoquery -i {packagename}

مراجع:

yum reinstall [package_name]

وبعد ذلك عندما طلب منه تأكيد، يمكنك اختيار N وليس لتغيير النظام الخاص بك:

وإخراج نموذج على سينت أو إس:

Resolving Dependencies
--> Running transaction check
---> Package mc.x86_64 1:4.6.1a-35.el5 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

==============================================================================================================================================
 Package                      Arch                             Version                                   Repository                      Size
==============================================================================================================================================
Reinstalling:
 mc                           x86_64                           1:4.6.1a-35.el5                           base                           2.1 M

Transaction Summary
==============================================================================================================================================
Remove        0 Package(s)
Reinstall     1 Package(s)
Downgrade     0 Package(s)

Total download size: 2.1 M
Is this ok [y/N]:
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top