Ускорение сборки пакетов AUR
Ещё раз об ускорении сборки пакетов из AUR (для тех, кто пропустил).
1. Откройте для себя пакет pacaur. Позволяет почти полностью уйти от порой весьма многочисленных «да/нет» при установке. Кроме того с успехом заменяет pacman. Одним словом два в одном. Англоязычный форум пакета.
Примечание: всегда проверяйте актуальное состояние пакетов AUR helpers, в связи с изменениями после отказа сообщества от поддержки пакета yaourt.
2. Настройте ваш компьютер с помощью пакета ccache. Ускоряет повторную и последующие компиляции пакета. Страница в вики. Дополнительным преимуществом нижеприведенных настроек является возможность использования всех ваших ядер при компиляции.
Два изменения в makepkg.conf. Раскомментировать
Раскомментировать и редактировать
MAKEFLAGS
установив значение потоков в соответствии с вашим процессором. Например, 8 потоков (4 ядра) будут выглядеть вот так
И дополнительная строка в .bashrc (скрытый файл в домашней директории home).
Оригинал на английском (но понять очень легко) здесь.
В Новый год с новыми возможностями!)))
P.S. После занимательного обсуждения почти через полтора года после данной публикации. И благодаря уточнениям форумян @dimonmmk и @SpongeBob оптимальным вариантом признано внесение следующих изменений в /etc/makepkg.conf в две секции
Опции в MAKEFLAGS оптимизируют количество потоков и загрузку системы. Данная в тексте конфига рекомендация корректна для 4-х ядерного процессора и при включенном HT. Каждый пользователь самостоятельно выбирает оптимальный вариант для своего процессора… Подробности для продвинутых юзеров здесь. Если этот выбор вызывает затруднения, то @dimonmmk предлагает следующий выход
Опция в COMPRESSXZ --threads=0 включает все ядра для сжатия.
Дополнительно. Чтобы довести процесс до блеска можно учесть нижеследующее. Изменение PKGEXT='.pkg.tar' вместо PKGEXT='.pkg.tar.xz' — это выигрыш в скорости, но проигрыш в пространстве. SSD у многих пока невелики, а время оно бесконечно. Лучше будет
Не так быстро как просто .tar, но быстрей чем .tar.xz.
И таблица сравнения размера пакетов различными упаковщиками от @dimonmmk.
1. Откройте для себя пакет pacaur. Позволяет почти полностью уйти от порой весьма многочисленных «да/нет» при установке. Кроме того с успехом заменяет pacman. Одним словом два в одном. Англоязычный форум пакета.
yaourt -S pacaur
Примечание: всегда проверяйте актуальное состояние пакетов AUR helpers, в связи с изменениями после отказа сообщества от поддержки пакета yaourt.
2. Настройте ваш компьютер с помощью пакета ccache. Ускоряет повторную и последующие компиляции пакета. Страница в вики. Дополнительным преимуществом нижеприведенных настроек является возможность использования всех ваших ядер при компиляции.
pacaur -S ccache
sudo nano /etc/makepkg.conf
Два изменения в makepkg.conf. Раскомментировать
BUILDENV=(fakeroot !distcc color ccache check !sign)
Раскомментировать и редактировать
MAKEFLAGS
установив значение потоков в соответствии с вашим процессором. Например, 8 потоков (4 ядра) будут выглядеть вот так
MAKEFLAGS="-j8"
И дополнительная строка в .bashrc (скрытый файл в домашней директории home).
export PATH="/usr/lib/ccache/bin/:$PATH"
Оригинал на английском (но понять очень легко) здесь.
В Новый год с новыми возможностями!)))
P.S. После занимательного обсуждения почти через полтора года после данной публикации. И благодаря уточнениям форумян @dimonmmk и @SpongeBob оптимальным вариантом признано внесение следующих изменений в /etc/makepkg.conf в две секции
#########################################################################
# ARCHITECTURE, COMPILE FLAGS
#########################################################################
MAKEFLAGS="-j10 -l5"
...
#########################################################################
# COMPRESSION DEFAULTS
#########################################################################
COMPRESSXZ=(xz -c -z - --threads=0)
Опции в MAKEFLAGS оптимизируют количество потоков и загрузку системы. Данная в тексте конфига рекомендация корректна для 4-х ядерного процессора и при включенном HT. Каждый пользователь самостоятельно выбирает оптимальный вариант для своего процессора… Подробности для продвинутых юзеров здесь. Если этот выбор вызывает затруднения, то @dimonmmk предлагает следующий выход
MAKEFLAGS="-j$(nproc)"
Опция в COMPRESSXZ --threads=0 включает все ядра для сжатия.
Дополнительно. Чтобы довести процесс до блеска можно учесть нижеследующее. Изменение PKGEXT='.pkg.tar' вместо PKGEXT='.pkg.tar.xz' — это выигрыш в скорости, но проигрыш в пространстве. SSD у многих пока невелики, а время оно бесконечно. Лучше будет
PKGEXT='.pkg.tar.lzo'
Не так быстро как просто .tar, но быстрей чем .tar.xz.
И таблица сравнения размера пакетов различными упаковщиками от @dimonmmk.