最好的方法来清理百胜库?

我们有一个定制的Yum回购,我们的开发人员上传构build。

问题是,一段时间后,它变得与旧版本混杂。

手动删除旧版本是非常烦人的,所以在我们尝试自动自动化之前,我想知道是否有任何脚本可以根据版本(首选)或上传时间来清理旧的RPM。

最好是如果我们可以指定简单保存X最后的版本,并擦除其他任何东西。 然后,我们可以克隆它,让它每天运行。

感谢您的任何想法。

    “简单”的方法是将所有内容转储到目录中,然后运行:

    rm $(repomanage --keep=2 --old /path/to/repo) createrepo /path/to/repo 

    …更复杂的方法是设置曲/等。 做你的构build和创build回购。

    从yum-utils RPM中查看“repomanage”实用程序。 它正是你正在寻找的。

     [root ~]# repomanage --help usage: repomanage: manage a directory of rpm packages. returns lists of newest or oldest packages in a directory for easy piping to xargs or similar programs. repomanage [--old] [--new] path. options: -h, --help show this help message and exit -o, --old print the older packages -n, --new print the newest packages -s, --space space separated output, not newline -k KEEP, --keep=KEEP newest N packages to keep - defaults to 1 -c, --nocheck do not check package payload signatures/digests [root ~]# 

    我将利用您使用的版本控制或标签系统来识别构build。 您还可以使用在托pipe存储库的服务器上运行的脚本按date标识包。

    如果上传是每天都发生的,为什么不考虑删除比特定天数(就访问/修改时间而言)更长的旧文件呢? find并删除它们。 如果您的开发人员可以上传构build版本,以便在上传时将当前月份的名称放入文件名中,那么直接从文件名上传文件在所谓的month'year上传是有意义的,并且删除在查看文件名的基础上。 只要考虑删除这些文件,或者只保留与上个月和当前月份相匹配的文件,就可以使脚本自动化变得容易。 只是一个想法。