سلام عليكم
إلى مستعملي فيدورا ومشتقاتها اقدم إليكم هذا البريمج
وظيفة البرنامج :
حذف حزم rpm القديمة من الكاش
Delete the old rpm packages from the Cache
لماذا أحتاج إلى برنامج كهذا ؟الجماعة الذين لم يفعلوا الكاش اي لا يحتفظون بحزم rpm عند إجراء تحديث النظام لا يحتاجون إليه
وإنما يحتاج إليه الذين فعّلوا cache ، فإنه كلما حدثنا الحزم تراكمت فيه الحديثة والقديمة وهذا يأخذ مساحة أكبر بطول الوقت،وسيكون أكثر من إصدار لحزمة واحدة
هذا البريمج سيحذف الحزم القديمة ويدع الحديثة فقط أي آخر حزمة قمت بالتحديث إليها
البرنامج في المرفقات ، حمل حسب معمارية جهازك
طريقة العمل سهلة بسيطة
بعد فك الضغط اتبع مسار البريمج في التارمينال ثم اكتب
كود PHP:
sudo ./rmoldver
program rmoldver;{$mode objfpc}{$H+}uses {$IFDEF UNIX} {$IFDEF UseCThreads}cthreads, {$ENDIF} {$ENDIF}Classes,unix,SysUtils { you can add units after this };function gauche(substr: string; s: string): string;beginResult := copy(s, 1, pos(substr, s) - 1);end;procedure DeleteOldVersion;varfirstlist, Lastlist: TStringList;i: integer;FileName: string;S: longint;beginfpSystem('find /var/cache/yum -name *.rpm* -exec echo {} \; >> ' +GetUserDir + '/rpms.txt');firstlist := TStringList.Create;Lastlist := TStringList.Create;firstlist.LoadFromFile(GetUserDir + '/rpms.txt');firstlist.Sort;for i := 0 to firstlist.Count - 1 dobeginFileName := gauche('.', firstlist.Strings);if (i + 1) <= (firstlist.Count - 1) thenif FileName = gauche('.', firstlist.Strings[i + 1]) thenLastlist.Add(firstlist.Strings);end;for i := 0 to lastlist.Count - 1 dobegintryDeleteFile(Lastlist.Strings);exceptContinue;end;end;firstlist.Free;Lastlist.Free;DeleteFile(GetUserDir + '/rpms.txt');end;beginif GetEnvironmentVariable('USER') <> 'root' thenbeginwriteln('You must run as root');exit;end;DeleteOldVersion;end.إذا لم يتم التحميل بضغط على الرابط فاضغط يمين ثم اختر "حفظ باسم..."
