У нас есть пользовательское репозиторий Yum, в которое наши разработчики загружают сборки.
Проблема в том, что через некоторое время он становится загроможденным старыми версиями.
Удаление старых версий вручную довольно раздражает, поэтому, прежде чем мы попытаемся автоматизировать их самостоятельно, мне интересно, есть ли сценарий, который будет очищать старые RPM на основе версии (предпочтительно) или времени загрузки.
Лучше всего было бы, если бы мы могли указать для простого сохранения X последних версий и удаления чего-либо еще. Тогда мы могли бы справиться с этим и просто запустить его ежедневно.
Спасибо за любую идею.
yum
repository
SyRenity
источник
источник
Ответы:
«Простой» способ - просто выгрузить все в каталог и запустить:
... более сложным способом является установка коджи / и т.д. делать ваши сборки и создавать репозитории.
источник
xargs
, потому что в противном случае вы можете получитьrm: missing operand
(если нет старых RPM для удаления). Итак:repomanage --keep=2 --old /path/to/repo | xargs rm -f
rm $(repomanage --keep=2 --old /path/to/repo)
может легко превысить максимальную длину команды.xargs
позаботится об огромном списке аргументов. См .: offbytwo.com/2011/06/26/things-you-didnt-know-about-xargs.htmlПроверьте утилиту «repomanage» из RPM-пакета yum-utils. Это именно то, что вы ищете.
источник
Я бы использовал систему управления версиями или маркировки, которую вы используете для идентификации сборок. Вы также можете идентифицировать пакеты по дате с помощью скрипта, работающего на сервере, на котором размещен репозиторий.
источник
Если загрузка происходит каждый день, почему бы не подумать об удалении старых файлов, которые старше, чем, скажем, определенное количество дней (с точки зрения их времени доступа / изменения)? Найдите и просто удалите их. Если бы ваши разработчики могли загружать сборки таким образом, чтобы при загрузке они указывали имя текущего месяца в имени файла, было бы понятно из имени файла, что файл был загружен в так называемом месяце, и имеет смысл удалить только на основе глядя на имя файла. Для вашей автоматизации сценариев было бы просто рассмотреть возможность удаления этих файлов или оставить те файлы, которые соответствуют предыдущему и текущему месяцам. Просто мысль.
источник