Consider this to be the second part of the changes that started in 1.247
We no allow multiple flavours to be installed at once, feed them space separated to the -f option in ezjail-admin create This installs several ezjail.flavour scripts into / of the new jail, enumerating them /ezjail.flavour.0001 through 9999 It also adds a new script to /etc/rc.d/ezjail-config in the new jail which executes /ezjail.flavour.* as it finds them. On an unrelated note ezjail-admin delete and console will now use the onestop and onestart parameters if used with -f, so they even work with ezjail_enable not set.
This commit is contained in:
parent
9d981caa73
commit
bd9c449552
21
ezjail-admin
21
ezjail-admin
@ -128,7 +128,7 @@ detach_images () {
|
|||||||
# Find and execute our rc script
|
# Find and execute our rc script
|
||||||
start_stop_jail_by_script () {
|
start_stop_jail_by_script () {
|
||||||
ezjail_action=$1
|
ezjail_action=$1
|
||||||
[ "${ezjail_action}" = "start" ] && ezjail_success_check="-n" || ezjail_success_check="-z"
|
[ "${ezjail_action}" = "onestart" ] && ezjail_success_check="-n" || ezjail_success_check="-z"
|
||||||
|
|
||||||
# Try to locate and run ezjails rc.d script
|
# Try to locate and run ezjails rc.d script
|
||||||
if [ -x "${ezjail_prefix}/etc/rc.d/ezjail" ]; then
|
if [ -x "${ezjail_prefix}/etc/rc.d/ezjail" ]; then
|
||||||
@ -399,7 +399,7 @@ check_for_zfs_exist () {
|
|||||||
|
|
||||||
#############################
|
#############################
|
||||||
# End of function definitions
|
# End of function definitions
|
||||||
# "
|
#
|
||||||
|
|
||||||
# check for command
|
# check for command
|
||||||
[ $# -gt 0 ] || exerr ${ezjail_usage_ezjailadmin}
|
[ $# -gt 0 ] || exerr ${ezjail_usage_ezjailadmin}
|
||||||
@ -640,7 +640,7 @@ create)
|
|||||||
|
|
||||||
# Final steps for flavour installation
|
# Final steps for flavour installation
|
||||||
if [ -z "${ezjail_exists}" ]; then
|
if [ -z "${ezjail_exists}" ]; then
|
||||||
_installed_flavours=0
|
installed_flavours=0
|
||||||
for ezjail_flavour in ${ezjail_flavours}; do
|
for ezjail_flavour in ${ezjail_flavours}; do
|
||||||
# install files and config to new jail
|
# install files and config to new jail
|
||||||
cd "${ezjail_flavours_dir}/${ezjail_flavour}" && find . | cpio -p -u -v "${ezjail_rootdir}" > /dev/null
|
cd "${ezjail_flavours_dir}/${ezjail_flavour}" && find . | cpio -p -u -v "${ezjail_rootdir}" > /dev/null
|
||||||
@ -652,20 +652,20 @@ create)
|
|||||||
# If a config is found, make it auto run on jails startup
|
# If a config is found, make it auto run on jails startup
|
||||||
if [ -f "${ezjail_rootdir}/ezjail.flavour" ]; then
|
if [ -f "${ezjail_rootdir}/ezjail.flavour" ]; then
|
||||||
chmod 0755 "${ezjail_rootdir}/ezjail.flavour"
|
chmod 0755 "${ezjail_rootdir}/ezjail.flavour"
|
||||||
mv "${ezjail_rootdir}/ezjail.flavour" "${ezjail_rootdir}/ezjail.flavour".`printf %04d ${_installed_flavours}`
|
mv "${ezjail_rootdir}/ezjail.flavour" "${ezjail_rootdir}/ezjail.flavour".`printf %04d $(( installed_flavours+=1 ))`
|
||||||
echo "Note: Shell scripts for flavour ${ezjail_flavour} installed, flavourizing on jails first startup."
|
echo "Note: Shell scripts for flavour ${ezjail_flavour} installed, flavourizing on jails first startup."
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo << "EOF"
|
cat > "${ezjail_rootdir}/etc/rc.d/ezjail-config" <<"EOF"
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
#
|
#
|
||||||
# BEFORE: DAEMON
|
# BEFORE: DAEMON
|
||||||
# PROVIDES: ezjail-config
|
# PROVIDES: ezjail-config
|
||||||
#
|
#
|
||||||
case "$1" in
|
case "$1" in
|
||||||
start)
|
*start)
|
||||||
rm -f "${0}"
|
rm -f "${0}"
|
||||||
for ezjail_flavour in /ezjail.flavour*; do
|
for ezjail_flavour in /ezjail.flavour.*; do
|
||||||
[ -x "${ezjail_flavour}" ] && "${ezjail_flavour}"
|
[ -x "${ezjail_flavour}" ] && "${ezjail_flavour}"
|
||||||
rm -f "${ezjail_flavour}"
|
rm -f "${ezjail_flavour}"
|
||||||
done
|
done
|
||||||
@ -673,9 +673,8 @@ case "$1" in
|
|||||||
*)
|
*)
|
||||||
;;
|
;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
EOF
|
EOF
|
||||||
> "${ezjail_rootdir}/etc/rc.d/ezjail-config"
|
chmod 0755 "${ezjail_rootdir}/etc/rc.d/ezjail-config"
|
||||||
done
|
done
|
||||||
fi
|
fi
|
||||||
|
|
||||||
@ -735,7 +734,7 @@ delete)
|
|||||||
[ "${ezjail_forcestop}" ] || exerr "Error: Jail appears to be still running.\n '${ezjail_admin} stop ${ezjail_name}' it first or use '${ezjail_admin} delete -f ${ezjail_name}' to force stop."
|
[ "${ezjail_forcestop}" ] || exerr "Error: Jail appears to be still running.\n '${ezjail_admin} stop ${ezjail_name}' it first or use '${ezjail_admin} delete -f ${ezjail_name}' to force stop."
|
||||||
|
|
||||||
# This one will also exerr on failure
|
# This one will also exerr on failure
|
||||||
start_stop_jail_by_script stop
|
start_stop_jail_by_script onestop
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "${ezjail_attached}" ]; then
|
if [ "${ezjail_attached}" ]; then
|
||||||
@ -1002,7 +1001,7 @@ console)
|
|||||||
[ "$ezjail_forcestart}" ] || exerr "Error: Jail ${ezjail_name} appears not to be running\n Start it first, or use '${ezjail_admin} console -f ${ezjail_name}' to force start."
|
[ "$ezjail_forcestart}" ] || exerr "Error: Jail ${ezjail_name} appears not to be running\n Start it first, or use '${ezjail_admin} console -f ${ezjail_name}' to force start."
|
||||||
|
|
||||||
# This one will also exerr on failure
|
# This one will also exerr on failure
|
||||||
start_stop_jail_by_script start
|
start_stop_jail_by_script onestart
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# use the jails FIB if there is one
|
# use the jails FIB if there is one
|
||||||
|
Loading…
x
Reference in New Issue
Block a user