#!/bin/sh # # Description: Initialize a new jail # Usage: init # # shellcheck source=./includes LIBDIR="$(dirname $0)" && . "${LIBDIR}/includes" jail_name="${1:?}" if [ -z "${jail_name}" ]; then show_help && exit 1 fi jail_path=$(jail_path "${jail_name}") test -d "${jail_path}" && error "Skip jail \`${jail_name}' : it already exists" # Create config and jails directory mkdir --parents "${CONFDIR}" "${JAILDIR}" btrfs_bin=$(command -v btrfs) if [ -z ${btrfs_bin} ]; then error "btrfs not found. Please install brtfs-progs." fi if is_btrfs "$(dirname "${JAILDIR}")" || is_btrfs "${JAILDIR}"; then ${btrfs_bin} subvolume create "${jail_path}" else mkdir --parents "${jail_path}" fi setup_jail_chroot "${jail_name}" setup_jail_config "${jail_name}" notice "Create jail \`${jail_name}' : OK"