Руководство FreeBSD


Компиляция базовых компонентов системы - часть 2


Как указывают на это названия, buildworld строит полностью новое дерево в каталоге /usr/obj, а installworld устанавливает это дерево на используемой машине.

Это весьма полезно по двум причинам. Во-первых, это позволяет вам безопасно строить систему, зная, что компоненты вашей рабочей системы затронуты не будут. Построение ``самодостаточно''. По этой причине вы можете спокойно запустить buildworld на машине, работающей в многопользовательском режиме без опаски получить какие-либо проблемы. Но всё же рекомендуется запускать цель installworld в однопользовательском режиме.

Во-вторых, это позволяет вам использовать монтирование по NFS для обновления многих машин в сети. Если у вас есть три машины, A, B и C, которые вы хотите обновить, запустите make buildworld и make installworld на машине A. Хосты B и C должны будут затем смонтировать по NFS каталоги /usr/src и /usr/obj с машины A, и вы сможете запустить make installworld

для установки результатов построения на машинах B и C.

Хотя цель world всё ещё имеется в наличии, вам настоятельно рекомендуется не пользоваться ею.

Выполните

# make buildworld

В настоящее время имеется возможность задавать команде make

параметр -j, который приводит к запуску нескольких одновременно работающих процессов. Наиболее полезно использовать это на многопроцессорных машинах. Однако, так как процесс компиляции больше всего требователен к подсистеме ввода/вывода, а не к производительности процессора, это можно использовать и на машинах с одним процессором.

На типичной машине с одним CPU вы должны запускать:

# make -j4 buildworld

будет иметь до 4 одновременно работающих процессов. Эмпирические замеры, опубликованные как-то в списке рассылки, показывают, что в среднем это дает наибольшее увеличение производительности.

Если у вас многопроцессорная машина и вы используете ядро с настройками для SMP, попробуйте использовать значения между 6 и 10 и посмотрите, как это отразится на скорости работы.

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




Начало  Назад  Вперед



Книжный магазин