LINUX.ORG.RU
решено ФорумAdmin

Распределённая компиляция Gentoo

 ,


0

2

Hello, world! Есть школа, в которой стоят довольно старые компьютеры (настолько старые, что *ubuntu при загрузке с USB вываливается в ошибку из-за нехватки оперативной памяти). В связи с возможной проверкой из АДминистрации нужно перейти на свободное программное обеспечение (сейчас стоит пиратские Windows XP, Office 2003 и всем остальным). Так как хлама компьютеров много и у них одинаковая конфигурация, то Gentoo вместе с Distcc реально выглядит привлекательной (на таком железе, думаю прирост производительности действительно будет заметен). Однако, насколько я понял, Distcc позволяет распределять компиляцию между компьютерами только для установки ebuild`а для одного клиента. Отсюда вопрос - как сделать, чтобы условный gcc быстро собрался на десяти абсолютно одинаковых машинах, а потом, один раз собранный, установился для всех них?

Ответ несколько не в тему, но посмотрите calculate linux. Это та же генту, но уже скомпилированная, с бинарным репозиторием, настроенная и с удобными скриптами. В наличии сервер и десктопные варианты с разными ГУИ, всё готово из коробки для разворачивания локалки. Весь функционал генту остаётся на месте, вы ничего не лишаетесь, но многое приобретаете в плане экономии времени. Кстати на стареньких компах с малым объёмом ОЗУ хорошо живёт. Разрабатывается в России, используется на реальном предприятии, сообщество есть. Я уже много лет использую.

А по distcc есть достаточно документации в гентушной wiki, а вот уже с конкретными проблемами можно сюда. Но не возлагайте на него больших надежд, собирается с distcc далеко не всё, линковка тоже происходит локально, чудес он не сотворит.

Кстати, то что вы желаете реализуется монтированием дерева портов portage с сервера по сети. Portage умеет в уже собранные пакеты, собственно этот функционал и используется calculate linux. В случае чистой генту выделите машину для сборки, она может использовать distcc и раздавать по сети шару с бинарными портами. И тогда, если клиенты сконфигурированы одинаково, они обновятся все одновременно уже бинарными пакетами. Но если use флаги отличаются от тех, с которыми пакет собирался на сборочной машине ,он будет пересобран локально, из исходников.

Jameson ★★★★★
()
Последнее исправление: Jameson (всего исправлений: 4)

Так себе идея. Времени потратишь много, а результат не гарантирован.

Так как хлама компьютеров много и у них одинаковая конфигурация, то Gentoo вместе с Distcc реально выглядит привлекательной (на таком железе, думаю прирост производительности действительно будет заметен)

Вряд ли. Скорее всего ты даже не запустишь генточку (и производные то неё тоже) с DE и офисом на таком железе.

vvn_black ★★★★★
()
Последнее исправление: vvn_black (всего исправлений: 2)

Памяти оперативной сколько на них стоит?

Kazun3500
()
Ответ на: комментарий от Jameson

Да, я знаю, что с помощью Distcc много чего не собрать (тот же gcc, к примеру). Однако намного проще выделить одну машину для обновления подобных программ, чтобы на остальных можно было продолжать обучение. Монтирование дерева портов по сети то что мне нужно (жаль, что в gentoo-wiki эта возможность не «висит» на видном месте). Вопрос закрыт. Огромное спасибо!

batoidea
() автор топика

Забей, распределённая компиляция на куче древних компов тебя не спасёт. Тем более, что для сборки нового gcc нужно хотя бы 4 гб оперативки (в 4 потока) и ~ 5-6 Гб места на диске. И сборка некоторых пакетов действительно будет падать на distcc.

grem ★★★★★
()
Последнее исправление: grem (всего исправлений: 1)

Лучше сделай binhost на выделенной машине (возможно, значительно более мощной, чем целевые).

eternal_sorrow ★★★★★
()

У всякого, кто захочет поставить Gentoo в школу, надо отобрать компьютеры. Школьники не нуждаются в изучении компиляции ядра, а Gentoo нужна только её фанатам и только чтобы воображать себя крутыми. Так что старые слабые ПК благодаря фанату станут совершенно бесполезными ПК.

Partisan ★★★★★
()

Последуй совету про calculate linux. А уже дальше можешь экспериментировать с ПО. Раз главное сейчас показать лицензионку - это более оптимально.

anonymous
()
Ответ на: комментарий от anonymous

И да, бери или xfce или mate версию десктопа. Иначе по оперативке могут не пройти

anonymous
()

Отсюда вопрос - как сделать, чтобы условный gcc быстро собрался на десяти абсолютно одинаковых машинах, а потом, один раз собранный, установился для всех них?

Покури сборку пакетов. В частности emerge –buildpkg Только по осторожнее с флагами компилятора, особенно с -march-native

anonymous
()
Ответ на: комментарий от Partisan

Сам себе придумал, что ТС собрался учить школьников обращению с Gentoо, и сам на это ответил.

Princesska ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.