هل يمكن أن تخبرني أي من المستودعات الخاصة بي توفر حزمة معينة؟
-
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]: