#!/usr/bin/python import os import apt_pkg apt_pkg.init() cache = apt_pkg.GetCache() apt_packages = cache.Packages path = '/var/cache/apt/archives' os.chdir( path ) files = os.listdir(path) packages = {} for file in files: try: package, version, arch = file.split('_') except: pass if not packages.has_key(package): packages[package] = [] packages[package].append(version) rmpackages = {} for package in apt_packages: if not packages.has_key(package.Name): continue for version in packages[package.Name]: try: if package.CurrentVer.VerStr.replace(':','%3a') == version: pass #print "#don't rm %s_%s_*" % (package.Name, version) else: #Put this here so that bugs can be caught print 'rm "%s_%s_*"' % (package.Name, version) except: pass