如何使用python -apt获取所有ubuntu版本的软件

时间:2017-08-10 16:42:37

标签: python ubuntu apt deb

我有代码(将在下面发布)从apt-cache中提取所有包,然后提取该包的每个版本。出于公司原因,我们希望构建大量数据。从下面的代码看来,我只得到与我们的集群正在运行的当前ubuntu os版本相关的软件包。我想为旧版本和更新版本的ubuntu迭代这个过程。这可能与python-apt模块有关吗?如果是这样,我应该看什么方向/指令?

def main():
    print "Script Start"
    cache = apt.Cache()

    pkg32 = []  
    pkg64 = []
    pkgUnknown = []

    for item in cache:
      tempArch = item.architecture()
      if tempArch == 'amd64':
          for ver in item.versions:
              pkg64.append({'builder': 'ubuntuPackage', 'project': 'ubuntuPackage', })
              repoName = 'debpkg:' + item.shortname + '=' + ver.version
              pkg64[-1].update({'repourl': repoName})
              pkg64[-1].update({'buildID': 'Debian ' + repoName})
      elif tempArch == 'i386':
          for ver in item.versions:
              pkg32.append({'builder': 'ubuntuPackage', 'project': 'ubuntuPackage', })
              repoName = 'debpkg:' + item.shortname + '=' + ver.version
              pkg32[-1].update({'repourl': repoName})
              pkg32[-1].update({'buildID': 'Debian ' + repoName})
      else:
          for ver in item.versions:
              pkgUnknown.append({'builder': 'ubuntuPackage', 'project': 'ubuntuPackage', })
              repoName = 'debpkg:' + item.shortname + '=' + ver.version
              pkgUnknown[-1].update({'repourl': repoName})
              pkgUnknown[-1].update({'buildID': 'Debian ' + repoName})




    saveJson(pkg64, 'debian64List.json')
    saveJson(pkg32, 'debian32List.json')
    saveJson(pkgUnknown, 'debianUnknownList.json')

0 个答案:

没有答案