LINUX.ORG.RU

История изменений

Исправление Moisha_Liberman, (текущая версия) :

от минут сорока, если почти не править make.conf и флаги. И до пары часов, если переписали сильно make.conf сделали emerge emerge app-portage/cpuid2cpuflags; echo «/ $(cpuid2cpuflags)» > /etc/portage/package.use/00cpu-flags

Последние две команды ставят пакет cpuid2cpuflags и применяют те флаги процессора, которые у Вас на Вашем проц есть, глобально. Это не означает что, например, если у Вас там есть sse4_2, то он всенепременно будет применён ко всем пакетам. Это означает что если этот флаг будет нужен какому-либо пакету, то он будет использован. Этот подход работает гарантированно на x86_64 (пофиг, Intel и AMD) и на ARM (на Raspberry Pi 2,3,4 работает, проверял лично). На остальных архитектурах типа MIPS* или ещё чего, нет, не работает.

И да. На 16Gb, я бы производил сборку в RAM. Даже с SSD. Вот Вам скриптец, он достаточно очевиден:

#!/bin/bash
MEMSIZE=90%
mounted=false

mounttmpfs() {
	mount -t tmpfs tmpfs -o size=$MEMSIZE /var/tmp/portage
	mounted="true"
}

emerging() {
	echo "Emerging ${*}"
	emerge ${*}
}

unmount() {
	echo "Unmounting /var/tmp/portage"
	umount -f /var/tmp/portage
}

echo "Mounting $MEMSIZE of memory to /var/tmp/portage"
if [ -z "$(mount | grep /var/tmp/portage)" ]
	then
		mounttmpfs
	else
	echo "WARNING! /var/tmp/portage already mounted"
	exit 0
fi

emerging ${*}

if [ -n "$mounted" ]
	then
		unmount
fi

MEMSIZE по дефолту выкусывает 50% от существующей RAM, можно указать в абсолютных, можно как у меня, в относительных значениях.

Куда-нибудь сохраните как скрипт в путях, пользуйтесь невозбранно.

Удачной установки. =)))

Исходная версия Moisha_Liberman, :

Если не сильно извращаться, то

от минут сорока, если почти не править make.conf и флаги. И до пары часов, если переписали сильно make.conf сделали emerge emerge app-portage/cpuid2cpuflags; echo «/ $(cpuid2cpuflags)» > /etc/portage/package.use/00cpu-flags

Последние две команды ставят пакет cpuid2cpuflags и применяют те флаги процессора, которые у Вас на Вашем проц есть, глобально. Это не означает что, например, если у Вас там есть sse4_2, то он всенепременно будет применён ко всем пакетам. Это означает что если этот флаг будет нужен какому-либо пакету, то он будет использован.

И да. На 16Gb, я бы производил сборку в RAM. Даже с SSD. Вот Вам скриптец, он достаточно очевиден:

#!/bin/bash
MEMSIZE=90%
mounted=false

mounttmpfs() {
	mount -t tmpfs tmpfs -o size=$MEMSIZE /var/tmp/portage
	mounted="true"
}

emerging() {
	echo "Emerging ${*}"
	emerge ${*}
}

unmount() {
	echo "Unmounting /var/tmp/portage"
	umount -f /var/tmp/portage
}

echo "Mounting $MEMSIZE of memory to /var/tmp/portage"
if [ -z "$(mount | grep /var/tmp/portage)" ]
	then
		mounttmpfs
	else
	echo "WARNING! /var/tmp/portage already mounted"
	exit 0
fi

emerging ${*}

if [ -n "$mounted" ]
	then
		unmount
fi

MEMSIZE по дефолту выкусывает 50% от существующей RAM, можно указать в абсолютных, можно как у меня, в относительных значениях.

Куда-нибудь сохраните как скрипт в путях, пользуйтесь невозбранно.

Удачной установки. =)))