Update and rename archlinux-v4.sh to archlinux-v5.sh

This commit is contained in:
tteckster 2023-01-09 14:20:35 -05:00 committed by GitHub
parent 7289a21172
commit 79c4dd0dfe
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 64 additions and 21 deletions

View File

@ -1,4 +1,16 @@
#!/usr/bin/env bash
function header_info {
cat <<"EOF"
___ __ __ _
/ | __________/ /_ v5 / / (_)___ __ ___ __
/ /| | / ___/ ___/ __ \ / / / / __ \/ / / / |/_/
/ ___ |/ / / /__/ / / / / /___/ / / / / /_/ /> <
/_/ |_/_/ \___/_/ /_/ /_____/_/_/ /_/\__,_/_/|_|
EOF
}
clear
header_info
echo -e "Loading..."
APP="Arch Linux"
var_disk="1"
@ -7,7 +19,7 @@ var_ram="512"
var_os="archlinux"
var_version="base"
NSAPP=$(echo ${APP,,} | tr -d ' ')
NEXTID=$(pvesh get /cluster/nextid)
var_install="${NSAPP}-v5-install"
INTEGER='^[0-9]+$'
YW=$(echo "\033[33m")
BL=$(echo "\033[36m")
@ -19,6 +31,7 @@ CL=$(echo "\033[m")
BFR="\\r\\033[K"
HOLD="-"
CM="${GN}${CL}"
CROSS="${RD}${CL}"
set -o errexit
set -o errtrace
set -o nounset
@ -34,31 +47,22 @@ function error_exit() {
echo -e "$flag $msg" 1>&2
exit $EXIT
}
if (whiptail --title "${APP} LXC" --yesno "This will create a New ${APP} LXC. Proceed?" 10 58); then
echo "User selected Yes"
else
clear
echo -e "⚠ User exited script \n"
exit
fi
function header_info {
cat <<"EOF"
___ __ __ _
/ | __________/ /_ v4 / / (_)___ __ ___ __
/ /| | / ___/ ___/ __ \ / / / / __ \/ / / / |/_/
/ ___ |/ / / /__/ / / / / /___/ / / / / /_/ /> <
/_/ |_/_/ \___/_/ /_/ /_____/_/_/ /_/\__,_/_/|_|
EOF
}
function msg_info() {
local msg="$1"
echo -ne " ${HOLD} ${YW}${msg}..."
}
function msg_ok() {
local msg="$1"
echo -e "${BFR} ${CM} ${GN}${msg}${CL}"
}
function msg_error() {
local msg="$1"
echo -e "${BFR} ${CROSS} ${RD}${msg}${CL}"
}
function PVE_CHECK() {
PVE=$(pveversion | grep "pve-manager/7" | wc -l)
if [[ $PVE != 1 ]]; then
@ -68,6 +72,30 @@ function PVE_CHECK() {
exit
fi
}
if command -v pveversion >/dev/null 2>&1; then
if (whiptail --title "${APP} LXC" --yesno "This will create a New ${APP} LXC. Proceed?" 10 58); then
NEXTID=$(pvesh get /cluster/nextid)
else
clear
echo -e "⚠ User exited script \n"
exit
fi
fi
if ! command -v pveversion >/dev/null 2>&1; then
if [[ ! -d /etc/pacman.d ]]; then
msg_error "No ${APP} Installation Found!";
exit
fi
if (whiptail --title "${APP} LXC UPDATE" --yesno "This will update ${APP} LXC. Proceed?" 10 58); then
echo "User selected Update"
else
clear
echo -e "⚠ User exited script \n"
exit
fi
fi
function default_settings() {
echo -e "${DGN}Using Container Type: ${BGN}Unprivileged${CL} ${RD}NO DEVICE PASSTHROUGH${CL}"
CT_TYPE="1"
@ -97,10 +125,11 @@ function default_settings() {
MAC=""
echo -e "${DGN}Using VLAN Tag: ${BGN}Default${CL}"
VLAN=""
echo -e "${DGN}Enable Root SSH Access: ${BGN}No${CL}"
echo -e "${DGN}Enable Root SSH Access: ${BGN}No${CL}"
SSH="no"
echo -e "${DGN}Enable Verbose Mode: ${BGN}No${CL}"
VERB="no"
VERB2="silent"
echo -e "${BL}Creating a ${APP} LXC using the above default settings${CL}"
}
function advanced_settings() {
@ -253,9 +282,11 @@ function advanced_settings() {
if (whiptail --defaultno --title "VERBOSE MODE" --yesno "Enable Verbose Mode?" 10 58); then
echo -e "${DGN}Enable Verbose Mode: ${BGN}Yes${CL}"
VERB="yes"
VERB2=""
else
echo -e "${DGN}Enable Verbose Mode: ${BGN}No${CL}"
VERB="no"
VERB2="silent"
fi
if (whiptail --title "ADVANCED SETTINGS COMPLETE" --yesno "Ready to create ${APP} LXC?" --no-button Do-Over 10 58); then
echo -e "${RD}Creating a ${APP} LXC using the above advanced settings${CL}"
@ -266,7 +297,7 @@ function advanced_settings() {
advanced_settings
fi
}
function start_script() {
function install_script() {
if (whiptail --title "SETTINGS" --yesno "Use Default Settings?" --no-button Advanced 10 58); then
header_info
echo -e "${BL}Using Default Settings${CL}"
@ -277,8 +308,19 @@ function start_script() {
advanced_settings
fi
}
function update_script() {
clear
start_script
header_info
msg_info "Updating ${APP} LXC"
pacman-key --init
pacman-key --populate archlinux
pacman -Sy archlinux-keyring && pacman -Su
msg_ok "Update Successfull"
exit
}
clear
if ! command -v pveversion >/dev/null 2>&1; then update_script; else install_script; fi
if [ "$VERB" == "yes" ]; then set -x; fi
if [ "$CT_TYPE" == "1" ]; then
FEATURES="nesting=1,keyctl=1"
@ -288,6 +330,7 @@ fi
TEMP_DIR=$(mktemp -d)
pushd $TEMP_DIR >/dev/null
export VERBOSE=$VERB
export STD=$VERB2
export SSH_ROOT=${SSH}
export CTID=$CT_ID
export PCT_OSTYPE=$var_os