在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
发生了什么事,我该如何解决?
答案 0 :(得分:0)
似乎您错过了泳池的mountpoint
,请尝试以下操作:
# zfs create -o mountpoint=/usr/jails zpool/jails
查看此quick setup指南作为参考。
答案 1 :(得分:0)
之所以出现此问题,是因为在该系统上初始安装的 ezjail 没有使用 zfs 。因此,在/usr/jails/fulljail
数据集上创建了目录/usr/jails/newjail
和zroot/usr
。当我把 ezjail 换成 zfs 时,我没有意识到这已经发生了。在挂载点zpool/usr
下,zroot/ezjail
中这两个目录的存在与/usr/jails
中相同的目录存在冲突。
只有在我销毁zroot/ezjail
以准备干净安装 ezjail 之后,才发现这种情况。我的解决方案是在/usr/jail
中启用zfs的情况下重新安装 ezjail 之前,还要从zroot/usr
中删除这些目录和整个/usr/local/etc/ezjail.conf
目录树。
为减轻所有这些麻烦,我首先制作了一个监狱档案,并在重新安装 ezjail 后从档案中重新创建了档案。