[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Удаление build-dependencies



В сообщении от [Пн 2015-02-16 14:18 +0300]
Victor Wagner <vitus@wagner.pp.ru> пишет:
> Идиотизм какой-то внутри системы, предназначенной только для сборки
> делать еще один контейнер для сборки.
> 
> Даже pbuilder так не делает. Он сохраняет образ контейнера с
> установленными build-essential, и при сборке пакета только его
> распаковывает, а не бутстрапит заново.
> 
> Но в данном случае оверхед от pbuilder недопустимо велик. Система
> маленькая и медленная. Нельзя столько времени тратить на подготовку
> сборочной среды для каждого пакета. А собирать все-таки лучше каждый
> пакет в чистой системе, поскольку иначе шибко умные configure могут
> что-нибудь не то подцепить, и при сборке на нормальных, быстрых
> архитектурах, где используется pbuilder этой засады не отследишь.

Нет, не идиотизм. Возможно термин «контейнер» ввел вас в заблуждение.
Используя systemd-nspawn вместо chroot вы не делаете контейнер, а
используете механизм ядра cgroups [1] для изоляции ресурсов. 

То есть, вы ОДИН РАЗ создаете систему сборки для каждой архитектуры с
помощью debootstrap, тем же самым способом как вы это делаете для
pbuilder (см '1. Creating a base chroot image tar-ball' [2]). Далее,
таром или еще каким-нибудь способом клонируете её исходя из ваших
соображений (по пакетом, по системам, по архитектурам). Затем в каждый
каталог делаете 'systemd-nspawn -D ...' и можете ОДНОВРЕМЕННО собирать
пакеты, компилировать и всё что вы хотите. Не надо беспокоится о
безопасности, /proc и /sys и так далее.

Вот это и есть контейнеры — используем штатные механизмы ядра без всяких
оверхедов на виртуализацию, такой и должна быть сборочная система. В
дебиане это появилось недавно и ещё тестируется, тем не менее разработка
очень перспективная, не спешите с выводами, попробуйте.

[1] https://ru.wikipedia.org/wiki/Cgroups
[2] http://pbuilder.alioth.debian.org/

-- 
С уважением, Коротаев Руслан
Профиль: http://plus.google.com/105183056726716330520


Reply to: