Среда разработки песочницы

Что является стандартным способом изолировать среду разработки от системы при разработке в Linux? Например, когда я работаю над приложениями или пакетами, которые система уже использует. Я знаю, могу ли я использовать виртуальную машину. Могут ли также использоваться контейнеры Linux? Как выполнялась эта изоляция до виртуализации и контейнеров? Был ли «chroot» инструментом для этого? Я занимаюсь разработкой на C и C ++.

1

Решение

Red Hat делает доступными новые версии GCC (например, 5.2) через Набор инструментов разработчика (DTS). Эти новые версии GCC работают вдоль системной цепочки инструментов, так что вы не испортите все, как установлено в другой части файловой системы. Этого может быть достаточно для того, что вы хотите сделать, но если вы также хотите изолировать контейнер, есть также Docker образ версии DTS который можно использовать с помощью комплекта разработки контейнера Red Hat (CDK).

1

Другие решения

Там нет реального общего стандарта, но есть более или менее стандартные подходы в зависимости от технологического стека. Например, virtualenv вездесущ в Python. У узла есть как минимум два популярных варианта.

Многие люди используют виртуальные машины, особенно в сочетании с такими инструментами, как vagrant (или docker и docker-compose для более легкого решения).

Насколько я понимаю, c и c ++ довольно легки с точки зрения необходимых им инструментов. Увидеть Есть ли подобный virtualenv инструмент для c ++?. Но если вы включите зависимости уровня ОС, такие как драйверы БД и т. Д., Вам, вероятно, понадобится что-то, чтобы справиться с разными средами для разных проектов.

Посмотрите на vagrant вместе с некоторыми технологиями виртуальных машин или docker плюс docker-compose.

1

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

бродяга Это еще один полезный инструмент, который помогает управлять средами сборки, но он наиболее полезен, если вы работаете с виртуальными машинами для нескольких платформ. Если вы планируете использовать только контейнеры Linux, вам, вероятно, не нужен Vagrant.

0
По вопросам рекламы [email protected]