إعطاء اسم حزمة دورة في الدقيقة، الاستعلام عن قاعدة بيانات يم للحصول على التحديثات

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

  •  20-08-2019
  •  | 
  •  

سؤال

ولقد تخيل 3-خط بيثون النصي للقيام بذلك ولكن API يم بيثون هو لا يمكن اختراقها. هل هذا ممكن حتى؟

هل كتابة المجمع ل 'يم قائمة حزمة اسم "الطريقة الوحيدة للقيام بذلك؟

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

المحلول

وكما يشير سيث بها، يمكنك استخدام التحديثات واجهات برمجة التطبيقات لأسأل ما إذا كان شيء متاح كتحديث. لشيء أن يكون بالقرب من ما "قائمة يم" يفعل ربما كنت ترغب في استخدام doPackageLists (). على سبيل المثال.

import os, sys
import yum

yb = yum.YumBase()
yb.conf.cache = os.geteuid() != 1
pl = yb.doPackageLists(patterns=sys.argv[1:])
if pl.installed:
    print "Installed Packages"
    for pkg in sorted(pl.installed):
        print pkg
if pl.available:
    print "Available Packages"
    for pkg in sorted(pl.available):
        print pkg, pkg.repo
if pl.reinstall_available:
    print "Re-install Available Packages"
    for pkg in sorted(pl.reinstall_available):
        print pkg, pkg.repo

نصائح أخرى

http://fpaste.org/paste/2453

وهناك أمثلة كثيرة من المعهد يم وبعض الأدلة لبدء العمل به هنا:

http://yum.baseurl.org/#DeveloperDocumentationExamples

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top