Мы используем репозиторий yum для распространения нашего программного обеспечения в наших производственных экземплярах. К сожалению, createrepo становится узким местом, и у нас есть только 469 пакетов в хранилище.
$ time createrepo /opt/tm-yum-repo
Spawning worker 0 with 469 pkgs
Workers Finished
Gathering worker results
Saving Primary metadata
Saving file lists metadata
Saving other metadata
Generating sqlite DBs
Sqlite DBs complete
real 0m43.188s
user 0m37.798s
sys 0m1.296s
Что я могу сделать, чтобы сделать это быстрее?
Ответы:
--cachedir
Вариант дается dmourati в своем ответе поможет вам, но вы также должны использовать--update
, особенно если вы не заменяете все 469 пакетов сразу.Кроме того, рассмотрите возможность создания отдельного репо для этого пакета, если его развертывание действительно
--update
требует времени и недостаточно помогает.источник
На странице man createrepo вы увидите опцию для кэширования.
Я бы начал там.
Если бы это не привело к ускорению процесса создания репо, я бы посмотрел на SSD или tmpfs .
источник
Вы пытались использовать --workers для многоядерных процессоров? Обычно я использую --workers 4 для создания 4 потоков createrepo
источник
Используйте createrepo_c , C реализация createrepo
источник