Компиляция на удалённом компьютере
Знаю про систему distcc. Вроде как распределённая компиляция. Должна как-то экономить время, и компилировать сразу на нескольких компьютерах. Пробовал - особого прироста производительности не дало. Я так понимаю, удалённо может проходить только собственно компиляция. А линковка, конфигурация, выполнение скриптов, и т.п... - всё на клиентской машине.
У меня и задача немного другая... есть нетбук eee pc 901, есть "большой брат", более мощный компьютер с amd phenom x2.
Хотелось бы как-нибудь сделать так, чтобы компиляция целиком и полностью по всем этапам (от скачки distfiles, распаковки и до компиляции собственно) выполнялась на большом компе, а на маленький только передавался скомпиленный бинарный пакет, который бы распаковывался на той системе уже.
Раньше делал как - собирал на мощном компе систему в chroot, делал там quickpkg-пакеты, а уже из переносил вручную в /usr/portage/packages, и устанавливал с опцией emerge -k. Но это немного геморно... и образ системы некоторое место занимает, хотелось бы без этого.
Возможно ли как-то вообще осуществить задуманное или вряд ли?
- Для комментирования войдите или зарегистрируйтесь
а что мешает систему,
а что мешает систему, собранную в chroot'e просто перенести на реальное железо. без приготовления пакетов?
.
при установке таких пакетов мало ключика -k. очень часто требуется еще --with-bdeps=y
А по процессу лучше еще глубже пошалить
У ББ $PORTAGE_TMPDIR смонтировать на tmpfs.
Система чуть быстрее компилируется (при большом количестве пакетов), если chroot находится на смонтированном loop.
Переписывать вручную пакеты - это лишнее. Проще воспользоваться nfs для монтирования $PKGDIR, который стоит переопределить в разные места с ББ. nfs будет полезен и для единых /etc/make.conf, /etc/portage, /usr/portage.
Но самым мощным будет зацепить c ББ по nfs корень системы младшего брата. Домонтировать туда свои $PORTAGE_TMPDIR, PORTDIR и т.п. Сделать туда chroot и собрать/установить пакеты прямо там.
Последним рецептом пользовался давно, сработает ли сейчас - не знаю.
Работает, я так постоянно
Работает, я так постоянно делаю на своем HTPC. Надо только не забывать замонтировать всякие /proc, /dev и т. п. У меня это примерно так выглядит:
Если на подопытном система 32-битная, а на ББ 64-битная, то не забыть сказать linux32. Ну и никаких -march=native в make.conf (если, конечно, процессоры на обоих не одной архитектуры).
Ignorance has always been something I excel in…
Flaming написал(а): Знаю про
Я на работе настраивал, 5 компов = 10 процессорных потоков, прирост был колосальный :)
Исходники компилировались быстрее, чем распаковывались из архивов :-D (кроме openoffice)
Как вы запускали distcc? Покажите конфиги
Working on Gentoo Linux for Asus P535 and Qtopia :-)