Есть парсер логов emerge, ищите в интернетах. У меня он часто зависал правда, когда сборка закончилась нормально а он всё ещё показывал зависшую картинку. Мне кажется заранее знать сколько займёт сборка нельзя, но cmake например пишет прогресс и степень завершения в выводе.
Если нужны сообщения по окончанию установки, то из смотрят в заранее настроенном elog,так как иногда всякая полезная информация бывает или предупреждения.
Логи всё равно пишутся, просто не выводятся на экран в процессе сборки.
cat /etc/portage/make.conf
# These settings were set by the catalyst build script that automatically
# built this stage.
# Please consult /usr/share/portage/config/make.conf.example for a more
# detailed example.
#ABI_X86="-32 -64 -x32"
#ABI_X86=" -64 -32 -x32 "
#USE=" -abi_x86_64 -abi_x86_32 -abi_x86_x32 "
COMMON_FLAGS="-O2 -pipe -march=i586"
# -abi_x86_64 -abi_x86_32 -abi_x86_x32"
CFLAGS="${COMMON_FLAGS}"
CXXFLAGS="${COMMON_FLAGS}"
FCFLAGS="${COMMON_FLAGS}"
FFLAGS="${COMMON_FLAGS}"
# WARNING: Changing your CHOST is not something that should be done lightly.
# Please consult https://wiki.gentoo.org/wiki/Changing_the_CHOST_variable before changing.
CHOST="i486-pc-linux-gnu"
# NOTE: This stage was built with the bindist Use flag enabled
PORTDIR="/usr/portage"
DISTDIR="/usr/portage/distfiles"
PKGDIR="/usr/portage/packages"
# This sets the language of build output to English.
# Please keep this setting intact when reporting bugs.
LC_MESSAGES=C
MAKEOPTS="-j20"
FEATURES="ccache"
CCACHE_DIR="/var/tmp/ccache/"
CCACHE_SIZE="20G"
Наверно, я что-нибудь делаю нетак, однако при "-j 10" грузило не полностью.
Note: When MAKEOPTS="-jN" is used with EMERGE_DEFAULT_OPTS="--jobs K --load-average X.Y" the number of possible tasks created would be up to N*K. Therefore, both variables need to be set with each other in mind as they create up to K jobs each with up to N tasks.
Если у тебя количество процессов значительно больше чем количество ядер, то процессор значительное время тратит на переключение между процессами, вместо полезной работы.
Сразу после emerge пакета запусти uptime и посмотри последнюю цифру (15-минутный load average): она должна быть меньше или близкой к количеству ядер. Если значительно выше, у тебя процессор перегружен и используется неоптимально.
$ genlop -c
Currently merging 1 out of 1
* app-office/libreoffice-6.2.5.2
current merge time: 2 minutes and 7 seconds.
ETA: 2 hours, 33 minutes and 31 seconds.
Показать текущую очередь пакетов, которые ещё не собраны, можно с помощью самого emegre и опцией --resume. Можно запускать без прав root. К сожалению, команда будет пересчитывать зависимости, поэтому скорость работы неудовлетворительна.
вообще меняю вручную -march=i486/i586 для всего make.conf
в зависимости от собираемого пакета
например, mono требует i586
пока не научился делать конфиги -march=586 вместо -march=i486 только для некоторых пакетов, чтобы автоматически настройка применялась, хотя можно ,наверно, просто в командной строке emerge указать:
Для меня Gentoo выглядит станком для сборки чего угодно и с максимальным количеством сорцовых пакетов.
GUIX - научная разработка для reproducible конфигов в первую очередь?
можно установить разные версии пакетов без каких-либо особых ограничений, слоты в Gentoo вроде не такие гибкие?
Devuan - это то, что можно использовать уже сейчас легко и непринужденно
Gentoo - это то, что пока еще изучаю и позволит повысить безопасность моих хостов за счет сборки под более безопасные архитектуры типа armv7 и i486, на выделенных под каждую задачу отдельных аппаратных компьютерах.
GUIX - это будущее удобно переносимых конфигов, но пока еще слишком заумно для меня. Кстати в Gentoo возможно использование Ansible со стандартными рецептами?
Еще интересует OpenBSD - в теории супер секурно, но нет времени разобраться, как ее установить с перестроением base из сорцов и чтобы она не отжирала в неизвестность 50 метров на одноплатнике BBB.