2019-01-04 13:51:05 +01:00
|
|
|
#!/bin/sh
|
2019-01-07 14:47:05 +01:00
|
|
|
#
|
2020-10-11 14:51:39 +02:00
|
|
|
# Description: Initialize a new jail
|
2019-01-07 14:47:05 +01:00
|
|
|
# Usage: init <jailname>
|
|
|
|
#
|
2019-01-04 13:51:05 +01:00
|
|
|
|
2020-04-02 13:44:13 +02:00
|
|
|
# shellcheck source=./includes
|
2020-04-02 00:31:57 +02:00
|
|
|
LIBDIR="$(dirname $0)" && . "${LIBDIR}/includes"
|
2019-01-04 13:51:05 +01:00
|
|
|
|
2020-04-02 13:44:13 +02:00
|
|
|
jail_name="${1:?}"
|
2020-04-02 00:30:48 +02:00
|
|
|
if [ -z "${jail_name}" ]; then
|
2020-10-07 20:50:17 +02:00
|
|
|
show_help && exit 1
|
2019-01-07 14:47:05 +01:00
|
|
|
fi
|
2020-04-02 00:30:48 +02:00
|
|
|
jail_path=$(jail_path "${jail_name}")
|
|
|
|
|
2020-04-20 08:29:21 +02:00
|
|
|
test -d "${jail_path}" && error "Skip jail \`${jail_name}' : it already exists"
|
2020-04-02 00:30:48 +02:00
|
|
|
|
|
|
|
# Create config and jails directory
|
|
|
|
mkdir --parents "${CONFDIR}" "${JAILDIR}"
|
|
|
|
|
|
|
|
|
|
|
|
if is_btrfs "$(dirname "${JAILDIR}")" || is_btrfs "${JAILDIR}"; then
|
|
|
|
/bin/btrfs subvolume create "${jail_path}"
|
2019-01-04 13:51:05 +01:00
|
|
|
else
|
2020-04-02 00:30:48 +02:00
|
|
|
mkdir --parents "${jail_path}"
|
2019-01-04 13:51:05 +01:00
|
|
|
fi
|
2020-04-02 00:30:48 +02:00
|
|
|
|
|
|
|
setup_jail_chroot "${jail_name}"
|
|
|
|
setup_jail_config "${jail_name}"
|
|
|
|
|
2020-04-20 08:29:21 +02:00
|
|
|
notice "Create jail \`${jail_name}' : OK"
|