إعـــــــلان

تقليص
لا يوجد إعلان حتى الآن.

حذف حزم RPM القديمة من أرشيف yum

تقليص
X
 
  • تصفية - فلترة
  • الوقت
  • عرض
إلغاء تحديد الكل
مشاركات جديدة

  • إيهاب الجداوي
    رد
    ثبت مستودعات أعجوبة وثبت منها مركز التحكم

    اترك تعليق:


  • 7L!nux
    رد
    تم إضافة هذه الميزة لمركز تحكم أعجوبة ، فلا حاجة لهذا الاسكريبت بعد الآن
    شكرا ...

    ولكن اريد اﻻسكربت من اجل فيدورا وليس اعجوبة ﻻنى يجرب فيدورا 15 اﻻن

    اترك تعليق:


  • إيهاب الجداوي
    رد
    تم إضافة هذه الميزة لمركز تحكم أعجوبة ، فلا حاجة لهذا الاسكريبت بعد الآن

    اترك تعليق:


  • 7L!nux
    رد
    شكرا على المجهود الرائع ولكنى بعد بحثى فى المنتدى نتيجة حاجتى لهذا الاسكربت وجدت اكثر من 3 مواضيع ولست متأكد ايهما يعتبر النسخة الاحد ث

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

    اترك تعليق:


  • إيهاب الجداوي
    رد
    المشاركة الأصلية بواسطة مصعب الزعبي مشاهدة المشاركة
    فكرة حلوة ^_^
    بارك الله فيك ،
    فكرة عبد الرحيم
    بارك الله فيه وفيك
    التعديل الأخير تم بواسطة إيهاب الجداوي; الساعة 30-12-2010, 12:17 AM.

    اترك تعليق:


  • مصعب الزعبي
    رد
    وحذف القديم منها ( ترك أحدث حزمة فقط )

    فكرة حلوة ^_^
    بارك الله فيك ،

    اترك تعليق:


  • حذف حزم RPM القديمة من أرشيف yum

    غالبا يقوم الجميع بتفعيل خاصية حفظ حزم RPM فى فيدورا ؛ نجد أنه بعد فترة من تثبيت الحزم والتحديثات يصبح لدينا الكثير من الحزم المكررة بلا داعى والتى تشغل مساحات كبيرة جدا

    بناء على طلب الأخ عبدالرحيم الفاخوري
    قمت بتعديل اسكريبت قديم ( ينسخ الحزم الجديدة فقط إلى دليل آخر فى النظام ) ليقوم بتصفية الحزم الموجودة فى /var/cache/yum/ وحذف القديم منها ( ترك أحدث حزمة فقط )

    كود PHP:
    #!/bin/bash
    # Find and remove repeated (RPM) packages, But saving newest!
    # Exit code 0 = done successfully
    # Exit code 1 = Root permissions needed
    # Sun 26 Dec 2010 01:55:22 AM EET 
    # Ehab El-Gedawy <[email protected]>
    #if [ $UID -ne 0 ] ;then
    #    echo -e "$(basename $0): Error: Permission denied!"
    #    exit 1
    #fi
    Red="$(tput setaf 1)"
    Green="$(tput setaf 2)"
    NC="$(tput sgr0)"

    LogFile=/home/$USERNAME/Repeated\ \(RPM\)\ packages.log
    PACKSCOUNT
    =0
    FILES_SIZE
    =0
    CheckPacks
    ()
    {
        
    Skip=0
        
    for b in $(ls -r1 --sort=version /var/cache/yum/*/*/*/packages/$1 2>/dev/null)
        do
            if [ 
    $Skip -ne 0 ] ;then
            File_Size
    =$[$(cksum "$bcut -" " -f 2)/1024]
            
    FILES_SIZE=$[$FILES_SIZE+$File_Size]
            [ 
    $UID -eq 0 ] && rm -f $b
            
    $UID -eq 0 ] && echo -"Removing file: $b"  >> "$LogFile"
            
    $UID -ne 0 ] && echo -"Repeated file: $b"  >> "$LogFile"
            
    PACKSCOUNT=$[$PACKSCOUNT+1]
            
    fi
               Skip
    =1
         done
    }

    RemRep()
    {
        echo -
    "Old packages in /var/cache/yum/ will be removed!"
        
    echo -'---------------------------------------------------------'
        
    echo -"---------------------------------------------------------
        \t\t\t$(date)\nGETREPEATEDANDSOON\nRepeated packages are:" 
    >> "$LogFile
        
    $UID -eq 0 ] && echo -"${Green}Finding and removing files.${NC}"
        
    $UID -ne 0 ] && echo -"${Red}Finding, You must be root to remove repeated packages!${NC}"
        
    for a in $(rpm --nosignature --qf '%{Name}\n' -qp $(ls -r1 /var/cache/yum/*/*/*/packages/*.rpm 2>/dev/null) 2>/dev/null | sort | uniq -d)
        do
            CheckPacks $a-[0-9]*.i*.rpm
            CheckPacks $a-[0-9]*.x*.rpm
            CheckPacks $a-[0-9]*.noarch.rpm
        done
        echo -e '---------------------------------------------------------'
        PACGNUMMSG="$( [ $UID -ne 0 ] && echo "IF " )$PACKSCOUNT repeated packages Removed!, This will save almost $[$FILES_SIZE/1024] MB"
        echo -e $PACGNUMMSG
        sed -i -e "s;GETREPEATEDANDSOON;$PACGNUMMSG;g"  "$LogFile"
        echo -e "Read $LogFile for more detailes"
    }
    RemRep
    chown $USERNAME:$USERNAME "$LogFile"
    exit 0 
يعمل...
X