create-lx-container.sh: Add default values for IPv4 netmask and gateway. Install configure 'figlet' for new LX container.

This commit is contained in:
Christoph 2018-09-14 18:23:13 +02:00
parent 022e99119f
commit 176444566c

View File

@ -162,6 +162,8 @@ DEFAULT_LXC_ROOT_DIR="/var/lib/lxc"
DEFAULT_LXC_DIST="debian"
DEFAULT_MAC_ADDRESS_1="$(echo -n 00 ; dd bs=1 count=5 if=/dev/random 2>/dev/null | hexdump -v -e '/1 ":%02X"')"
DEFAULT_IPV4_NETMASK_1="255.255.255.0"
DEFAULT_IPV6_PREFIX=64
if [[ -f "$conf_file" ]]; then
@ -305,6 +307,8 @@ while ! $(is_valid_ipv4 $IPV4_ADDRESS_1); do
echononl "\033[1mFirst IPv4 Address:\033[m "
read IPV4_ADDRESS_1
done
_octets=( ${IPV4_ADDRESS_1//\./ } )
DEFAULT_IPV4_GATEWAY_1="${_octets[0]}.${_octets[1]}.${_octets[2]}.1"
echo ""
echo -e "\033[32m--\033[m"
@ -312,17 +316,19 @@ echo ""
echo " # Insert IPv4 Address for the gateway."
echo " #"
echo " # Type <return> to accept the default '$DEFAULT_IPV4_GATEWAY_1'."
echo ""
echononl "\033[1mIPv4 (first) Gateway Address:\033[m "
echononl "\033[1mIPv4 (first) Gateway Address [$DEFAULT_IPV4_GATEWAY_1]:\033[m "
read IPV4_GATEWAY_1
while ! $(is_valid_ipv4 $IPV4_GATEWAY_1) ; do
if [[ -z "$(trim $IPV4_GATEWAY_1)" ]]; then
warn "Parameter is needed. Try again"
else
warn "'$IPV4_GATEWAY_1' is not a valid IPv4 Address. Try again.."
fi
echononl "\033[1mIPv4 (first) Gateway Address:\033[m "
if [[ -z "$(trim $IPV4_GATEWAY_1)" ]]; then
IPV4_GATEWAY_1="$DEFAULT_IPV4_GATEWAY_1"
break
else
warn "'$IPV4_GATEWAY_1' is not a valid IPv4 Address. Try again.."
fi
echononl "\033[1mIPv4 (first) Gateway Address [$DEFAULT_IPV4_GATEWAY_1]:\033[m "
read IPV4_GATEWAY_1
done
@ -332,25 +338,25 @@ echo ""
echo " # Insert Netmask for the first IPv4 Address."
echo " #"
echo " # Type <return> to accept the default '$DEFAULT_IPV4_NETMASK_1'."
echo ""
echononl "\033[1mNetmask (first) IPv4 Address:\033[m "
echononl "\033[1mNetmask (first) IPv4 Address [$DEFAULT_IPV4_NETMASK_1]:\033[m "
read IPV4_NETMASK_1
while ! $(is_valid_ipv4 $IPV4_NETMASK_1) ; do
if [[ -z "$(trim $IPV4_NETMASK_1)" ]]; then
warn "Parameter is needed. Try again"
else
warn "'$IPV4_NETMASK_1' is not a valid netmask. Try again.."
fi
echononl "\033[1mNetmask (first) IPv4 Address:\033[m "
if [[ -z "$(trim $IPV4_NETMASK_1)" ]]; then
IPV4_NETMASK_1="$DEFAULT_IPV4_NETMASK_1"
break
else
warn "'$IPV4_NETMASK_1' is not a valid netmask. Try again.."
fi
echononl "\033[1mNetmask (first) IPv4 Address [$DEFAULT_IPV4_NETMASK_1]:\033[m "
read IPV4_NETMASK_1
done
IPV4_PREFIX_1="$(netmask2cidr $IPV4_NETMASK_1)"
IPV6_PREFIX_1=$DEFAULT_IPV6_PREFIX
echo ""
echo -e "\033[32m--\033[m"
echo ""
@ -1256,6 +1262,125 @@ else
fi
# - Install 'figlet' from debian package system
# -
echo ""
_pkg="figlet"
msg="Install '$_pkg' from debian package system .."
if ! $(aptitude search "$_pkg" | grep " $_pkg " | grep -e "^i" > /dev/null 2>&1) ; then
DEBIAN_FRONTEND=noninteractive apt-get -y install $needed_packages_base > /dev/null 2> "$err_msg"
if [[ $? -eq 0 ]] ; then
msg_ok="Debian package '$_pkg' successfully installed."
length_msg_ok=${#msg_ok}
blank_signs=""
if [[ $length_msg -gt $length_msg_ok ]]; then
number_blank_sign=$(expr $length_msg - $length_msg_ok)
index_i=0
while [[ $index_i -lt $number_blank_sign ]] ; do
blank_signs="$blank_signs "
(( index_i++ ))
done
fi
echo -e "\033[1G [ \033[32m\033[1mok\033[m ] ${msg_ok}${blank_signs}"
else
msg_failed="Installation of debiab package '$_pkg' failed!"
length_msg_failed=${#msg_failed}
blank_signs=""
if [[ $length_msg -gt $length_msg_failed ]]; then
number_blank_sign=$(expr $length_msg - $length_msg_failed)
index_i=0
while [[ $index_i -lt $number_blank_sign ]] ; do
blank_signs="$blank_signs "
(( index_i++ ))
done
fi
echo -e "\033[1G [ \033[31m\033[1mfailed\033[m ] ${msg_failed}${blank_signs}"
error "$(cat $err_msg)"
fi
else
echo -e "\033[1G [ \033[30m\033[1mskip\033[m ] $msg"
fi
# - Backup Containers file '/etc/motd'
# -
echo ""
msg="Backup file '${LXC_ROOT_DIR}/${LXC_NAME}/rootfs/etc/motd' .."
echo -en "\033[1G \033[1;30m[ ... ] \033[32m$msg\033[m"
mv "${LXC_ROOT_DIR}/${LXC_NAME}/rootfs/etc/motd" "${LXC_ROOT_DIR}/${LXC_NAME}/rootfs/etc/motd.ORIG" > $err_msg 2>&1
if [[ $? -eq 0 ]] ; then
msg_ok="File '${LXC_ROOT_DIR}/${LXC_NAME}/rootfs/etc/motd.ORIG' saved."
length_msg_ok=${#msg_ok}
blank_signs=""
if [[ $length_msg -gt $length_msg_ok ]]; then
number_blank_sign=$(expr $length_msg - $length_msg_ok)
index_i=0
while [[ $index_i -lt $number_blank_sign ]] ; do
blank_signs="$blank_signs "
(( index_i++ ))
done
fi
echo -e "\033[1G [ \033[32m\033[1mok\033[m ] ${msg_ok}${blank_signs}"
else
msg_failed="Could not backup file '${LXC_ROOT_DIR}/${LXC_NAME}/rootfs/etc/motd'!"
length_msg_failed=${#msg_failed}
blank_signs=""
if [[ $length_msg -gt $length_msg_failed ]]; then
number_blank_sign=$(expr $length_msg - $length_msg_failed)
index_i=0
while [[ $index_i -lt $number_blank_sign ]] ; do
blank_signs="$blank_signs "
(( index_i++ ))
done
fi
echo -e "\033[1G [ \033[31m\033[1mfailed\033[m ] ${msg_failed}${blank_signs}"
error "$(cat $err_msg)"
fi
# - Create new containers file '/etc/motd'
# -
msg="Create a new file '${LXC_ROOT_DIR}/${LXC_NAME}/rootfs/etc/motd' .."
echo -en "\033[1G \033[1;30m[ ... ] \033[32m$msg\033[m"
figlet $HOSTNAME > "${LXC_ROOT_DIR}/${LXC_NAME}/rootfs/etc/motd"
if [[ $? -eq 0 ]] ; then
msg_ok="New file '${LXC_ROOT_DIR}/${LXC_NAME}/rootfs/etc/motd' created."
length_msg_ok=${#msg_ok}
blank_signs=""
if [[ $length_msg -gt $length_msg_ok ]]; then
number_blank_sign=$(expr $length_msg - $length_msg_ok)
index_i=0
while [[ $index_i -lt $number_blank_sign ]] ; do
blank_signs="$blank_signs "
(( index_i++ ))
done
fi
echo -e "\033[1G [ \033[32m\033[1mok\033[m ] ${msg_ok}${blank_signs}"
else
msg_failed="Failed to create file '${LXC_ROOT_DIR}/${LXC_NAME}/rootfs/etc/motd'!"
length_msg_failed=${#msg_failed}
blank_signs=""
if [[ $length_msg -gt $length_msg_failed ]]; then
number_blank_sign=$(expr $length_msg - $length_msg_failed)
index_i=0
while [[ $index_i -lt $number_blank_sign ]] ; do
blank_signs="$blank_signs "
(( index_i++ ))
done
fi
echo -e "\033[1G [ \033[31m\033[1mfailed\033[m ] ${msg_failed}${blank_signs}"
error "$(cat $err_msg)"
fi
# - Backup Containers file '/etc/ssh/sshd_config'
# -
echo ""
@ -1332,7 +1457,7 @@ if [[ -f "${working_dir}/supported-files/sshd_config" ]]; then
error "$(cat $err_msg)"
fi
else
echo -e "\033[1G [ \033[31m\033[1mskipped ] $msg"
echo -e "\033[1G [ \033[30m\033[1mskip\033[m ] $msg"
fi
@ -1412,7 +1537,7 @@ if [[ -f "${working_dir}/supported-files/templates_root/.bashrc" ]]; then
error "$(cat $err_msg)"
fi
else
echo -e "\033[1G [ \033[31m\033[1mskipped ] $msg"
echo -e "\033[1G [ \033[30m\033[1mskip\033[m ] $msg"
fi
@ -1491,7 +1616,7 @@ if [[ -f "${working_dir}/supported-files/templates_root/.profile" ]]; then
error "$(cat $err_msg)"
fi
else
echo -e "\033[1G [ \033[31m\033[1mskipped ] $msg"
echo -e "\033[1G [ \033[30m\033[1mskip\033[m ] $msg"
fi
@ -1533,7 +1658,7 @@ if [[ -f "${working_dir}/supported-files/templates_root/.vimrc" ]]; then
error "$(cat $err_msg)"
fi
else
echo -e "\033[1G [ \033[31m\033[1mskipped ] $msg"
echo -e "\033[1G [ \033[30m\033[1mskip\033[m ] $msg"
fi
@ -1683,7 +1808,7 @@ if [[ -f "${working_dir}/supported-files/templates_root/.ssh/authorized_keys2" ]
error "$(cat $err_msg)"
fi
else
echo -e "\033[1G [ \033[31m\033[1mskipped ] $msg"
echo -e "\033[1G [ \033[30m\033[1mskip\033[m ] $msg"
fi