For the complete documentation index, see llms.txt. This page is also available as Markdown.

17.6.管理 jail

jail 创建完成后,可执行许多操作,如启动、重启或删除 jail、在其中安装软件等。本节将介绍可从主机对 jail 执行的不同操作。

17.6.1. 列出正在运行的 jail

要列出主机系统上正在运行的 jail,可使用 jls(8) 命令:

# jls

输出应该类似于以下内容:

   JID  IP Address      Hostname                      Path
     1  192.168.250.70  classic                       /usr/local/jails/containers/classic

jls(8) 支持参数 --libxo,能通过 libxo(3) 库以其他格式显示输出,例如 JSONHTML 等。

例如,执行以下命令以获取 JSON 输出:

# jls --libxo=json

输出应该类似于如下内容:

{"__version": "2", "jail-information": {"jail": [{"jid":1,"ipv4":"192.168.250.70","hostname":"classic","path":"/usr/local/jails/containers/classic"}]}}

17.6.2. 启动、重启和停止 jail

service(8) 用于在主机上启动、重启或停止 jail。

例如,要启动 jail,运行以下命令:

# service jail start jailname

start 参数更改为 restartstop 可对 jail 执行其他操作。

17.6.3. 销毁 jail

销毁 jail 不是像使用 service(8) 停止 jail 并删除 jail 目录和 /etc/jail.conf 条目那么简单。

FreeBSD 非常重视系统安全。因此,某些文件即使是 root 用户也不能删除。这种功能称为文件标志(File Flags)。

第一步是停止所需的 jail,执行以下命令:

第二步是使用 chflags(1) 移除这些标志,执行以下命令,其中 classic 是要删除的 jail 名称:

第三步是删除包含 jail 的目录:

最后,需要删除 /etc/jail.confjail.conf.d 中的 jail 条目。

17.6.4. 在 jail 中处理软件包

pkg(8) 工具支持 -j 参数,用于处理安装在 jail 中的软件包。

例如,要在 jail 中安装 www/nginx-lite,可从主机执行以下命令:

有关在 FreeBSD 中使用软件包的更多信息,请参见 安装应用程序:软件包和 Ports

17.6.5. 访问 jail

虽然前面提到最好从主机系统管理 jails,但可使用 jexec(8) 进入 jail。

可从主机系统执行 jexec(8) 命令来进入 jail:

当进入 jail 时,系统将显示在 motd(5) 中配置的消息。

17.6.6. 在 jail 中执行命令

要从主机系统在 jail 中执行命令,可使用 jexec(8)

例如,要停止在 jail 中运行的服务,可执行以下命令:

最后更新于