FreeBSD virtual environment management and repository

Внимание! Данные страницы описывают CBSD версии 12.1.x. Если вы используете более раннюю версию, рекомендуется сначала обновиться.

Использование CBSDfile

Вы можете использовать CBSDFile для создания и удаления окружений CBSD одной командой. Если вы ищите Vagrant для jail или bhyve, возможно вам понравится нативный FreeBSD/CBSD механизм.

Мы не стали изобретать колесо относительно формата CBSDFile и используем привычную для большинства форму записи shell-сценарий: описывайте конфигурацию вашего приложения в функции с именем jail_XXX или bhyve_YYY. Одна функция - одно окружение. Вы можете использовать любые параметры из команд jcreate/jconstruct-tui/jconfig и bcreate/bconstruct-tui/bconfig.

Если вам необходимо выполнить ряд действий при создании окружения, используйте функции postcreate_XXX.

Примеры

Пример для jail. Создайте в каталоге файл requirents.txt - он будет содержать список pip модулей для python, с содержимым:

	requests
	

Создайте CBSDfile с содержимым:

	jail_pyjail1()
	{
		ip4_addr="DHCP"
		host_hostname="${jname}.example.com"
		pkg_bootstrap="1"
		pkglist="www/nginx python37 security/sudo security/ca_root_nss devel/py-pip devel/py-websockets"
	}

	postcreate_pyjail1()
	{
		jscp ${CBSD_PWD}/requirements.txt ${jname}:/tmp/requirements.txt
		jexec jname=${jname} pip install -r /tmp/requirements.txt
		jexec jname=${jname} rm /tmp/requirements.txt
	}
	

Создайте pyjail1:

	cbsd up
	

или:

	cbsd up pyjail1
	

Удалите pyjail1:

	cbsd destory
	

или:

	cbsd destroy pyjail1
	

Еще один пример CBSDfile

Посмотрите демо как это может выглядеть для гибридных окружений с созданием jail и bhyve одновременно: