jail -r & jail -R
dweimer
dweimer at dweimer.net
Fri Feb 14 15:51:23 UTC 2014
I think I may have discovered a bug in the jail management system, if
you look at the man page for jail.
-r Remove the jail specified by jid or name. All jailed processes
are killed, and all children of this jail are also removed.
-R A variation of the -r option that removes an existing jail
with-
out using the configuration file. No removal-related
parameters
for this jail will be used - the jail will simply be
removed.
However I have discovered, even though -r says it can take either the
jail name or jail id, if you use the id it appears to function as if you
used the -R option instead, whereas using the -r option with the name
correctly stops the jail with the configuration parameters from the
jail.conf.
I discovered this trying to figure out why the jails devfs system was
not dismounting, and my exec.poststop script was not running. I
discovered that if I used the name instead of id, I didn't run into this
issue.
Can anyone else verify that this is a bug or invalid information in man
if its not, or do I have something wrong in my configuration, below is a
sample configuration and steps that can be used to reproduce the issue.
Example /etc/jail.conf:
apache {
jid = 1;
host.hostname = apache.mydomainname.com;
ip4.addr = 192.168.1.2;
interface = em0;
path = /jails/apache/10.0-r260787-2014.02.12;
allow.mount.devfs;
mount.devfs;
allow.sysvipc;
exec.start = "/bin/sh /etc/rc";
exec.stop = "/bin/sh /etc/rc.shutdown";
exec.prestart = "/jails/apache/prestart.sh";
exec.poststop = "/jails/apache/poststop.sh";
exec.consolelog = "/jails/apache/console.log";
}
repeatable test scenario:
jail -c apache
all looks good
jail -r apache
all is right, jail devfs is gone, /jails/apache/proststop.sh ran.
jail -c apache
all looks good
jail -r 1
something is wrong
/jails/apache/10.0-r260787-2014.02.12/dev is still mounted
/jails/apache/proststop.sh hasn't run
jail is gone
do manually cleanup
umount /jails/apache/10.0-r260787-2014.02.12/dev
execute /jails/apache/proststop.sh script
jail -c apache
all looks good
jail -R apache
As expected
/jails/apache/10.0-r260787-2014.02.12/dev is still mounted
/jails/apache/proststop.sh hasn't run
jail is gone.
--
Thanks,
Dean E. Weimer
http://www.dweimer.net/
More information about the freebsd-questions
mailing list