Реконфигурирование существующих jail
После создания jail его параметры можно изменить с помощью команд jconfig, jget и jset. jconfig предоставляет интерактивный TUI-конфигуратор (jsetup-tui), а jget/jset позволяют управлять параметрами из командной строки.
Встроенная справка и примеры доступны для каждой команды:
cbsd jconfig --help
cbsd jget --help
cbsd jset --help
jconfig — интерактивный конфигуратор
Синтаксис
cbsd jconfig [jname=<jailname>]
Режимы работы
Без аргументов — интерактивный селектор jail:
cbsd jconfig
Откроет список всех существующих jail для выбора. После выбора запустится TUI-конфигуратор jsetup-tui с текущими параметрами выбранного jail.
С указанием jail — прямой запуск конфигуратора:
cbsd jconfig jname=myjail
Сразу откроет TUI-конфигуратор для указанного jail.
Что можно изменить через jconfig
jsetup-tui предоставляет интерактивные формы для изменения тех же параметров, что и при создании jail:
- Сетевые настройки (
ip4_addr,interface,vnet,ci_*) - Разрешения (
allow_*) - Mount-параметры (
mount_*) - Lifecycle-скрипты (
exec_*) - Системные параметры (
persist,enforce_statfs,devfs_rulesetи др.) - Пакетные списки, cloud-init, переменные окружения
- Базовую систему и параметры клонов
После сохранения изменений конфигурация применяется автоматически.
jget — чтение параметров jail
Синтаксис
cbsd jget jname=<jailname> [param=<name>]
Режимы работы
Все параметры:
cbsd jget jname=myjail
Вернёт полную текущую конфигурацию jail myjail.
Конкретный параметр:
cbsd jget jname=myjail param=vnet
Вернёт значение только указанного параметра.
Массовое получение:
cbsd jget jname='prod-*' param=status
Вернёт статус всех jail, чьё имя начинается с prod-.
jset — установка параметров jail
Синтаксис
cbsd jset jname=<jailname> key=value [key=value ...]
Примеры
Изменить один параметр:
cbsd jset jname=myjail astart=0
Отключает автостарт для myjail.
Изменить несколько параметров:
cbsd jset jname=myjail ip4_addr="10.0.0.50" interface="em1"
Включить VNET:
cbsd jset jname=myjail vnet=1 ci_ip4_addr="10.0.1.5" ci_gw4="10.0.1.254"
Массовая установка:
cbsd jset jname='test*' astart=0
Отключит автостарт для всех jail, начинающихся с test.
Массовая установка через список имён:
cbsd jset web1 web2 web3 devfs_ruleset=5
Практические сценарии
Быстрая диагностика
Посмотреть, какие jail имеют автостарт:
cbsd jget jname='*' param=astart
Проверить IP-адреса всех VNET-jail:
cbsd jget jname='*' param=ip4_addr
Подготовка к миграции
Зафиксировать полную конфигурацию jail перед переносом:
cbsd jget jname=legacy > legacy-config.txt
Массовое отключение автостарта на обслуживание
cbsd jset jname='*' astart=0
После обслуживания вернуть:
cbsd jset jname='*' astart=1
Исправление сетевого интерфейса
Если интерфейс хоста переименовался (например, em0 → igb0):
cbsd jset jname='*' interface="igb0"
Интерактивная настройка через jconfig
Когда нужно изменить множество параметров одного jail, удобно использовать TUI:
cbsd jconfig jname=myjail
Это откроет jsetup-tui с группированными секциями параметров, валидацией и возможностью отмены изменений.