LINUX.ORG.RU

Можно ли приостановить сборку одного пакета на каком то моменте? (gentoo)

 ,


0

1

Привет, ЛОР! Сейчас собираю большие пакеты в gentoo и всплыл такой вопрос: а можно ли приостановить сборку пакета а потом продолжить сборку через какое то время? Вот например сейчас я собираю llvm к компу не подхожу а потом мне надо поработать на компе и он тормозит из-за того что компиляются пакеты. (хоть я и поставил make -j2 в make.conf)

Ctr+C

потом

ebuild путь_к_ебилду merge

продолжит сборку пакета с того же места

потом снова emerge перезапускаешь и собираешь остальное

Harald ★★★★★
()
Ответ на: комментарий от Harald

че так просто? а я уже думал что если crtl+c то все заново потом без возможности восстановления

Dumppper001
() автор топика
Ответ на: комментарий от AbbaT

и че? и у меня потом все заново конфигурится и заново ставится

Dumppper001
() автор топика
Ответ на: комментарий от Harald

Там же есть опция вроде emerge --resume которая продолжает установку после Ctrl+C.

Еще можно использовать Ctrl+Z, а потом вернуться в процесс с помощью fg

snake266 ★★
()
Ответ на: комментарий от Dumppper001

эта штука будет увеличивать время компиляции, будет жрать место под cache, и я не уверен что она сохраняет частичный вариант сборки, но ты можешь проверить.

Silerus ★★★★
()
Ответ на: комментарий от Dumppper001

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

Harald ★★★★★
()

тормозит из-за того что компиляются пакеты. (хоть я и поставил make -j2 в make.conf)

добавь туда PORTAGE_NICENESS=19

NightSpamer
()

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

nanosecond
()
Ответ на: комментарий от Silerus

эта штука будет увеличивать время компиляции

Да, не на много, но да.

будет жрать место под cache

С дефолтными настройками 5гигов ЕМНИП, не очень страшно.

и я не уверен что она сохраняет частичный вариант сборки

Сохраняет.

Ещё кешируются результаты автотестов, так что сборка кучи мелких пакетов в которых автотесты занимают больше времени чем сама компиляция слегка быстрее происходит.

Но в целом включение ccache глобально действительно ничего существенно не улучшит при дефолтных размерах кэша, а вот замедлить процесс может. Разумным шагом является включать ccache при отладке своего ebuildа, существенно экономит время при многократной пересборке одного и того же.

# ccache -s
cache directory                     /var/calculate/ccache
primary config                      /var/calculate/ccache/ccache.conf
secondary config (readonly)         /etc/ccache.conf
stats updated                       Thu Jul 29 23:45:21 2021
stats zeroed                        Mon Jun 21 10:41:55 2021
cache hit (direct)                 10857
cache hit (preprocessed)           15877
cache miss                        144338
cache hit rate                     15.63 %
called for link                    26113
called for preprocessing           14201
multiple source files                 10
compiler produced stdout               3
compiler produced empty output        54
compile failed                      2969
preprocessor error                  1971
can't use precompiled header           1
bad compiler arguments              1022
unsupported source language            8
autoconf compile/link              12687
unsupported compiler option          217
unsupported code directive            11
output to stdout                      15
no input file                       3101
cleanups performed                    75
files in cache                   1147963
cache size                          18.3 GB
max cache size                      20.0 GB
Jameson ★★★★★
()
Последнее исправление: Jameson (всего исправлений: 1)

Почему никто не посоветовал жать Ctrl+Z, а для возобновления - fg? Всегда так делаю.

Gentooshnik ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.