Безопасно ли устанавливать пакеты с несколькими запущенными одновременно экземплярами emerge?

Да, черезmemfd_createиfexecve:

int fd = memfd_create("foo", MFD_CLOEXEC);
// write your image to fd however you want
fexecve(fd, argv, envp);

0
06.06.2021, 18:59
2 ответа

Нет и да, emergeкак и pacmanне рекомендует использовать несколько экземпляров. Блокировка создается на этапе проверки зависимостей (, затем граф зависимостей помещается в ОЗУ )и на этапе установки, но не на этапе компиляции, как отметил @Eduardo, это позволяет выполнять несколько запусковemerge(и одиночный пишет в vdb, но один и тот же пакет может быть скомпилирован дважды, что некоторые считают контрпродуктивным. Большинство пользователей предпочитают использовать опцию --keep-goingв случае поломки.

Чтобы ускорить emerge --newuse --update, рассмотрите возможность использования опции --jobs. См. Параллельные сборки с Gentoo's Emerge и взгляните наman emerge

3
28.07.2021, 11:26

Из вопроса Можно ли одновременно запускать несколько команд emerge? на форуме Gentoo.

Yes, I have run emerge in different VT's simultaneously. Caution: If the emerge's want to install the same thing or the same dependencies, each will calculate what needs to be done only once depending on the predicate of your command. Example if you are building @world in one VT then start @system in the other, you may well be emerging the same rging twice, say if calculate gcc needs updating in the first and the second, both will emerge gcc independently. Portage only checks once for each invocation.

Основная проблема заключается в том, что даже если все работает, вы можете тратить ресурсы впустую, многократно перестраивая одно и то же, что замедляет работу всего остального.

3
28.07.2021, 11:26

Теги

Похожие вопросы