Реконфигурирование существующих 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

Исправление сетевого интерфейса

Если интерфейс хоста переименовался (например, em0igb0):

cbsd jset jname='*' interface="igb0"

Интерактивная настройка через jconfig

Когда нужно изменить множество параметров одного jail, удобно использовать TUI:

cbsd jconfig jname=myjail

Это откроет jsetup-tui с группированными секциями параметров, валидацией и возможностью отмены изменений.

Связанные страницы