В этой статье я расскажу как можно ускорить процесс сборки мира. Ведь на самом деле не все задумываются об этом, что есть ли возможность отключить сборку некоторых ненужных программ в системе. Дак вот, такая возможность есть, далее я расскажу как ею воспользоваться.
Параметрами сборки всего, что можно скомпилить с помощью команды make в системе, будь это ядро, мир или порты управляют с помощью файла /etc/make.conf. Все возможные параметры я описывать не буду, а опишу всего лишь тот, который мне пригодился. Этот параметр CPUTYPE. Возможные значения:
- Процессоры с архитектурой x86:
- AMD: opteron athlon64 athlon-mp athlon-xp athlon-4 athlon-tbird athlon k8 k6-3 k6-2 k6 k5
- Intel: core2 core nocona pentium4m pentium4 prescott pentium3m pentium3 pentium-m pentium2
- Via: c3 c3-2
- Alpha/AXP: ev67 ev6 pca56 ev56 ev5 ev45 ev4
- AMD64 architecture: opteron, athlon64, nocona, prescott, core2
- Intel ia64 architecture: itanium2, itanium
С помощью него можно сказать компилятору под какой процессор генерировать код. Зная какой процессор используется в системе, компилятор сможет оптимизировать конечный код под конкретную архитектуру процессора, что в общем случае приведет к росту производительности системы и программ. За дополнительной информацией обращайтесь в ман, а также посмотрите пример этого файла в /usr/share/examples/etc/make.conf.
Отключение ненужных программ на этапе компиляции дерева исходных кодов системы осуществляется через файл /etc/src.conf. Здесь я приведу часть параметров, остальные вы можете посмотреть в мане - man src.conf. Итак, параметры:
- WITHOUT_BIND - если установить этот параметр, то все что связано с пакетом bind собираться и устанавливаться не будет
- WITHOUT_BLUETOOTH - все, что связано с подсистемой Bluetooth (модули ядра, библиотеки, программы) собираться и устанавливаться не будет
- WITHOUT_FREEBSD_UPDATE - не компилить тулзу freebsd-update(8)
- WITHOUT_INET6 - не компилить проги и библиотеки, которые работают только с протоколом IPv6. Все остальные программы и библиотеки будут собраны без поддержки протокола IPv6
- WITHOUT_IPFW - не компилить все тулзы, связанные с IPFW
- WITHOUT_IPX - не компилить проги и либы, работающие с протоколом IPX
- WITHOUT_PF - не компилить фаервол PF
- WITHOUT_WIRELESS - не компилить проги, используемые для работы с беспроводными сетями 802.11 (wpa_supplicant(8) и hostapd(8)). Все остальные программы и библиотеки будут собраны без поддержки беспроводных сетей 802.11
- WITHOUT_ZFS - не компилить все, что связано с файловой системой ZFS
В итоге после этих не хитрых настроек процесс компиляции немного ускорится, что сэкономит нам время.
Добавить комментарий