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

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

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

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

  • [سكربت] حذف حزم 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 

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

    فكرة حلوة ^_^
    بارك الله فيك ،
    (لَا تَحْسَبَنَّ الَّذِينَ يَفْرَحُونَ بِمَا أَتَوا وَّيُحِبُّونَ أَن يُحْمَدُوا بِمَا لَمْ يَفْعَلُوا فَلَا تَحْسَبَنَّهُم بِمَفَازَةٍ مِّنَ الْعَذَابِ وَلَهُمْ عَذَابٌ أَلِيمٌ)
    آل عمران 188
    قال رسول الله صلى الله عليه و سلم :
    {لا يشكر الله من لا يشكر الناس}
    {من كان يؤمن بالله واليوم الآخر،فليقل خيراً أو ليصمت}

    جميع المساهمات الحاملة لهذا التوقيع تخضع لرخصة وقف
    أسأل الله العظيم رب العرش العظيم أن يحسن من حال أمتي

    تعليق


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

      تعليق


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

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

        تعليق


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

          تعليق


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

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

            تعليق


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

              تعليق

              يعمل...
              X