FreeBSD-11 EZJail安装失败,因为tar无法chdir

时间:2018-07-12 15:25:02

标签: freebsd jail

在FreeBSD-11.1主机上,我使用以下命令删除了ezjail的现有安装:

pkg remove ezjail
rm -rf /usr/local/etc/ezjail.conf
rm -rf /usr/local/etc/ezjail
chflags -R noschg /usr/jails
rm -rf /usr/jails
zfs destroy -r zroot/ezjail

我还检查了/etc/fstab.*,但没有找到。

然后我使用 pkg 重新安装 ezjail 并重新创建 zfs ezjail 分区:

zfs create -p zroot/ezjail

我还修改了/usr/local/etc/ezjail.conf以使用 zfs

ezjail_use_zfs="YES"
ezjail_use_zfs_for_jails="YES"
ezjail_jailzfs="zroot/ezjail"

但是,当我运行ezjail-admin install时,出现此错误:

ezjail-admin install
base.txz                                      100% of   99 MB  621 kBps 02m45s
tar: could not chdir to '/usr/jails/fulljail'

ll /usr/jails
total 0

ll /usr/local/etc/ezjail
total 0

zfs list | grep jail
zroot/ezjail              176K   883G    88K  /zroot/ezjail
zroot/ezjail/fulljail      88K   883G    88K  /zroot/ezjail/fulljail

发生了什么事,我该如何解决?

2 个答案:

答案 0 :(得分:0)

似乎您错过了泳池的mountpoint,请尝试以下操作:

# zfs create -o mountpoint=/usr/jails zpool/jails

查看此quick setup指南作为参考。

答案 1 :(得分:0)

之所以出现此问题,是因为在该系统上初始安装的 ezjail 没有使用 zfs 。因此,在/usr/jails/fulljail数据集上创建了目录/usr/jails/newjailzroot/usr。当我把 ezjail 换成 zfs 时,我没有意识到这已经发生了。在挂载点zpool/usr下,zroot/ezjail中这两个目录的存在与/usr/jails中相同的目录存在冲突。

只有在我销毁zroot/ezjail以准备干净安装 ezjail 之后,才发现这种情况。我的解决方案是在/usr/jail中启用zfs的情况下重新安装 ezjail 之前,还要从zroot/usr中删除这些目录和整个/usr/local/etc/ezjail.conf目录树。

为减轻所有这些麻烦,我首先制作了一个监狱档案,并在重新安装 ezjail 后从档案中重新创建了档案。