إعـــــــلان
تقليص
لا يوجد إعلان حتى الآن.
حذف حزم RPM القديمة من أرشيف yum
تقليص
X
-
تم إضافة هذه الميزة لمركز تحكم أعجوبة ، فلا حاجة لهذا الاسكريبت بعد الآن
ولكن اريد اﻻسكربت من اجل فيدورا وليس اعجوبة ﻻنى يجرب فيدورا 15 اﻻن
اترك تعليق:
-
تم إضافة هذه الميزة لمركز تحكم أعجوبة ، فلا حاجة لهذا الاسكريبت بعد الآن
اترك تعليق:
-
شكرا على المجهود الرائع ولكنى بعد بحثى فى المنتدى نتيجة حاجتى لهذا الاسكربت وجدت اكثر من 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 "$b" | cut -d " " -f 2)/1024]
FILES_SIZE=$[$FILES_SIZE+$File_Size]
[ $UID -eq 0 ] && rm -f $b
[ $UID -eq 0 ] && echo -e "Removing file: $b" >> "$LogFile"
[ $UID -ne 0 ] && echo -e "Repeated file: $b" >> "$LogFile"
PACKSCOUNT=$[$PACKSCOUNT+1]
fi
Skip=1
done
}
RemRep()
{
echo -e "Old packages in /var/cache/yum/ will be removed!"
echo -e '---------------------------------------------------------'
echo -e "---------------------------------------------------------
\t\t\t$(date)\nGETREPEATEDANDSOON\nRepeated packages are:" >> "$LogFile"
[ $UID -eq 0 ] && echo -e "${Green}Finding and removing files.${NC}"
[ $UID -ne 0 ] && echo -e "${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
الكلمات الدلالية (Tags): لا يوجد
اترك تعليق: